1 /*
2 * Copyright (c) 2022 Shenzhen Kaihong Digital Industry Development 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
16 #include "nfc_napi_controller_adapter.h"
17 #include <vector>
18 #include "loghelper.h"
19 #include "nfc_controller.h"
20 #include "nfc_sdk_common.h"
21 #include "nfc_napi_ctrl_utils.h"
22
23 namespace OHOS {
24 namespace NFC {
25 namespace KITS {
OpenNfc(napi_env env,napi_callback_info info)26 napi_value OpenNfc(napi_env env, napi_callback_info info)
27 {
28 NfcController nfcCtrl = OHOS::NFC::KITS::NfcController::GetInstance();
29 int status = nfcCtrl.TurnOn();
30 napi_value result;
31 napi_get_boolean(env, (status == KITS::ERR_NONE), &result);
32 return result;
33 }
34
EnableNfc(napi_env env,napi_callback_info info)35 napi_value EnableNfc(napi_env env, napi_callback_info info)
36 {
37 NfcController nfcCtrl = OHOS::NFC::KITS::NfcController::GetInstance();
38 int status = nfcCtrl.TurnOn();
39 CheckNfcStatusCodeAndThrow(env, status, "enableNfc");
40 return CreateUndefined(env);
41 }
42
CloseNfc(napi_env env,napi_callback_info info)43 napi_value CloseNfc(napi_env env, napi_callback_info info)
44 {
45 NfcController nfcCtrl = OHOS::NFC::KITS::NfcController::GetInstance();
46 int status = nfcCtrl.TurnOff();
47 napi_value result;
48 napi_get_boolean(env, (status == KITS::ERR_NONE), &result);
49 return result;
50 }
51
DisableNfc(napi_env env,napi_callback_info info)52 napi_value DisableNfc(napi_env env, napi_callback_info info)
53 {
54 NfcController nfcCtrl = OHOS::NFC::KITS::NfcController::GetInstance();
55 int status = nfcCtrl.TurnOff();
56 CheckNfcStatusCodeAndThrow(env, status, "disableNfc");
57 return CreateUndefined(env);
58 }
59
GetNfcState(napi_env env,napi_callback_info info)60 napi_value GetNfcState(napi_env env, napi_callback_info info)
61 {
62 NfcController nfcCtrl = OHOS::NFC::KITS::NfcController::GetInstance();
63 napi_value result;
64 napi_create_int32(env, nfcCtrl.GetNfcState(), &result);
65 return result;
66 }
67
IsNfcAvailable(napi_env env,napi_callback_info info)68 napi_value IsNfcAvailable(napi_env env, napi_callback_info info)
69 {
70 NfcController nfcCtrl = OHOS::NFC::KITS::NfcController::GetInstance();
71 napi_value result;
72 napi_get_boolean(env, nfcCtrl.IsNfcAvailable(), &result);
73 return result;
74 }
75
IsNfcOpen(napi_env env,napi_callback_info info)76 napi_value IsNfcOpen(napi_env env, napi_callback_info info)
77 {
78 NfcController nfcCtrl = OHOS::NFC::KITS::NfcController::GetInstance();
79 bool isOpen = false;
80 int statusCode = nfcCtrl.IsNfcOpen(isOpen);
81 if (statusCode != KITS::ERR_NONE) {
82 ErrorLog("IsNfcOpen, statusCode = %{public}d", statusCode);
83 }
84 napi_value result;
85 napi_get_boolean(env, isOpen, &result);
86 return result;
87 }
88 } // namespace KITS
89 } // namespace NFC
90 } // namespace OHOS
91