1 /*
2 * Copyright (c) 2024 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
16 #include "napi/native_api.h"
17 #include <BasicServicesKit/ohscan.h>
18
19 #define SCANNER_ID "12"
20
ScannerDiscoveryCallback(Scan_ScannerDevice ** devices,int32_t length)21 static void ScannerDiscoveryCallback(Scan_ScannerDevice **devices, int32_t length)
22 {
23 }
24
OHScanInit(napi_env env,napi_callback_info info)25 static napi_value OHScanInit(napi_env env, napi_callback_info info)
26 {
27 napi_value result = nullptr;
28 int32_t errorCode = OH_Scan_Init();
29 errorCode = OH_Scan_Exit();
30 napi_create_int32(env, static_cast<int32_t>(errorCode), &result);
31 return result;
32 }
33
OHScanStartScannerDiscovery(napi_env env,napi_callback_info info)34 static napi_value OHScanStartScannerDiscovery(napi_env env, napi_callback_info info)
35 {
36 napi_value result = nullptr;
37 int32_t errorCode = OH_Scan_Init();
38 OH_Scan_StartScannerDiscovery(ScannerDiscoveryCallback);
39 errorCode = OH_Scan_Exit();
40 napi_create_int32(env, static_cast<int32_t>(errorCode), &result);
41 return result;
42 }
43
OHScanOpenScanner(napi_env env,napi_callback_info info)44 static napi_value OHScanOpenScanner(napi_env env, napi_callback_info info)
45 {
46 napi_value result = nullptr;
47 int32_t errorCode = OH_Scan_Init();
48 OH_Scan_OpenScanner(SCANNER_ID);
49 errorCode = OH_Scan_Exit();
50 napi_create_int32(env, static_cast<int32_t>(errorCode), &result);
51 return result;
52 }
53
OHScanCloseScanner(napi_env env,napi_callback_info info)54 static napi_value OHScanCloseScanner(napi_env env, napi_callback_info info)
55 {
56 napi_value result = nullptr;
57 int32_t errorCode = OH_Scan_Init();
58 OH_Scan_CloseScanner(SCANNER_ID);
59 errorCode = OH_Scan_Exit();
60 napi_create_int32(env, static_cast<int32_t>(errorCode), &result);
61 return result;
62 }
63
OHScanGetScannerParameter(napi_env env,napi_callback_info info)64 static napi_value OHScanGetScannerParameter(napi_env env, napi_callback_info info)
65 {
66 napi_value result = nullptr;
67 int32_t errorCode = OH_Scan_Init();
68 int32_t paraErrorCode;
69 OH_Scan_GetScannerParameter(SCANNER_ID, ¶ErrorCode);
70 errorCode = OH_Scan_Exit();
71 napi_create_int32(env, static_cast<int32_t>(errorCode), &result);
72 return result;
73 }
74
OHScanSetScannerParameter(napi_env env,napi_callback_info info)75 static napi_value OHScanSetScannerParameter(napi_env env, napi_callback_info info)
76 {
77 napi_value result = nullptr;
78 int32_t errorCode = OH_Scan_Init();
79 int32_t paraOption = 0;
80 OH_Scan_SetScannerParameter(SCANNER_ID, paraOption, SCANNER_ID);
81 errorCode = OH_Scan_Exit();
82 napi_create_int32(env, static_cast<int32_t>(errorCode), &result);
83 return result;
84 }
85
OHScanStartScan(napi_env env,napi_callback_info info)86 static napi_value OHScanStartScan(napi_env env, napi_callback_info info)
87 {
88 napi_value result = nullptr;
89 int32_t errorCode = OH_Scan_Init();
90 OH_Scan_StartScan(SCANNER_ID, false);
91 errorCode = OH_Scan_Exit();
92 napi_create_int32(env, static_cast<int32_t>(errorCode), &result);
93 return result;
94 }
95
OHScanCancelScan(napi_env env,napi_callback_info info)96 static napi_value OHScanCancelScan(napi_env env, napi_callback_info info)
97 {
98 napi_value result = nullptr;
99 int32_t errorCode = OH_Scan_Init();
100 OH_Scan_CancelScan(SCANNER_ID);
101 errorCode = OH_Scan_Exit();
102 napi_create_int32(env, static_cast<int32_t>(errorCode), &result);
103 return result;
104 }
105
OHScanGetPictureScanProgress(napi_env env,napi_callback_info info)106 static napi_value OHScanGetPictureScanProgress(napi_env env, napi_callback_info info)
107 {
108 napi_value result = nullptr;
109 int32_t errorCode = OH_Scan_Init();
110 Scan_PictureScanProgress* prog = new Scan_PictureScanProgress;
111 OH_Scan_GetPictureScanProgress(SCANNER_ID, prog);
112 errorCode = OH_Scan_Exit();
113 napi_create_int32(env, static_cast<int32_t>(errorCode), &result);
114 return result;
115 }
116
OHScanExit(napi_env env,napi_callback_info info)117 static napi_value OHScanExit(napi_env env, napi_callback_info info)
118 {
119 napi_value result = nullptr;
120 int32_t errorCode = OH_Scan_Init();
121 errorCode = OH_Scan_Exit();
122 napi_create_int32(env, static_cast<int32_t>(errorCode), &result);
123 return result;
124 }