• 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 #include "nci_adaptations.h"
16 
17 #include "NfcAdaptation.h"
18 
19 namespace OHOS {
20 namespace NFC {
21 namespace NCI {
NciAdaptations()22 NciAdaptations::NciAdaptations() {}
23 
~NciAdaptations()24 NciAdaptations::~NciAdaptations() {}
25 
NfaInit(tHAL_NFC_ENTRY * halEntryTbl)26 void NciAdaptations::NfaInit(tHAL_NFC_ENTRY* halEntryTbl)
27 {
28     NFA_Init(halEntryTbl);
29 }
30 
NfaEnable(tNFA_DM_CBACK * dmCback,tNFA_CONN_CBACK * connCback)31 tNFA_STATUS NciAdaptations::NfaEnable(tNFA_DM_CBACK* dmCback, tNFA_CONN_CBACK* connCback)
32 {
33     return NFA_Enable(dmCback, connCback);
34 }
35 
NfaDisable(bool graceful)36 tNFA_STATUS NciAdaptations::NfaDisable(bool graceful)
37 {
38     return NFA_Disable(graceful);
39 }
40 
NfaEnablePolling(tNFA_TECHNOLOGY_MASK pollMask)41 tNFA_STATUS NciAdaptations::NfaEnablePolling(tNFA_TECHNOLOGY_MASK pollMask)
42 {
43     return NFA_EnablePolling(pollMask);
44 }
45 
NfaDisablePolling(void)46 tNFA_STATUS NciAdaptations::NfaDisablePolling(void)
47 {
48     return NFA_DisablePolling();
49 }
50 
NfaEnableListening(void)51 tNFA_STATUS NciAdaptations::NfaEnableListening(void)
52 {
53     return NFA_EnableListening();
54 }
55 
NfaDisableListening(void)56 tNFA_STATUS NciAdaptations::NfaDisableListening(void)
57 {
58     return NFA_DisableListening();
59 }
60 
NfaStartRfDiscovery(void)61 tNFA_STATUS NciAdaptations::NfaStartRfDiscovery(void)
62 {
63     return NFA_StartRfDiscovery();
64 }
65 
NfaStopRfDiscovery(void)66 tNFA_STATUS NciAdaptations::NfaStopRfDiscovery(void)
67 {
68     return NFA_StopRfDiscovery();
69 }
70 
NfaSetRfDiscoveryDuration(uint16_t discoveryPeriodMs)71 tNFA_STATUS NciAdaptations::NfaSetRfDiscoveryDuration(uint16_t discoveryPeriodMs)
72 {
73     return NFA_SetRfDiscoveryDuration(discoveryPeriodMs);
74 }
75 
NfaSelect(uint8_t rfDiscId,tNFA_NFC_PROTOCOL protocol,tNFA_INTF_TYPE rfInterface)76 tNFA_STATUS NciAdaptations::NfaSelect(uint8_t rfDiscId, tNFA_NFC_PROTOCOL protocol, tNFA_INTF_TYPE rfInterface)
77 {
78     return NFA_Select(rfDiscId, protocol, rfInterface);
79 }
80 
NfaDeactivate(bool sleepMode)81 tNFA_STATUS NciAdaptations::NfaDeactivate(bool sleepMode)
82 {
83     return NFA_Deactivate(sleepMode);
84 }
85 
NfaSendRawFrame(uint8_t * rawData,uint16_t dataLen,uint16_t presenceCheckStartDelay)86 tNFA_STATUS NciAdaptations::NfaSendRawFrame(uint8_t* rawData, uint16_t dataLen, uint16_t presenceCheckStartDelay)
87 {
88     return NFA_SendRawFrame(rawData, dataLen, presenceCheckStartDelay);
89 }
90 
NfaRegisterNDefTypeHandler(bool handleWholeMessage,tNFA_TNF tnf,uint8_t * typeName,uint8_t typeNameLen,tNFA_NDEF_CBACK * ndefCback)91 tNFA_STATUS NciAdaptations::NfaRegisterNDefTypeHandler(
92     bool handleWholeMessage, tNFA_TNF tnf, uint8_t* typeName, uint8_t typeNameLen, tNFA_NDEF_CBACK* ndefCback)
93 {
94     return NFA_RegisterNDefTypeHandler(handleWholeMessage, tnf, typeName, typeNameLen, ndefCback);
95 }
96 
NfaRwDetectNdef(void)97 tNFA_STATUS NciAdaptations::NfaRwDetectNdef(void)
98 {
99     return NFA_RwDetectNDef();
100 }
101 
NfaRwReadNdef(void)102 tNFA_STATUS NciAdaptations::NfaRwReadNdef(void)
103 {
104     return NFA_RwReadNDef();
105 }
106 
NfaRwWriteNdef(uint8_t * data,uint32_t len)107 tNFA_STATUS NciAdaptations::NfaRwWriteNdef(uint8_t* data, uint32_t len)
108 {
109     return NFA_RwWriteNDef(data, len);
110 }
111 
NfaRwPresenceCheck(tNFA_RW_PRES_CHK_OPTION option)112 tNFA_STATUS NciAdaptations::NfaRwPresenceCheck(tNFA_RW_PRES_CHK_OPTION option)
113 {
114     return NFA_RwPresenceCheck(option);
115 }
116 
NfaRwFormatTag(void)117 tNFA_STATUS NciAdaptations::NfaRwFormatTag(void)
118 {
119     return NFA_RwFormatTag();
120 }
121 
NfaRwSetTagReadOnly(bool hardLock)122 tNFA_STATUS NciAdaptations::NfaRwSetTagReadOnly(bool hardLock)
123 {
124     return NFA_RwSetTagReadOnly(hardLock);
125 }
126 
NdefMsgInit(uint8_t * msg,uint32_t maxSize,uint32_t * curSize)127 void NciAdaptations::NdefMsgInit(uint8_t* msg, uint32_t maxSize, uint32_t* curSize)
128 {
129     NDEF_MsgInit(msg, maxSize, curSize);
130 }
131 
NdefMsgAddRec(uint8_t * msg,uint32_t maxSize,uint32_t * curSize,uint8_t tnf,uint8_t * type,uint8_t typeLen,uint8_t * id,uint8_t idLen,uint8_t * payload,uint32_t payloadLen)132 tNDEF_STATUS NciAdaptations::NdefMsgAddRec(uint8_t* msg,
133                                            uint32_t maxSize,
134                                            uint32_t* curSize,
135                                            uint8_t tnf,
136                                            uint8_t* type,
137                                            uint8_t typeLen,
138                                            uint8_t* id,
139                                            uint8_t idLen,
140                                            uint8_t* payload,
141                                            uint32_t payloadLen)
142 {
143     return NDEF_MsgAddRec(msg, maxSize, curSize, tnf, type, typeLen, id, idLen, payload, payloadLen);
144 }
145 
NfcGetNciVersion()146 uint8_t NciAdaptations::NfcGetNciVersion()
147 {
148     return NFC_GetNCIVersion();
149 }
150 
NfcAdaptationInitialize()151 void NciAdaptations::NfcAdaptationInitialize()
152 {
153     NfcAdaptation& nfcAdaptInstance = NfcAdaptation::GetInstance();
154     nfcAdaptInstance.Initialize();
155 }
156 
NfcAdaptationFinalize()157 void NciAdaptations::NfcAdaptationFinalize()
158 {
159     NfcAdaptation& nfcAdaptInstance = NfcAdaptation::GetInstance();
160     nfcAdaptInstance.Finalize();
161 }
162 
NfcAdaptationGetHalEntryFuncs()163 tHAL_NFC_ENTRY* NciAdaptations::NfcAdaptationGetHalEntryFuncs()
164 {
165     NfcAdaptation& nfcAdaptInstance = NfcAdaptation::GetInstance();
166     return nfcAdaptInstance.GetHalEntryFuncs();
167 }
168 
NfcAdaptationDownloadFirmware()169 void NciAdaptations::NfcAdaptationDownloadFirmware()
170 {
171     NfcAdaptation& nfcAdaptInstance = NfcAdaptation::GetInstance();
172 #if (NXP_EXTNS == TRUE)
173     nfcAdaptInstance.DownloadFirmware(nullptr, true);
174 #else
175     nfcAdaptInstance.DownloadFirmware();
176 #endif
177 }
178 
NfcAdaptationDump(int fd)179 void NciAdaptations::NfcAdaptationDump(int fd)
180 {
181     NfcAdaptation& nfcAdaptInstance = NfcAdaptation::GetInstance();
182     nfcAdaptInstance.Dump(fd);
183 }
184 
NfcAdaptationFactoryReset()185 void NciAdaptations::NfcAdaptationFactoryReset()
186 {
187     NfcAdaptation& nfcAdaptInstance = NfcAdaptation::GetInstance();
188     nfcAdaptInstance.FactoryReset();
189 }
190 
NfcAdaptationDeviceShutdown()191 void NciAdaptations::NfcAdaptationDeviceShutdown()
192 {
193     NfcAdaptation& nfcAdaptInstance = NfcAdaptation::GetInstance();
194     nfcAdaptInstance.DeviceShutdown();
195 }
196 
NfcHciRegister(char * appName,tNFA_HCI_CBACK * cback,bool sendConnEvts)197 tNFA_STATUS NciAdaptations::NfcHciRegister(char* appName, tNFA_HCI_CBACK* cback, bool sendConnEvts)
198 {
199     return NFA_HciRegister(appName, cback, sendConnEvts);
200 }
201 
NfcEeGetInfo(uint8_t * numNfcee,tNFA_EE_INFO * info)202 tNFA_STATUS NciAdaptations::NfcEeGetInfo(uint8_t* numNfcee, tNFA_EE_INFO* info)
203 {
204     return NFA_EeGetInfo(numNfcee, info);
205 }
206 
NfcEeRegister(tNFA_EE_CBACK * cback)207 tNFA_STATUS NciAdaptations::NfcEeRegister(tNFA_EE_CBACK* cback)
208 {
209     return NFA_EeRegister(cback);
210 }
211 
NfcEeDeregister(tNFA_EE_CBACK * cback)212 tNFA_STATUS NciAdaptations::NfcEeDeregister(tNFA_EE_CBACK* cback)
213 {
214     return NFA_EeDeregister(cback);
215 }
216 
NfcEeSetDefaultTechRouting(tNFA_HANDLE eeHandle,tNFA_TECHNOLOGY_MASK technologiesSwitchOn,tNFA_TECHNOLOGY_MASK technologiesSwitchOff,tNFA_TECHNOLOGY_MASK technologiesBatteryOff,tNFA_TECHNOLOGY_MASK technologiesScreenLock,tNFA_TECHNOLOGY_MASK technologiesScreenOff,tNFA_TECHNOLOGY_MASK technologiesScreenOffLock)217 tNFA_STATUS NciAdaptations::NfcEeSetDefaultTechRouting(tNFA_HANDLE eeHandle,
218                                                        tNFA_TECHNOLOGY_MASK technologiesSwitchOn,
219                                                        tNFA_TECHNOLOGY_MASK technologiesSwitchOff,
220                                                        tNFA_TECHNOLOGY_MASK technologiesBatteryOff,
221                                                        tNFA_TECHNOLOGY_MASK technologiesScreenLock,
222                                                        tNFA_TECHNOLOGY_MASK technologiesScreenOff,
223                                                        tNFA_TECHNOLOGY_MASK technologiesScreenOffLock)
224 {
225     return NFA_EeSetDefaultTechRouting(eeHandle,
226                                        technologiesSwitchOn,
227                                        technologiesSwitchOff,
228                                        technologiesBatteryOff,
229                                        technologiesScreenLock,
230                                        technologiesScreenOff,
231                                        technologiesScreenOffLock);
232 }
233 
NfcEeClearDefaultTechRouting(tNFA_HANDLE eeHandle,tNFA_TECHNOLOGY_MASK clearTechnology)234 tNFA_STATUS NciAdaptations::NfcEeClearDefaultTechRouting(tNFA_HANDLE eeHandle, tNFA_TECHNOLOGY_MASK clearTechnology)
235 {
236     return NFA_EeClearDefaultTechRouting(eeHandle, clearTechnology);
237 }
238 
NfcEeSetDefaultProtoRouting(tNFA_HANDLE eeHandle,tNFA_PROTOCOL_MASK protocolsSwitchOn,tNFA_PROTOCOL_MASK protocolsSwitchOff,tNFA_PROTOCOL_MASK protocolsBatteryOff,tNFA_PROTOCOL_MASK technologiesScreenLock,tNFA_PROTOCOL_MASK technologiesScreenOff,tNFA_PROTOCOL_MASK technologiesScreenOffLock)239 tNFA_STATUS NciAdaptations::NfcEeSetDefaultProtoRouting(tNFA_HANDLE eeHandle,
240                                                         tNFA_PROTOCOL_MASK protocolsSwitchOn,
241                                                         tNFA_PROTOCOL_MASK protocolsSwitchOff,
242                                                         tNFA_PROTOCOL_MASK protocolsBatteryOff,
243                                                         tNFA_PROTOCOL_MASK technologiesScreenLock,
244                                                         tNFA_PROTOCOL_MASK technologiesScreenOff,
245                                                         tNFA_PROTOCOL_MASK technologiesScreenOffLock)
246 {
247     return NFA_EeSetDefaultProtoRouting(eeHandle,
248                                         protocolsSwitchOn,
249                                         protocolsSwitchOff,
250                                         protocolsBatteryOff,
251                                         technologiesScreenLock,
252                                         technologiesScreenOff,
253                                         technologiesScreenOffLock);
254 }
255 
NfcEeClearDefaultProtoRouting(tNFA_HANDLE eeHandle,tNFA_PROTOCOL_MASK clearProtocol)256 tNFA_STATUS NciAdaptations::NfcEeClearDefaultProtoRouting(tNFA_HANDLE eeHandle, tNFA_PROTOCOL_MASK clearProtocol)
257 {
258     return NFA_EeClearDefaultProtoRouting(eeHandle, clearProtocol);
259 }
260 
NfcEeAddAidRouting(tNFA_HANDLE eeHandle,uint8_t aidLen,uint8_t * aid,tNFA_EE_PWR_STATE powerState,uint8_t aidInfo)261 tNFA_STATUS NciAdaptations::NfcEeAddAidRouting(
262     tNFA_HANDLE eeHandle, uint8_t aidLen, uint8_t* aid, tNFA_EE_PWR_STATE powerState, uint8_t aidInfo)
263 {
264     return NFA_EeAddAidRouting(eeHandle, aidLen, aid, powerState, aidInfo);
265 }
266 
NfcEeRemoveAidRouting(uint8_t aidLen,uint8_t * aid)267 tNFA_STATUS NciAdaptations::NfcEeRemoveAidRouting(uint8_t aidLen, uint8_t* aid)
268 {
269     return NFA_EeRemoveAidRouting(aidLen, aid);
270 }
271 
NfcEeUpdateNow(void)272 tNFA_STATUS NciAdaptations::NfcEeUpdateNow(void)
273 {
274     return NFA_EeUpdateNow();
275 }
276 
NfcGetAidTableSize()277 uint16_t NciAdaptations::NfcGetAidTableSize()
278 {
279     return NFA_GetAidTableSize();
280 }
281 
NfcEeModeSet(tNFA_HANDLE eeHandle,tNFA_EE_MD mode)282 tNFA_STATUS NciAdaptations::NfcEeModeSet(tNFA_HANDLE eeHandle, tNFA_EE_MD mode)
283 {
284     return NFA_EeModeSet(eeHandle, mode);
285 }
286 
NfcCeSetIsoDepListenTech(tNFA_TECHNOLOGY_MASK techMask)287 tNFA_STATUS NciAdaptations::NfcCeSetIsoDepListenTech(tNFA_TECHNOLOGY_MASK techMask)
288 {
289     return NFA_CeSetIsoDepListenTech(techMask);
290 }
291 
NfcCeRegisterAidOnDH(uint8_t aid[NFC_MAX_AID_LEN],uint8_t aidLen,tNFA_CONN_CBACK * connCback)292 tNFA_STATUS NciAdaptations::NfcCeRegisterAidOnDH(uint8_t aid[NFC_MAX_AID_LEN], uint8_t aidLen,
293                                                  tNFA_CONN_CBACK* connCback)
294 {
295     return NFA_CeRegisterAidOnDH(aid, aidLen, connCback);
296 }
297 
NfcSetPowerSubStateForScreenState(uint8_t screenState)298 tNFA_STATUS NciAdaptations::NfcSetPowerSubStateForScreenState(uint8_t screenState)
299 {
300     return NFA_SetPowerSubStateForScreenState(screenState);
301 }
302 
NfcSetConfig(tNFA_PMID paramId,uint8_t length,uint8_t * data)303 tNFA_STATUS NciAdaptations::NfcSetConfig(tNFA_PMID paramId, uint8_t length, uint8_t* data)
304 {
305     return NFA_SetConfig(paramId, length, data);
306 }
307 }  // namespace NCI
308 }  // namespace NFC
309 }  // namespace OHOS
310