• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2022 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 #ifndef NCI_ADAPTATIONS_H
16 #define NCI_ADAPTATIONS_H
17 
18 #include "infc_nci.h"
19 
20 namespace OHOS {
21 namespace NFC {
22 namespace NCI {
23 class NciAdaptations : public INfcNci {
24 public:
25     explicit NciAdaptations();
26     ~NciAdaptations() override;
27     void NfaInit(tHAL_NFC_ENTRY* halEntryTbl) override;
28     tNFA_STATUS NfaEnable(tNFA_DM_CBACK* dmCback, tNFA_CONN_CBACK* connCback) override;
29     tNFA_STATUS NfaDisable(bool graceful) override;
30     tNFA_STATUS NfaEnablePolling(tNFA_TECHNOLOGY_MASK pollMask) override;
31     tNFA_STATUS NfaDisablePolling(void) override;
32     tNFA_STATUS NfaEnableListening(void) override;
33     tNFA_STATUS NfaDisableListening(void) override;
34     tNFA_STATUS NfaStartRfDiscovery(void) override;
35     tNFA_STATUS NfaStopRfDiscovery(void) override;
36     tNFA_STATUS NfaSetRfDiscoveryDuration(uint16_t discoveryPeriodMs) override;
37     tNFA_STATUS NfaSelect(uint8_t rfDiscId, tNFA_NFC_PROTOCOL protocol, tNFA_INTF_TYPE rfInterface) override;
38     tNFA_STATUS NfaDeactivate(bool sleepMode) override;
39     tNFA_STATUS NfaSendRawFrame(uint8_t* rawData, uint16_t dataLen, uint16_t presenceCheckStartDelay) override;
40     tNFA_STATUS NfaRegisterNDefTypeHandler(bool handleWholeMessage,
41                                            tNFA_TNF tnf,
42                                            uint8_t* typeName,
43                                            uint8_t typeNameLen,
44                                            tNFA_NDEF_CBACK* ndefCback) override;
45     tNFA_STATUS NfaRwDetectNdef(void) override;
46     tNFA_STATUS NfaRwReadNdef(void) override;
47     tNFA_STATUS NfaRwWriteNdef(uint8_t* data, uint32_t len) override;
48     tNFA_STATUS NfaRwPresenceCheck(tNFA_RW_PRES_CHK_OPTION option) override;
49     tNFA_STATUS NfaRwFormatTag(void) override;
50     tNFA_STATUS NfaRwSetTagReadOnly(bool hardLock) override;
51     void NdefMsgInit(uint8_t* msg, uint32_t maxSize, uint32_t* curSize) override;
52     tNDEF_STATUS NdefMsgAddRec(uint8_t* msg,
53                                uint32_t maxSize,
54                                uint32_t* curSize,
55                                uint8_t tnf,
56                                uint8_t* type,
57                                uint8_t typeLen,
58                                uint8_t* id,
59                                uint8_t idLen,
60                                uint8_t* payload,
61                                uint32_t payloadLen) override;
62     uint8_t NfcGetNciVersion() override;
63     void NfcAdaptationInitialize() override;
64     void NfcAdaptationFinalize() override;
65     tHAL_NFC_ENTRY* NfcAdaptationGetHalEntryFuncs() override;
66     void NfcAdaptationDownloadFirmware() override;
67     void NfcAdaptationDump(int fd) override;
68     void NfcAdaptationFactoryReset() override;
69     void NfcAdaptationDeviceShutdown() override;
70     tNFA_STATUS NfcHciRegister(char* appName, tNFA_HCI_CBACK* cback, bool sendConnEvts) override;
71     tNFA_STATUS NfcEeGetInfo(uint8_t* numNfcee, tNFA_EE_INFO* info) override;
72     tNFA_STATUS NfcEeRegister(tNFA_EE_CBACK* cback) override;
73     tNFA_STATUS NfcEeDeregister(tNFA_EE_CBACK* cback) override;
74     tNFA_STATUS NfcEeSetDefaultTechRouting(tNFA_HANDLE eeHandle,
75                                            tNFA_TECHNOLOGY_MASK technologiesSwitchOn,
76                                            tNFA_TECHNOLOGY_MASK technologiesSwitchOff,
77                                            tNFA_TECHNOLOGY_MASK technologiesBatteryOff,
78                                            tNFA_TECHNOLOGY_MASK technologiesScreenLock,
79                                            tNFA_TECHNOLOGY_MASK technologiesScreenOff,
80                                            tNFA_TECHNOLOGY_MASK technologiesScreenOffLock) override;
81     tNFA_STATUS NfcEeClearDefaultTechRouting(tNFA_HANDLE eeHandle,
82                                              tNFA_TECHNOLOGY_MASK clearTechnology) override;
83     tNFA_STATUS NfcEeSetDefaultProtoRouting(tNFA_HANDLE eeHandle,
84                                             tNFA_PROTOCOL_MASK protocolsSwitchOn,
85                                             tNFA_PROTOCOL_MASK protocolsSwitchOff,
86                                             tNFA_PROTOCOL_MASK protocolsBatteryOff,
87                                             tNFA_PROTOCOL_MASK technologiesScreenLock,
88                                             tNFA_PROTOCOL_MASK technologiesScreenOff,
89                                             tNFA_PROTOCOL_MASK technologiesScreenOffLock) override;
90     tNFA_STATUS NfcEeClearDefaultProtoRouting(tNFA_HANDLE eeHandle, tNFA_PROTOCOL_MASK clearProtocol) override;
91     tNFA_STATUS NfcEeAddAidRouting(
92         tNFA_HANDLE eeHandle, uint8_t aidLen, uint8_t* aid, tNFA_EE_PWR_STATE powerState, uint8_t aidInfo) override;
93     tNFA_STATUS NfcEeRemoveAidRouting(uint8_t aidLen, uint8_t* aid) override;
94     tNFA_STATUS NfcEeUpdateNow(void) override;
95     tNFA_STATUS NfcEeModeSet(tNFA_HANDLE eeHandle, tNFA_EE_MD mode) override;
96     uint16_t NfcGetAidTableSize() override;
97     tNFA_STATUS NfcCeSetIsoDepListenTech(tNFA_TECHNOLOGY_MASK techMask) override;
98     tNFA_STATUS NfcCeRegisterAidOnDH(uint8_t aid[NFC_MAX_AID_LEN],
99                                      uint8_t aidLen,
100                                      tNFA_CONN_CBACK* connCback) override;
101     tNFA_STATUS NfcSetPowerSubStateForScreenState(uint8_t screenState) override;
102     tNFA_STATUS NfcSetConfig(tNFA_PMID paramId, uint8_t length, uint8_t* data) override;
103 
104 private:
105 };
106 }  // namespace NCI
107 }  // namespace NFC
108 }  // namespace OHOS
109 #endif  // NCI_ADAPTATIONS_H
110