1 /*
2  * Copyright (C) 2010 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package android.nfc;
18 
19 import android.app.PendingIntent;
20 import android.content.IntentFilter;
21 import android.nfc.BeamShareData;
22 import android.nfc.NdefMessage;
23 import android.nfc.Tag;
24 import android.nfc.TechListParcel;
25 import android.nfc.IAppCallback;
26 import android.nfc.INfcAdapterExtras;
27 import android.nfc.INfcTag;
28 import android.nfc.INfcCardEmulation;
29 import android.nfc.INfcUnlockHandler;
30 import android.os.Bundle;
31 
32 /**
33  * @hide
34  */
35 interface INfcAdapter
36 {
getNfcTagInterface()37     INfcTag getNfcTagInterface();
getNfcCardEmulationInterface()38     INfcCardEmulation getNfcCardEmulationInterface();
getNfcAdapterExtrasInterface(in String pkg)39     INfcAdapterExtras getNfcAdapterExtrasInterface(in String pkg);
40 
getState()41     int getState();
disable(boolean saveState)42     boolean disable(boolean saveState);
enable()43     boolean enable();
enableNdefPush()44     boolean enableNdefPush();
disableNdefPush()45     boolean disableNdefPush();
isNdefPushEnabled()46     boolean isNdefPushEnabled();
pausePolling(int timeoutInMs)47     void pausePolling(int timeoutInMs);
resumePolling()48     void resumePolling();
49 
setForegroundDispatch(in PendingIntent intent, in IntentFilter[] filters, in TechListParcel techLists)50     void setForegroundDispatch(in PendingIntent intent,
51             in IntentFilter[] filters, in TechListParcel techLists);
setAppCallback(in IAppCallback callback)52     void setAppCallback(in IAppCallback callback);
invokeBeam()53     oneway void invokeBeam();
invokeBeamInternal(in BeamShareData shareData)54     oneway void invokeBeamInternal(in BeamShareData shareData);
55 
dispatch(in Tag tag)56     void dispatch(in Tag tag);
57 
setReaderMode(IBinder b, IAppCallback callback, int flags, in Bundle extras)58     void setReaderMode (IBinder b, IAppCallback callback, int flags, in Bundle extras);
setP2pModes(int initatorModes, int targetModes)59     void setP2pModes(int initatorModes, int targetModes);
60 
addNfcUnlockHandler(INfcUnlockHandler unlockHandler, in int[] techList)61     void addNfcUnlockHandler(INfcUnlockHandler unlockHandler, in int[] techList);
removeNfcUnlockHandler(INfcUnlockHandler unlockHandler)62     void removeNfcUnlockHandler(INfcUnlockHandler unlockHandler);
63 
verifyNfcPermission()64     void verifyNfcPermission();
65 }
66