2 * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
17 #ifndef NFC_NFC_INSTANCE_H_
18 #define NFC_NFC_INSTANCE_H_
20 #include "common/extension.h"
21 #include "nfc/nfc_adapter.h"
26 class NFCInstance : public common::ParsedInstance, NFCAdapter::IResponder {
29 virtual ~NFCInstance();
31 void RespondAsync(const char* msg);
34 void NFCManagerGetDefaultAdapter(const picojson::value& args, picojson::object& out);
35 void NFCManagerSetExclusiveMode(const picojson::value& args, picojson::object& out);
36 void NFCAdapterSetPowered(const picojson::value& args, picojson::object& out);
37 void NFCAdapterGetPowered(const picojson::value& args, picojson::object& out);
38 void NFCAdapterCardEmulationModeSetter(const picojson::value& args, picojson::object& out);
39 void NFCAdapterCardEmulationModeGetter(const picojson::value& args, picojson::object& out);
40 void NFCAdapterActiveSecureElementSetter(const picojson::value& args, picojson::object& out);
41 void NFCAdapterActiveSecureElementGetter(const picojson::value& args, picojson::object& out);
42 void NFCAdapterSetTagListener(const picojson::value& args, picojson::object& out);
43 void NFCAdapterPeerIsConnectedGetter(const picojson::value& args, picojson::object& out);
44 void NFCAdapterSetPeerListener(const picojson::value& args, picojson::object& out);
45 void NFCAdapterUnsetTagListener(const picojson::value& args, picojson::object& out);
46 void NFCAdapterUnsetPeerListener(const picojson::value& args, picojson::object& out);
47 void NFCAdapterAddCardEmulationModeChangeListener(const picojson::value& args,
48 picojson::object& out);
49 void NFCAdapterRemoveCardEmulationModeChangeListener(const picojson::value& args,
50 picojson::object& out);
51 void NFCAdapterAddTransactionEventListener(const picojson::value& args, picojson::object& out);
52 void NFCAdapterRemoveTransactionEventListener(const picojson::value& args, picojson::object& out);
53 void NFCAdapterAddActiveSecureElementChangeListener(const picojson::value& args,
54 picojson::object& out);
55 void NFCAdapterRemoveActiveSecureElementChangeListener(const picojson::value& args,
56 picojson::object& out);
57 void NFCAdapterGetCachedMessage(const picojson::value& args, picojson::object& out);
58 void NFCAdapterSetExclusiveModeForTransaction(const picojson::value& args, picojson::object& out);
59 void NFCTagReadNDEF(const picojson::value& args, picojson::object& out);
60 void NFCTagWriteNDEF(const picojson::value& args, picojson::object& out);
61 void NFCTagTransceive(const picojson::value& args, picojson::object& out);
62 void NFCPeerSetReceiveNDEFListener(const picojson::value& args, picojson::object& out);
63 void NFCPeerUnsetReceiveNDEFListener(const picojson::value& args, picojson::object& out);
64 void NFCPeerSendNDEF(const picojson::value& args, picojson::object& out);
66 // Message related methods
67 void NDEFMessageConstructor(const picojson::value& args, picojson::object& out);
68 void NDEFMessageToByte(const picojson::value& args, picojson::object& out);
69 void NDEFRecordConstructor(const picojson::value& args, picojson::object& out);
70 void NDEFRecordTextConstructor(const picojson::value& args, picojson::object& out);
71 void NDEFRecordURIConstructor(const picojson::value& args, picojson::object& out);
72 void NDEFRecordMediaConstructor(const picojson::value& args, picojson::object& out);
74 // NFCTag attributes getters
75 void NFCTagTypeGetter(const picojson::value& args, picojson::object& out);
76 void NFCTagIsSupportedNDEFGetter(const picojson::value& args, picojson::object& out);
77 void NFCTagNDEFSizeGetter(const picojson::value& args, picojson::object& out);
78 void NFCTagPropertiesGetter(const picojson::value& args, picojson::object& out);
79 void NFCTagIsConnectedGetter(const picojson::value& args, picojson::object& out);
81 // HCE related methods
82 void NFCAdapterAddHCEEventListener(const picojson::value& args, picojson::object& out);
83 void NFCAdapterRemoveHCEEventListener(const picojson::value& args, picojson::object& out);
84 void NFCAdapterSendHostAPDUResponse(const picojson::value& args, picojson::object& out);
85 void NFCAdapterIsActivatedHandlerForAID(const picojson::value& args, picojson::object& out);
86 void NFCAdapterIsActivatedHandlerForCategory(const picojson::value& args, picojson::object& out);
87 void NFCAdapterRegisterAID(const picojson::value& args, picojson::object& out);
88 void NFCAdapterUnregisterAID(const picojson::value& args, picojson::object& out);
89 void NFCAdapterGetAIDsForCategory(const picojson::value& args, picojson::object& out);
90 void NFCAdapterSetPreferredApp(const picojson::value& args, picojson::object& out);
91 void NFCAdapterUnsetPreferredApp(const picojson::value& args, picojson::object& out);
95 } // namespace extension
97 #endif // NFC_NFC_INSTANCE_H_