1 /*
2  * Copyright (C) 2023 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 EXTNS_H
16 #define EXTNS_H
17 #include "nfa_api.h"
18 
19 namespace OHOS {
20 namespace NFC {
21 namespace NCI {
22 class Extns final {
23 public:
24     static Extns& GetInstance();
25 
26     tNFA_STATUS EXTNS_Init(tNFA_DM_CBACK *dmCallback, tNFA_CONN_CBACK *connCallback);
27     tNFA_STATUS EXTNS_MfcInit(tNFA_ACTIVATED& activationData);
28     void EXTNS_Close(void);
29     tNFA_STATUS EXTNS_MfcDisconnect(void);
30     tNFA_STATUS EXTNS_MfcActivated(void);
31     tNFA_STATUS EXTNS_MfcTransceive(uint8_t *data, uint32_t len);
32     tNFA_STATUS EXTNS_MfcCallBack(uint8_t *buf, uint32_t buflen);
33     void EXTNS_SetConnectFlag(bool flagVal);
34     bool EXTNS_GetConnectFlag(void);
35     void EXTNS_SetDeactivateFlag(bool flagVal);
36     bool EXTNS_GetDeactivateFlag(void);
37     bool EXTNS_GetCallBackFlag(void);
38     tNFA_STATUS EXTNS_CheckMfcResponse(uint8_t** transceiveData, uint32_t *transceiveDataLen);
39     tNFA_STATUS EXTNS_MfcPresenceCheck(void);
40     tNFA_STATUS EXTNS_GetPresenceCheckStatus(void);
41 
42     tNFA_STATUS EXTNS_MfcRegisterNDefTypeHandler(tNFA_NDEF_CBACK* ndefHandlerCallback);
43     tNFA_STATUS EXTNS_MfcReadNDef(void);
44     tNFA_STATUS EXTNS_MfcCheckNDef(void);
45 };
46 }  // namespace NCI
47 }  // namespace NFC
48 }  // namespace OHOS
49 #endif  // EXTNS_H
50