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