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
16 #include "scanner_info_helper.h"
17 #include "napi_scan_utils.h"
18 #include "scan_log.h"
19
20 namespace OHOS::Scan {
21 static constexpr const char *PARAM_TCP_DEVICENAME = "deviceName";
22 static constexpr const char *PARAM_TCP_UUID = "uuid";
23 static constexpr const char *PARAM_TCP_MODEL = "model";
24 static constexpr const char *PARAM_TCP_MANUFACTURER = "manufacturer";
25 static constexpr const char *PARAM_TCP_DEVICETYPE = "deviceType";
26 static constexpr const char *PARAM_TCP_PORT = "port";
27 static constexpr const char *PARAM_TCP_ADDR = "address";
28 static constexpr const char *PARAM_TCP_BUTTON = "button";
29 static constexpr const char *PARAM_TCP_FEEDER = "feeder";
30
31
32 static constexpr const char *PARAM_SCANNERID = "deviceId";
33 static constexpr const char *PARAM_OLD_SCANNERID = "oldDeviceId";
34 static constexpr const char *PARAM_MANUFACTURER = "manufacturer";
35 static constexpr const char *PARAM_MODEL = "model";
36 static constexpr const char *PARAM_DEVICETYPE = "deviceType";
37
38 static constexpr const char *PARAM_INFO_DEVICESTATE = "deviceState";
39 static constexpr const char *PARAM_INFO_DISCOVERMODE = "discoverMode";
40 static constexpr const char *PARAM_INFO_SERIALNUMBER = "serialNumber";
41 static constexpr const char *PARAM_INFO_DEVICENAME = "deviceName";
42 static constexpr const char *PARAM_INFO_SYNCMODE = "syncMode";
43 static constexpr const char *PARAM_UNIQUE_ID = "uniqueId";
44
MakeJsObject(napi_env env,const ScanDeviceInfoTCP & info)45 napi_value ScannerInfoHelperTCP::MakeJsObject(napi_env env, const ScanDeviceInfoTCP &info)
46 {
47 napi_value jsObj = nullptr;
48 SCAN_CALL(env, napi_create_object(env, &jsObj));
49 NapiScanUtils::SetStringPropertyUtf8(env, jsObj, PARAM_TCP_DEVICENAME, info.GetDeviceName());
50 NapiScanUtils::SetStringPropertyUtf8(env, jsObj, PARAM_TCP_UUID, info.GetUuid());
51 NapiScanUtils::SetStringPropertyUtf8(env, jsObj, PARAM_TCP_MODEL, info.GetModel());
52 NapiScanUtils::SetStringPropertyUtf8(env, jsObj, PARAM_TCP_MANUFACTURER, info.GetManufacturer());
53 NapiScanUtils::SetStringPropertyUtf8(env, jsObj, PARAM_TCP_DEVICETYPE, info.GetDeviceType());
54 NapiScanUtils::SetStringPropertyUtf8(env, jsObj, PARAM_TCP_PORT, info.GetPort());
55 NapiScanUtils::SetStringPropertyUtf8(env, jsObj, PARAM_TCP_ADDR, info.GetAddr());
56 NapiScanUtils::SetStringPropertyUtf8(env, jsObj, PARAM_TCP_BUTTON, info.GetButton());
57 NapiScanUtils::SetStringPropertyUtf8(env, jsObj, PARAM_TCP_FEEDER, info.GetFeeder());
58 NapiScanUtils::SetUint32Property(env, jsObj, PARAM_INFO_DEVICESTATE, info.GetDeviceState());
59 return jsObj;
60 }
61
62
MakeJsObject(napi_env env,const ScanDeviceInfo & info)63 napi_value ScannerInfoHelper::MakeJsObject(napi_env env, const ScanDeviceInfo &info)
64 {
65 napi_value jsObj = nullptr;
66 SCAN_CALL(env, napi_create_object(env, &jsObj));
67 NapiScanUtils::SetStringPropertyUtf8(env, jsObj, PARAM_SCANNERID, info.GetDeviceId());
68 NapiScanUtils::SetStringPropertyUtf8(env, jsObj, PARAM_MANUFACTURER, info.GetManufacturer());
69 NapiScanUtils::SetStringPropertyUtf8(env, jsObj, PARAM_MODEL, info.GetModel());
70 NapiScanUtils::SetStringPropertyUtf8(env, jsObj, PARAM_DEVICETYPE, info.GetDeviceType());
71 NapiScanUtils::SetUint32Property(env, jsObj, PARAM_INFO_DEVICESTATE, info.GetDeviceState());
72 NapiScanUtils::SetStringPropertyUtf8(env, jsObj, PARAM_INFO_DISCOVERMODE, info.GetDiscoverMode());
73 NapiScanUtils::SetStringPropertyUtf8(env, jsObj, PARAM_INFO_SERIALNUMBER, info.GetSerialNumber());
74 NapiScanUtils::SetStringPropertyUtf8(env, jsObj, PARAM_INFO_DEVICENAME, info.GetDeviceName());
75 NapiScanUtils::SetStringPropertyUtf8(env, jsObj, PARAM_UNIQUE_ID, info.GetUniqueId());
76 return jsObj;
77 }
78
MakeJsObject(napi_env env,const ScanDeviceInfoSync & info)79 napi_value ScannerInfoSyncHelper::MakeJsObject(napi_env env, const ScanDeviceInfoSync &info)
80 {
81 napi_value jsObj = nullptr;
82 SCAN_CALL(env, napi_create_object(env, &jsObj));
83 NapiScanUtils::SetStringPropertyUtf8(env, jsObj, PARAM_SCANNERID, info.GetDeviceId());
84 NapiScanUtils::SetStringPropertyUtf8(env, jsObj, PARAM_INFO_DISCOVERMODE, info.GetDiscoverMode());
85 NapiScanUtils::SetStringPropertyUtf8(env, jsObj, PARAM_INFO_SERIALNUMBER, info.GetSerialNumber());
86 NapiScanUtils::SetStringPropertyUtf8(env, jsObj, PARAM_INFO_SYNCMODE, info.GetSyncMode());
87 NapiScanUtils::SetStringPropertyUtf8(env, jsObj, PARAM_OLD_SCANNERID, info.GetOldDeviceId());
88 #ifdef DEBUG_ENABLE
89 SCAN_HILOGD("ScannerInfoSyncHelper MakeJsObject DeviceId = %{private}s, DiscoverMode = %{private}s,"
90 "SerialNumber = %{private}s SyncMode = %{private}s., oldDeviceId = %{private}s",
91 info.GetDeviceId().c_str(), info.GetDiscoverMode().c_str(),
92 info.GetSerialNumber().c_str(), info.GetSyncMode().c_str(),
93 info.GetOldDeviceId().c_str());
94 #endif
95 return jsObj;
96 }
97
98
99 } // namespace OHOS::Print
100