• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
16 #include "napi_bluetooth_constant.h"
17 
18 #include "bluetooth_log.h"
19 #include "napi_bluetooth_utils.h"
20 
21 namespace {
22 const std::string PROFILE_UUID_BASE_UUID = "00000000-0000-1000-8000-00805F9B34FB";
23 const std::string PROFILE_UUID_HFP_AG = "0000111F-0000-1000-8000-00805F9B34FB";
24 const std::string PROFILE_UUID_HFP_HF = "0000111E-0000-1000-8000-00805F9B34FB";
25 const std::string PROFILE_UUID_HSP_AG = "00001112-0000-1000-8000-00805F9B34FB";
26 const std::string PROFILE_UUID_HSP_HS = "00001108-0000-1000-8000-00805F9B34FB";
27 const std::string PROFILE_UUID_A2DP_SRC = "0000110A-0000-1000-8000-00805F9B34FB";
28 const std::string PROFILE_UUID_A2DP_SINK = "0000110B-0000-1000-8000-00805F9B34FB";
29 const std::string PROFILE_UUID_AVRCP_CT = "0000110E-0000-1000-8000-00805F9B34FB";
30 const std::string PROFILE_UUID_AVRCP_TG = "0000110C-0000-1000-8000-00805F9B34FB";
31 const std::string PROFILE_UUID_HID = "00001124-0000-1000-8000-00805F9B34FB";
32 const std::string PROFILE_UUID_HOGP = "00001812-0000-1000-8000-00805F9B34FB";
33 }  // namespace
34 
35 namespace OHOS {
36 namespace Bluetooth {
DefineJSConstant(napi_env env,napi_value exports)37 napi_value NapiConstant::DefineJSConstant(napi_env env, napi_value exports)
38 {
39     HILOGI("start");
40     ConstantPropertyValueInit(env, exports);
41     napi_property_descriptor desc[] = {};
42     napi_define_properties(env, exports, sizeof(desc) / sizeof(desc[0]), desc);
43     HILOGI("end");
44     return exports;
45 }
46 
ConstantPropertyValueInit(napi_env env,napi_value exports)47 napi_value NapiConstant::ConstantPropertyValueInit(napi_env env, napi_value exports)
48 {
49     HILOGI("start");
50     napi_value profileIdObj = ProfileIdInit(env);
51     napi_value profileUuidsObj = ProfileUuidsInit(env);
52     napi_value profileStateObj = ProfileStateInit(env);
53     napi_value majorClassObj = MajorClassOfDeviceInit(env);
54     napi_value majorMinorClassObj = MajorMinorClassOfDeviceInit(env);
55     napi_property_descriptor exportFuncs[] = {
56         DECLARE_NAPI_PROPERTY("ProfileId", profileIdObj),
57         DECLARE_NAPI_PROPERTY("ProfileUuids", profileUuidsObj),
58         DECLARE_NAPI_PROPERTY("ProfileConnectionState", profileStateObj),
59         DECLARE_NAPI_PROPERTY("MajorClass", majorClassObj),
60         DECLARE_NAPI_PROPERTY("MajorMinorClass", majorMinorClassObj),
61     };
62     napi_define_properties(env, exports, sizeof(exportFuncs) / sizeof(*exportFuncs), exportFuncs);
63     HILOGI("end");
64     return exports;
65 }
66 
ProfileIdInit(napi_env env)67 napi_value NapiConstant::ProfileIdInit(napi_env env)
68 {
69     HILOGI("enter");
70     napi_value profileId = nullptr;
71     napi_create_object(env, &profileId);
72     SetNamedPropertyByInteger(env, profileId, ProfileId::PROFILE_A2DP_SINK, "PROFILE_A2DP_SINK");
73     SetNamedPropertyByInteger(env, profileId, ProfileId::PROFILE_A2DP_SOURCE, "PROFILE_A2DP_SOURCE");
74     SetNamedPropertyByInteger(env, profileId, ProfileId::PROFILE_AVRCP_CT, "PROFILE_AVRCP_CT");
75     SetNamedPropertyByInteger(env, profileId, ProfileId::PROFILE_AVRCP_TG, "PROFILE_AVRCP_TG");
76     SetNamedPropertyByInteger(
77         env, profileId, ProfileId::PROFILE_HANDS_FREE_AUDIO_GATEWAY, "PROFILE_HANDS_FREE_AUDIO_GATEWAY");
78     SetNamedPropertyByInteger(env, profileId, ProfileId::PROFILE_HANDS_FREE_UNIT, "PROFILE_HANDS_FREE_UNIT");
79     SetNamedPropertyByInteger(env, profileId, ProfileId::PROFILE_HID_HOST, "PROFILE_HID_HOST");
80     SetNamedPropertyByInteger(env, profileId, ProfileId::PROFILE_PAN_NETWORK, "PROFILE_PAN_NETWORK");
81     SetNamedPropertyByInteger(env, profileId, ProfileId::PROFILE_PBAP_CLIENT, "PROFILE_PBAP_CLIENT");
82     SetNamedPropertyByInteger(env, profileId, ProfileId::PROFILE_PBAP_SERVER, "PROFILE_PBAP_SERVER");
83     SetNamedPropertyByInteger(env, profileId, ProfileId::PROFILE_OPP, "PROFILE_OPP");
84     return profileId;
85 }
86 
ProfileUuidsInit(napi_env env)87 napi_value NapiConstant::ProfileUuidsInit(napi_env env)
88 {
89     HILOGI("enter");
90     napi_value profileUuidsObj = nullptr;
91     napi_create_object(env, &profileUuidsObj);
92     SetNamedPropertyByString(env, profileUuidsObj, PROFILE_UUID_HFP_AG, "PROFILE_UUID_HFP_AG");
93     SetNamedPropertyByString(env, profileUuidsObj, PROFILE_UUID_HFP_HF, "PROFILE_UUID_HFP_HF");
94     SetNamedPropertyByString(env, profileUuidsObj, PROFILE_UUID_HSP_AG, "PROFILE_UUID_HSP_AG");
95     SetNamedPropertyByString(env, profileUuidsObj, PROFILE_UUID_HSP_HS, "PROFILE_UUID_HSP_HS");
96     SetNamedPropertyByString(env, profileUuidsObj, PROFILE_UUID_A2DP_SRC, "PROFILE_UUID_A2DP_SRC");
97     SetNamedPropertyByString(env, profileUuidsObj, PROFILE_UUID_A2DP_SINK, "PROFILE_UUID_A2DP_SINK");
98     SetNamedPropertyByString(env, profileUuidsObj, PROFILE_UUID_AVRCP_CT, "PROFILE_UUID_AVRCP_CT");
99     SetNamedPropertyByString(env, profileUuidsObj, PROFILE_UUID_AVRCP_TG, "PROFILE_UUID_AVRCP_TG");
100     SetNamedPropertyByString(env, profileUuidsObj, PROFILE_UUID_HID, "PROFILE_UUID_HID");
101     SetNamedPropertyByString(env, profileUuidsObj, PROFILE_UUID_HOGP, "PROFILE_UUID_HOGP");
102     return profileUuidsObj;
103 }
104 
ProfileStateInit(napi_env env)105 napi_value NapiConstant::ProfileStateInit(napi_env env)
106 {
107     HILOGI("enter");
108     napi_value profileState = nullptr;
109     napi_create_object(env, &profileState);
110     SetNamedPropertyByInteger(env, profileState, ProfileConnectionState::STATE_DISCONNECTED, "STATE_DISCONNECTED");
111     SetNamedPropertyByInteger(env, profileState, ProfileConnectionState::STATE_CONNECTING, "STATE_CONNECTING");
112     SetNamedPropertyByInteger(env, profileState, ProfileConnectionState::STATE_CONNECTED, "STATE_CONNECTED");
113     SetNamedPropertyByInteger(env, profileState, ProfileConnectionState::STATE_DISCONNECTING, "STATE_DISCONNECTING");
114     return profileState;
115 }
116 
MajorClassOfDeviceInit(napi_env env)117 napi_value NapiConstant::MajorClassOfDeviceInit(napi_env env)
118 {
119     HILOGI("enter");
120     napi_value majorClass = nullptr;
121     napi_create_object(env, &majorClass);
122     // MajorClass
123     SetNamedPropertyByInteger(env, majorClass, MajorClass::MAJOR_MISC, "MAJOR_MISC");
124     SetNamedPropertyByInteger(env, majorClass, MajorClass::MAJOR_COMPUTER, "MAJOR_COMPUTER");
125     SetNamedPropertyByInteger(env, majorClass, MajorClass::MAJOR_PHONE, "MAJOR_PHONE");
126     SetNamedPropertyByInteger(env, majorClass, MajorClass::MAJOR_NETWORKING, "MAJOR_NETWORKING");
127     SetNamedPropertyByInteger(env, majorClass, MajorClass::MAJOR_AUDIO_VIDEO, "MAJOR_AUDIO_VIDEO");
128     SetNamedPropertyByInteger(env, majorClass, MajorClass::MAJOR_PERIPHERAL, "MAJOR_PERIPHERAL");
129     SetNamedPropertyByInteger(env, majorClass, MajorClass::MAJOR_IMAGING, "MAJOR_IMAGING");
130     SetNamedPropertyByInteger(env, majorClass, MajorClass::MAJOR_WEARABLE, "MAJOR_WEARABLE");
131     SetNamedPropertyByInteger(env, majorClass, MajorClass::MAJOR_TOY, "MAJOR_TOY");
132     SetNamedPropertyByInteger(env, majorClass, MajorClass::MAJOR_HEALTH, "MAJOR_HEALTH");
133     SetNamedPropertyByInteger(env, majorClass, MajorClass::MAJOR_UNCATEGORIZED, "MAJOR_UNCATEGORIZED");
134     return majorClass;
135 }
136 
MajorMinorClassOfDeviceInit(napi_env env)137 napi_value NapiConstant::MajorMinorClassOfDeviceInit(napi_env env)
138 {
139     HILOGI("enter");
140     napi_value majorMinorClass = nullptr;
141     napi_create_object(env, &majorMinorClass);
142     // MajorMinorClass
143     // Computer Major Class
144     ComputerMajorClassOfDeviceInit(env, majorMinorClass);
145     // Phone Major Class
146     PhoneMajorClassOfDeviceInit(env, majorMinorClass);
147     // LAN/Network Access Point Major Class
148     NetworkMajorClassOfDeviceInit(env, majorMinorClass);
149     // Audio/Video Major Class
150     AudioVideoMajorClassOfDeviceInit(env, majorMinorClass);
151     // Peripheral Major Class
152     PeripheralMajorClassOfDeviceInit(env, majorMinorClass);
153     // Imaging Major Class
154     ImagingMajorClassOfDeviceInit(env, majorMinorClass);
155     // Wearable Major Class
156     WearableMajorClassOfDeviceInit(env, majorMinorClass);
157     // Minor Device Class field - Toy Major Class
158     ToyMajorClassOfDeviceInit(env, majorMinorClass);
159     // Minor Device Class field - Health
160     HealthMajorClassOfDeviceInit(env, majorMinorClass);
161     return majorMinorClass;
162 }
163 
ComputerMajorClassOfDeviceInit(napi_env env,napi_value majorMinorClass)164 napi_value NapiConstant::ComputerMajorClassOfDeviceInit(napi_env env, napi_value majorMinorClass)
165 {
166     SetNamedPropertyByInteger(
167         env, majorMinorClass, static_cast<int>(MajorMinorClass::COMPUTER_UNCATEGORIZED), "COMPUTER_UNCATEGORIZED");
168     SetNamedPropertyByInteger(
169         env, majorMinorClass, static_cast<int>(MajorMinorClass::COMPUTER_DESKTOP), "COMPUTER_DESKTOP");
170     SetNamedPropertyByInteger(
171         env, majorMinorClass, static_cast<int>(MajorMinorClass::COMPUTER_SERVER), "COMPUTER_SERVER");
172     SetNamedPropertyByInteger(
173         env, majorMinorClass, static_cast<int>(MajorMinorClass::COMPUTER_LAPTOP), "COMPUTER_LAPTOP");
174     SetNamedPropertyByInteger(
175         env, majorMinorClass, static_cast<int>(MajorMinorClass::COMPUTER_HANDHELD_PC_PDA), "COMPUTER_HANDHELD_PC_PDA");
176     SetNamedPropertyByInteger(env,
177         majorMinorClass,
178         static_cast<int>(MajorMinorClass::COMPUTER_PALM_SIZE_PC_PDA),
179         "COMPUTER_PALM_SIZE_PC_PDA");
180     SetNamedPropertyByInteger(
181         env, majorMinorClass, static_cast<int>(MajorMinorClass::COMPUTER_WEARABLE), "COMPUTER_WEARABLE");
182     SetNamedPropertyByInteger(
183         env, majorMinorClass, static_cast<int>(MajorMinorClass::COMPUTER_TABLET), "COMPUTER_TABLET");
184     return majorMinorClass;
185 }
186 
PhoneMajorClassOfDeviceInit(napi_env env,napi_value majorMinorClass)187 napi_value NapiConstant::PhoneMajorClassOfDeviceInit(napi_env env, napi_value majorMinorClass)
188 {
189     SetNamedPropertyByInteger(
190         env, majorMinorClass, static_cast<int>(MajorMinorClass::PHONE_UNCATEGORIZED), "PHONE_UNCATEGORIZED");
191     SetNamedPropertyByInteger(
192         env, majorMinorClass, static_cast<int>(MajorMinorClass::PHONE_CELLULAR), "PHONE_CELLULAR");
193     SetNamedPropertyByInteger(
194         env, majorMinorClass, static_cast<int>(MajorMinorClass::PHONE_CORDLESS), "PHONE_CORDLESS");
195     SetNamedPropertyByInteger(env, majorMinorClass, static_cast<int>(MajorMinorClass::PHONE_SMART), "PHONE_SMART");
196     SetNamedPropertyByInteger(
197         env, majorMinorClass, static_cast<int>(MajorMinorClass::PHONE_MODEM_OR_GATEWAY), "PHONE_MODEM_OR_GATEWAY");
198     SetNamedPropertyByInteger(env, majorMinorClass, static_cast<int>(MajorMinorClass::PHONE_ISDN), "PHONE_ISDN");
199     return majorMinorClass;
200 }
201 
NetworkMajorClassOfDeviceInit(napi_env env,napi_value majorMinorClass)202 napi_value NapiConstant::NetworkMajorClassOfDeviceInit(napi_env env, napi_value majorMinorClass)
203 {
204     SetNamedPropertyByInteger(
205         env, majorMinorClass, static_cast<int>(MajorMinorClass::NETWORK_FULLY_AVAILABLE), "NETWORK_FULLY_AVAILABLE");
206     SetNamedPropertyByInteger(
207         env, majorMinorClass, static_cast<int>(MajorMinorClass::NETWORK_1_TO_17_UTILIZED), "NETWORK_1_TO_17_UTILIZED");
208     SetNamedPropertyByInteger(env,
209         majorMinorClass,
210         static_cast<int>(MajorMinorClass::NETWORK_17_TO_33_UTILIZED),
211         "NETWORK_17_TO_33_UTILIZED");
212     SetNamedPropertyByInteger(env,
213         majorMinorClass,
214         static_cast<int>(MajorMinorClass::NETWORK_33_TO_50_UTILIZED),
215         "NETWORK_33_TO_50_UTILIZED");
216     SetNamedPropertyByInteger(env,
217         majorMinorClass,
218         static_cast<int>(MajorMinorClass::NETWORK_60_TO_67_UTILIZED),
219         "NETWORK_60_TO_67_UTILIZED");
220     SetNamedPropertyByInteger(env,
221         majorMinorClass,
222         static_cast<int>(MajorMinorClass::NETWORK_67_TO_83_UTILIZED),
223         "NETWORK_67_TO_83_UTILIZED");
224     SetNamedPropertyByInteger(env,
225         majorMinorClass,
226         static_cast<int>(MajorMinorClass::NETWORK_83_TO_99_UTILIZED),
227         "NETWORK_83_TO_99_UTILIZED");
228     SetNamedPropertyByInteger(
229         env, majorMinorClass, static_cast<int>(MajorMinorClass::NETWORK_NO_SERVICE), "NETWORK_NO_SERVICE");
230     return majorMinorClass;
231 }
232 
AudioVideoMajorClassOfDeviceInit(napi_env env,napi_value majorMinorClass)233 napi_value NapiConstant::AudioVideoMajorClassOfDeviceInit(napi_env env, napi_value majorMinorClass)
234 {
235     SetNamedPropertyByInteger(env, majorMinorClass,
236         static_cast<int>(MajorMinorClass::AUDIO_VIDEO_UNCATEGORIZED), "AUDIO_VIDEO_UNCATEGORIZED");
237     SetNamedPropertyByInteger(env, majorMinorClass,
238         static_cast<int>(MajorMinorClass::AUDIO_VIDEO_WEARABLE_HEADSET), "AUDIO_VIDEO_WEARABLE_HEADSET");
239     SetNamedPropertyByInteger(
240         env, majorMinorClass, static_cast<int>(MajorMinorClass::AUDIO_VIDEO_HANDSFREE), "AUDIO_VIDEO_HANDSFREE");
241     SetNamedPropertyByInteger(
242         env, majorMinorClass, static_cast<int>(MajorMinorClass::AUDIO_VIDEO_MICROPHONE), "AUDIO_VIDEO_MICROPHONE");
243     SetNamedPropertyByInteger(
244         env, majorMinorClass, static_cast<int>(MajorMinorClass::AUDIO_VIDEO_LOUDSPEAKER), "AUDIO_VIDEO_LOUDSPEAKER");
245     SetNamedPropertyByInteger(
246         env, majorMinorClass, static_cast<int>(MajorMinorClass::AUDIO_VIDEO_HEADPHONES), "AUDIO_VIDEO_HEADPHONES");
247     SetNamedPropertyByInteger(env, majorMinorClass,
248         static_cast<int>(MajorMinorClass::AUDIO_VIDEO_PORTABLE_AUDIO), "AUDIO_VIDEO_PORTABLE_AUDIO");
249     SetNamedPropertyByInteger(
250         env, majorMinorClass, static_cast<int>(MajorMinorClass::AUDIO_VIDEO_CAR_AUDIO), "AUDIO_VIDEO_CAR_AUDIO");
251     SetNamedPropertyByInteger(
252         env, majorMinorClass, static_cast<int>(MajorMinorClass::AUDIO_VIDEO_SET_TOP_BOX), "AUDIO_VIDEO_SET_TOP_BOX");
253     SetNamedPropertyByInteger(
254         env, majorMinorClass, static_cast<int>(MajorMinorClass::AUDIO_VIDEO_HIFI_AUDIO), "AUDIO_VIDEO_HIFI_AUDIO");
255     SetNamedPropertyByInteger(
256         env, majorMinorClass, static_cast<int>(MajorMinorClass::AUDIO_VIDEO_VCR), "AUDIO_VIDEO_VCR");
257     SetNamedPropertyByInteger(
258         env, majorMinorClass, static_cast<int>(MajorMinorClass::AUDIO_VIDEO_VIDEO_CAMERA), "AUDIO_VIDEO_VIDEO_CAMERA");
259     SetNamedPropertyByInteger(
260         env, majorMinorClass, static_cast<int>(MajorMinorClass::AUDIO_VIDEO_CAMCORDER), "AUDIO_VIDEO_CAMCORDER");
261     SetNamedPropertyByInteger(env, majorMinorClass,
262         static_cast<int>(MajorMinorClass::AUDIO_VIDEO_VIDEO_MONITOR), "AUDIO_VIDEO_VIDEO_MONITOR");
263     SetNamedPropertyByInteger(env, majorMinorClass,
264         static_cast<int>(MajorMinorClass::AUDIO_VIDEO_VIDEO_DISPLAY_AND_LOUDSPEAKER),
265         "AUDIO_VIDEO_VIDEO_DISPLAY_AND_LOUDSPEAKER");
266     SetNamedPropertyByInteger(env, majorMinorClass,
267         static_cast<int>(MajorMinorClass::AUDIO_VIDEO_VIDEO_CONFERENCING), "AUDIO_VIDEO_VIDEO_CONFERENCING");
268     SetNamedPropertyByInteger(env, majorMinorClass,
269         static_cast<int>(MajorMinorClass::AUDIO_VIDEO_VIDEO_GAMING_TOY), "AUDIO_VIDEO_VIDEO_GAMING_TOY");
270     return majorMinorClass;
271 }
272 
PeripheralMajorClassOfDeviceInit(napi_env env,napi_value majorMinorClass)273 napi_value NapiConstant::PeripheralMajorClassOfDeviceInit(napi_env env, napi_value majorMinorClass)
274 {
275     SetNamedPropertyByInteger(env,
276         majorMinorClass,
277         static_cast<int>(MajorMinorClass::PERIPHERAL_NON_KEYBOARD_NON_POINTING),
278         "PERIPHERAL_NON_KEYBOARD_NON_POINTING");
279     SetNamedPropertyByInteger(
280         env, majorMinorClass, static_cast<int>(MajorMinorClass::PERIPHERAL_KEYBOARD), "PERIPHERAL_KEYBOARD");
281     SetNamedPropertyByInteger(env,
282         majorMinorClass,
283         static_cast<int>(MajorMinorClass::PERIPHERAL_POINTING_DEVICE),
284         "PERIPHERAL_POINTING_DEVICE");
285     SetNamedPropertyByInteger(env,
286         majorMinorClass,
287         static_cast<int>(MajorMinorClass::PERIPHERAL_KEYBOARD_POINTING),
288         "PERIPHERAL_KEYBOARD_POINTING");
289     SetNamedPropertyByInteger(
290         env, majorMinorClass, static_cast<int>(MajorMinorClass::PERIPHERAL_UNCATEGORIZED), "PERIPHERAL_UNCATEGORIZED");
291     SetNamedPropertyByInteger(
292         env, majorMinorClass, static_cast<int>(MajorMinorClass::PERIPHERAL_JOYSTICK), "PERIPHERAL_JOYSTICK");
293     SetNamedPropertyByInteger(
294         env, majorMinorClass, static_cast<int>(MajorMinorClass::PERIPHERAL_GAMEPAD), "PERIPHERAL_GAMEPAD");
295     SetNamedPropertyByInteger(env,
296         majorMinorClass,
297         static_cast<int>(MajorMinorClass::PERIPHERAL_REMOTE_CONTROL),
298         "PERIPHERAL_REMOTE_CONTROL");
299     SetNamedPropertyByInteger(env,
300         majorMinorClass,
301         static_cast<int>(MajorMinorClass::PERIPHERAL_SENSING_DEVICE),
302         "PERIPHERAL_SENSING_DEVICE");
303     SetNamedPropertyByInteger(env,
304         majorMinorClass,
305         static_cast<int>(MajorMinorClass::PERIPHERAL_DIGITIZER_TABLET),
306         "PERIPHERAL_DIGITIZER_TABLET");
307     SetNamedPropertyByInteger(
308         env, majorMinorClass, static_cast<int>(MajorMinorClass::PERIPHERAL_CARD_READER), "PERIPHERAL_CARD_READER");
309     SetNamedPropertyByInteger(
310         env, majorMinorClass, static_cast<int>(MajorMinorClass::PERIPHERAL_DIGITAL_PEN), "PERIPHERAL_DIGITAL_PEN");
311     SetNamedPropertyByInteger(
312         env, majorMinorClass, static_cast<int>(MajorMinorClass::PERIPHERAL_SCANNER_RFID), "PERIPHERAL_SCANNER_RFID");
313     SetNamedPropertyByInteger(env,
314         majorMinorClass,
315         static_cast<int>(MajorMinorClass::PERIPHERAL_GESTURAL_INPUT),
316         "PERIPHERAL_GESTURAL_INPUT");
317     return majorMinorClass;
318 }
319 
ImagingMajorClassOfDeviceInit(napi_env env,napi_value majorMinorClass)320 napi_value NapiConstant::ImagingMajorClassOfDeviceInit(napi_env env, napi_value majorMinorClass)
321 {
322     SetNamedPropertyByInteger(
323         env, majorMinorClass, static_cast<int>(MajorMinorClass::IMAGING_UNCATEGORIZED), "IMAGING_UNCATEGORIZED");
324     SetNamedPropertyByInteger(
325         env, majorMinorClass, static_cast<int>(MajorMinorClass::IMAGING_DISPLAY), "IMAGING_DISPLAY");
326     SetNamedPropertyByInteger(
327         env, majorMinorClass, static_cast<int>(MajorMinorClass::IMAGING_CAMERA), "IMAGING_CAMERA");
328     SetNamedPropertyByInteger(
329         env, majorMinorClass, static_cast<int>(MajorMinorClass::IMAGING_SCANNER), "IMAGING_SCANNER");
330     SetNamedPropertyByInteger(
331         env, majorMinorClass, static_cast<int>(MajorMinorClass::IMAGING_PRINTER), "IMAGING_PRINTER");
332     return majorMinorClass;
333 }
334 
WearableMajorClassOfDeviceInit(napi_env env,napi_value majorMinorClass)335 napi_value NapiConstant::WearableMajorClassOfDeviceInit(napi_env env, napi_value majorMinorClass)
336 {
337     SetNamedPropertyByInteger(
338         env, majorMinorClass, static_cast<int>(MajorMinorClass::WEARABLE_UNCATEGORIZED), "WEARABLE_UNCATEGORIZED");
339     SetNamedPropertyByInteger(
340         env, majorMinorClass, static_cast<int>(MajorMinorClass::WEARABLE_WRIST_WATCH), "WEARABLE_WRIST_WATCH");
341     SetNamedPropertyByInteger(
342         env, majorMinorClass, static_cast<int>(MajorMinorClass::WEARABLE_PAGER), "WEARABLE_PAGER");
343     SetNamedPropertyByInteger(
344         env, majorMinorClass, static_cast<int>(MajorMinorClass::WEARABLE_JACKET), "WEARABLE_JACKET");
345     SetNamedPropertyByInteger(
346         env, majorMinorClass, static_cast<int>(MajorMinorClass::WEARABLE_HELMET), "WEARABLE_HELMET");
347     SetNamedPropertyByInteger(
348         env, majorMinorClass, static_cast<int>(MajorMinorClass::WEARABLE_GLASSES), "WEARABLE_GLASSES");
349     return majorMinorClass;
350 }
351 
ToyMajorClassOfDeviceInit(napi_env env,napi_value majorMinorClass)352 napi_value NapiConstant::ToyMajorClassOfDeviceInit(napi_env env, napi_value majorMinorClass)
353 {
354     SetNamedPropertyByInteger(
355         env, majorMinorClass, static_cast<int>(MajorMinorClass::TOY_UNCATEGORIZED), "TOY_UNCATEGORIZED");
356     SetNamedPropertyByInteger(env, majorMinorClass, static_cast<int>(MajorMinorClass::TOY_ROBOT), "TOY_ROBOT");
357     SetNamedPropertyByInteger(env, majorMinorClass, static_cast<int>(MajorMinorClass::TOY_VEHICLE), "TOY_VEHICLE");
358     SetNamedPropertyByInteger(
359         env, majorMinorClass, static_cast<int>(MajorMinorClass::TOY_DOLL_ACTION_FIGURE), "TOY_DOLL_ACTION_FIGURE");
360     SetNamedPropertyByInteger(
361         env, majorMinorClass, static_cast<int>(MajorMinorClass::TOY_CONTROLLER), "TOY_CONTROLLER");
362     SetNamedPropertyByInteger(env, majorMinorClass, static_cast<int>(MajorMinorClass::TOY_GAME), "TOY_GAME");
363     return majorMinorClass;
364 }
365 
HealthMajorClassOfDeviceInit(napi_env env,napi_value majorMinorClass)366 napi_value NapiConstant::HealthMajorClassOfDeviceInit(napi_env env, napi_value majorMinorClass)
367 {
368     SetNamedPropertyByInteger(
369         env, majorMinorClass, static_cast<int>(MajorMinorClass::HEALTH_UNCATEGORIZED), "HEALTH_UNCATEGORIZED");
370     SetNamedPropertyByInteger(
371         env, majorMinorClass, static_cast<int>(MajorMinorClass::HEALTH_BLOOD_PRESSURE), "HEALTH_BLOOD_PRESSURE");
372     SetNamedPropertyByInteger(
373         env, majorMinorClass, static_cast<int>(MajorMinorClass::HEALTH_THERMOMETER), "HEALTH_THERMOMETER");
374     SetNamedPropertyByInteger(
375         env, majorMinorClass, static_cast<int>(MajorMinorClass::HEALTH_WEIGHING), "HEALTH_WEIGHING");
376     SetNamedPropertyByInteger(
377         env, majorMinorClass, static_cast<int>(MajorMinorClass::HEALTH_GLUCOSE), "HEALTH_GLUCOSE");
378     SetNamedPropertyByInteger(
379         env, majorMinorClass, static_cast<int>(MajorMinorClass::HEALTH_PULSE_OXIMETER), "HEALTH_PULSE_OXIMETER");
380     SetNamedPropertyByInteger(
381         env, majorMinorClass, static_cast<int>(MajorMinorClass::HEALTH_PULSE_RATE), "HEALTH_PULSE_RATE");
382     SetNamedPropertyByInteger(
383         env, majorMinorClass, static_cast<int>(MajorMinorClass::HEALTH_DATA_DISPLAY), "HEALTH_DATA_DISPLAY");
384     SetNamedPropertyByInteger(
385         env, majorMinorClass, static_cast<int>(MajorMinorClass::HEALTH_STEP_COUNTER), "HEALTH_STEP_COUNTER");
386     SetNamedPropertyByInteger(env,
387         majorMinorClass,
388         static_cast<int>(MajorMinorClass::HEALTH_BODY_COMPOSITION_ANALYZER),
389         "HEALTH_BODY_COMPOSITION_ANALYZER");
390     SetNamedPropertyByInteger(
391         env, majorMinorClass, static_cast<int>(MajorMinorClass::HEALTH_PEAK_FLOW_MOITOR), "HEALTH_PEAK_FLOW_MOITOR");
392     SetNamedPropertyByInteger(
393         env, majorMinorClass, static_cast<int>(MajorMinorClass::HEALTH_PEAK_FLOW_MONITOR), "HEALTH_PEAK_FLOW_MONITOR");
394     SetNamedPropertyByInteger(env,
395         majorMinorClass,
396         static_cast<int>(MajorMinorClass::HEALTH_MEDICATION_MONITOR),
397         "HEALTH_MEDICATION_MONITOR");
398     SetNamedPropertyByInteger(
399         env, majorMinorClass, static_cast<int>(MajorMinorClass::HEALTH_KNEE_PROSTHESIS), "HEALTH_KNEE_PROSTHESIS");
400     SetNamedPropertyByInteger(
401         env, majorMinorClass, static_cast<int>(MajorMinorClass::HEALTH_ANKLE_PROSTHESIS), "HEALTH_ANKLE_PROSTHESIS");
402     SetNamedPropertyByInteger(env,
403         majorMinorClass,
404         static_cast<int>(MajorMinorClass::HEALTH_GENERIC_HEALTH_MANAGER),
405         "HEALTH_GENERIC_HEALTH_MANAGER");
406     SetNamedPropertyByInteger(env,
407         majorMinorClass,
408         static_cast<int>(MajorMinorClass::HEALTH_PERSONAL_MOBILITY_DEVICE),
409         "HEALTH_PERSONAL_MOBILITY_DEVICE");
410     return majorMinorClass;
411 }
412 }  // namespace Bluetooth
413 }  // namespace OHOS
414