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.INfcFCardEmulation;
30 import android.nfc.INfcUnlockHandler;
31 import android.nfc.ITagRemovedCallback;
32 import android.os.Bundle;
33 
34 /**
35  * @hide
36  */
37 interface INfcAdapter
38 {
getNfcTagInterface()39     INfcTag getNfcTagInterface();
getNfcCardEmulationInterface()40     INfcCardEmulation getNfcCardEmulationInterface();
getNfcFCardEmulationInterface()41     INfcFCardEmulation getNfcFCardEmulationInterface();
getNfcAdapterExtrasInterface(in String pkg)42     INfcAdapterExtras getNfcAdapterExtrasInterface(in String pkg);
43 
getState()44     int getState();
disable(boolean saveState)45     boolean disable(boolean saveState);
enable()46     boolean enable();
enableNdefPush()47     boolean enableNdefPush();
disableNdefPush()48     boolean disableNdefPush();
isNdefPushEnabled()49     boolean isNdefPushEnabled();
pausePolling(int timeoutInMs)50     void pausePolling(int timeoutInMs);
resumePolling()51     void resumePolling();
52 
setForegroundDispatch(in PendingIntent intent, in IntentFilter[] filters, in TechListParcel techLists)53     void setForegroundDispatch(in PendingIntent intent,
54             in IntentFilter[] filters, in TechListParcel techLists);
setAppCallback(in IAppCallback callback)55     void setAppCallback(in IAppCallback callback);
invokeBeam()56     oneway void invokeBeam();
invokeBeamInternal(in BeamShareData shareData)57     oneway void invokeBeamInternal(in BeamShareData shareData);
58 
ignore(int nativeHandle, int debounceMs, ITagRemovedCallback callback)59     boolean ignore(int nativeHandle, int debounceMs, ITagRemovedCallback callback);
60 
dispatch(in Tag tag)61     void dispatch(in Tag tag);
62 
setReaderMode(IBinder b, IAppCallback callback, int flags, in Bundle extras)63     void setReaderMode (IBinder b, IAppCallback callback, int flags, in Bundle extras);
setP2pModes(int initatorModes, int targetModes)64     void setP2pModes(int initatorModes, int targetModes);
65 
addNfcUnlockHandler(INfcUnlockHandler unlockHandler, in int[] techList)66     void addNfcUnlockHandler(INfcUnlockHandler unlockHandler, in int[] techList);
removeNfcUnlockHandler(INfcUnlockHandler unlockHandler)67     void removeNfcUnlockHandler(INfcUnlockHandler unlockHandler);
68 
verifyNfcPermission()69     void verifyNfcPermission();
70 }
71