From 3506c12bdf4cc8f41849a53b664dc37840f9243e Mon Sep 17 00:00:00 2001 From: "weidong.liu@thundersoft.com" Date: Mon, 7 Mar 2022 13:51:27 +0800 Subject: [PATCH 1/3] change deviceState Enum for hap --- .../kits/js/include/native_devicemanager_js.h | 2 + .../kits/js/src/native_devicemanager_js.cpp | 48 +++++++++++++++++++ 2 files changed, 50 insertions(+) diff --git a/interfaces/kits/js/include/native_devicemanager_js.h b/interfaces/kits/js/include/native_devicemanager_js.h index f3a0f1a53..c8dbc522c 100644 --- a/interfaces/kits/js/include/native_devicemanager_js.h +++ b/interfaces/kits/js/include/native_devicemanager_js.h @@ -178,6 +178,8 @@ public: virtual ~DeviceManagerNapi(); static napi_value Init(napi_env env, napi_value exports); static napi_value Constructor(napi_env env, napi_callback_info info); + static napi_value DeviceStateTypeConstructor(napi_env env, napi_callback_info info); + static napi_value InitDeviceStateType(napi_env env, napi_value exports); static napi_value CreateDeviceManager(napi_env env, napi_callback_info info); static napi_value ReleaseDeviceManager(napi_env env, napi_callback_info info); static napi_value SetUserOperationSync(napi_env env, napi_callback_info info); diff --git a/interfaces/kits/js/src/native_devicemanager_js.cpp b/interfaces/kits/js/src/native_devicemanager_js.cpp index c56e41381..20c401b66 100644 --- a/interfaces/kits/js/src/native_devicemanager_js.cpp +++ b/interfaces/kits/js/src/native_devicemanager_js.cpp @@ -46,6 +46,7 @@ const int32_t DM_NAPI_ARGS_TWO = 2; const int32_t DM_NAPI_ARGS_THREE = 3; const int32_t DM_NAPI_SUB_ID_MAX = 65535; +napi_ref deviceStateTypeConstructor_ = nullptr; std::map g_deviceManagerMap; std::map> g_initCallbackMap; @@ -1928,6 +1929,52 @@ napi_value DeviceManagerNapi::Init(napi_env env, napi_value exports) return exports; } +napi_value DeviceManagerNapi::DeviceStateTypeConstructor(napi_env env, napi_callback_info info) +{ + size_t argc = 0; + napi_value args[DM_NAPI_ARGS_ONE] = {0}; + napi_value res = nullptr; + void *data = nullptr; + + napi_status status = napi_get_cb_info(env, info, &argc, args, &res, &data); + if (status != napi_ok) { + return nullptr; + } + + return res; +} +napi_value DeviceManagerNapi::InitDeviceStateType(napi_env env, napi_value exports) +{ + napi_value device_state_online; + napi_value device_state_ready; + napi_value device_state_offline; + napi_value device_state_change; + int32_t refCount = 1; + + napi_create_uint32(env, static_cast(DmDeviceState::DEVICE_STATE_ONLINE), + &device_state_online); + napi_create_uint32(env, static_cast(DmDeviceState::DEVICE_INFO_READY), + &device_state_ready); + napi_create_uint32(env, static_cast(DmDeviceState::DEVICE_STATE_OFFLINE), + &device_state_offline); + napi_create_uint32(env, static_cast(DmDeviceState::DEVICE_INFO_CHANGED), + &device_state_change); + + napi_property_descriptor desc[] = { + DECLARE_NAPI_STATIC_PROPERTY("ONLINE", device_state_online), + DECLARE_NAPI_STATIC_PROPERTY("READY", device_state_ready), + DECLARE_NAPI_STATIC_PROPERTY("OFFLINE", device_state_offline), + DECLARE_NAPI_STATIC_PROPERTY("CHANGE", device_state_change), + }; + + napi_value result = nullptr; + napi_define_class(env, "DeviceStateChangeAction", NAPI_AUTO_LENGTH, DeviceStateTypeConstructor, + nullptr, sizeof(desc) / sizeof(*desc), desc, &result); + napi_create_reference(env, result, refCount, &deviceStateTypeConstructor_); + napi_set_named_property(env, exports, "DeviceStateChangeAction", result); + return exports; +} + /* * Function registering all props and functions of ohos.distributedhardware */ @@ -1935,6 +1982,7 @@ static napi_value Export(napi_env env, napi_value exports) { LOGI("Export() is called!"); DeviceManagerNapi::Init(env, exports); + DeviceManagerNapi::InitDeviceStateType(env, exports); return exports; } -- Gitee From 74f14ec3c3ad94e9607ef837c3a8a2c5928da1e9 Mon Sep 17 00:00:00 2001 From: fuchao Date: Mon, 7 Mar 2022 08:58:08 +0000 Subject: [PATCH 2/3] update interfaces/kits/js/include/native_devicemanager_js.h. --- interfaces/kits/js/include/native_devicemanager_js.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/interfaces/kits/js/include/native_devicemanager_js.h b/interfaces/kits/js/include/native_devicemanager_js.h index c8dbc522c..809b0639e 100644 --- a/interfaces/kits/js/include/native_devicemanager_js.h +++ b/interfaces/kits/js/include/native_devicemanager_js.h @@ -178,8 +178,16 @@ public: virtual ~DeviceManagerNapi(); static napi_value Init(napi_env env, napi_value exports); static napi_value Constructor(napi_env env, napi_callback_info info); - static napi_value DeviceStateTypeConstructor(napi_env env, napi_callback_info info); - static napi_value InitDeviceStateType(napi_env env, napi_value exports); + static napi_value EnumTypeConstructor(napi_env env, napi_callback_info info); + static napi_value InitDeviceTypeEnum(napi_env env, napi_value exports); + static napi_value InitDeviceStateChangeActionEnum(napi_env env, napi_value exports); + static napi_value InitDeviceSortTypeEnum(napi_env env, napi_value exports); + static napi_value InitDiscoverModeEnum(napi_env env, napi_value exports); + static napi_value InitExchangeMediumEnum(napi_env env, napi_value exports); + static napi_value InitExchangeFreqEnum(napi_env env, napi_value exports); + static napi_value InitSubscribeCapEnum(napi_env env, napi_value exports); + static napi_value InitFaTypeEnum(napi_env env, napi_value exports); + static napi_value InitUserOperationActionEnum(napi_env env, napi_value exports); static napi_value CreateDeviceManager(napi_env env, napi_callback_info info); static napi_value ReleaseDeviceManager(napi_env env, napi_callback_info info); static napi_value SetUserOperationSync(napi_env env, napi_callback_info info); -- Gitee From 9da5337edd7c595dc266402838341744f7f83732 Mon Sep 17 00:00:00 2001 From: fuchao Date: Mon, 7 Mar 2022 08:59:16 +0000 Subject: [PATCH 3/3] update interfaces/kits/js/src/native_devicemanager_js.cpp. --- .../kits/js/src/native_devicemanager_js.cpp | 293 +++++++++++++++++- 1 file changed, 287 insertions(+), 6 deletions(-) diff --git a/interfaces/kits/js/src/native_devicemanager_js.cpp b/interfaces/kits/js/src/native_devicemanager_js.cpp index 20c401b66..371f97f66 100644 --- a/interfaces/kits/js/src/native_devicemanager_js.cpp +++ b/interfaces/kits/js/src/native_devicemanager_js.cpp @@ -46,7 +46,15 @@ const int32_t DM_NAPI_ARGS_TWO = 2; const int32_t DM_NAPI_ARGS_THREE = 3; const int32_t DM_NAPI_SUB_ID_MAX = 65535; -napi_ref deviceStateTypeConstructor_ = nullptr; +napi_ref deviceTypeEnumConstructor_ = nullptr; +napi_ref deviceStateChangeActionEnumConstructor_ = nullptr; +napi_ref deviceSortTypeEnumConstructor_ = nullptr; +napi_ref discoverModeEnumConstructor_ = nullptr; +napi_ref exchangeMediumEnumConstructor_ = nullptr; +napi_ref exchangeFreqEnumConstructor_ = nullptr; +napi_ref subscribeCapEnumConstructor_ = nullptr; +napi_ref faTypeEnumConstructor_ = nullptr; +napi_ref userOperationActionEnumConstructor_ = nullptr; std::map g_deviceManagerMap; std::map> g_initCallbackMap; @@ -1929,7 +1937,7 @@ napi_value DeviceManagerNapi::Init(napi_env env, napi_value exports) return exports; } -napi_value DeviceManagerNapi::DeviceStateTypeConstructor(napi_env env, napi_callback_info info) +napi_value DeviceManagerNapi::EnumTypeConstructor(napi_env env, napi_callback_info info) { size_t argc = 0; napi_value args[DM_NAPI_ARGS_ONE] = {0}; @@ -1943,7 +1951,60 @@ napi_value DeviceManagerNapi::DeviceStateTypeConstructor(napi_env env, napi_call return res; } -napi_value DeviceManagerNapi::InitDeviceStateType(napi_env env, napi_value exports) + +napi_value DeviceManagerNapi::InitDeviceTypeEnum(napi_env env, napi_value exports) +{ + napi_value unknown_type; + napi_value wifi_camera; + napi_value speaker; + napi_value pc; + napi_value phone; + napi_value tablet; + napi_value wearable; + napi_value car; + napi_value tv; + int32_t refCount = 1; + + napi_create_uint32(env, static_cast(DmDeviceType::DEVICE_TYPE_UNKNOWN), + &unknown_type); + napi_create_uint32(env, static_cast(DmDeviceType::DEVICE_TYPE_WIFI_CAMERA), + &wifi_camera); + napi_create_uint32(env, static_cast(DmDeviceType::DEVICE_TYPE_AUDIO), + &speaker); + napi_create_uint32(env, static_cast(DmDeviceType::DEVICE_TYPE_PC), + &pc); + napi_create_uint32(env, static_cast(DmDeviceType::DEVICE_TYPE_PHONE), + &phone); + napi_create_uint32(env, static_cast(DmDeviceType::DEVICE_TYPE_PAD), + &tablet); + napi_create_uint32(env, static_cast(DmDeviceType::DEVICE_TYPE_WATCH), + &wearable); + napi_create_uint32(env, static_cast(DmDeviceType::DEVICE_TYPE_CAR), + &car); + napi_create_uint32(env, static_cast(DmDeviceType::DEVICE_TYPE_TV), + &tv); + + napi_property_descriptor desc[] = { + DECLARE_NAPI_STATIC_PROPERTY("UNKNOWN_TYPE", unknown_type), + DECLARE_NAPI_STATIC_PROPERTY("WIFI_CAMERA", wifi_camera), + DECLARE_NAPI_STATIC_PROPERTY("SPEAKER", speaker), + DECLARE_NAPI_STATIC_PROPERTY("PC", pc), + DECLARE_NAPI_STATIC_PROPERTY("PHONE", phone), + DECLARE_NAPI_STATIC_PROPERTY("TABLET", tablet), + DECLARE_NAPI_STATIC_PROPERTY("WEARABLE", wearable), + DECLARE_NAPI_STATIC_PROPERTY("CAR", car), + DECLARE_NAPI_STATIC_PROPERTY("TV", tv), + }; + + napi_value result = nullptr; + napi_define_class(env, "DeviceType", NAPI_AUTO_LENGTH, EnumTypeConstructor, + nullptr, sizeof(desc) / sizeof(*desc), desc, &result); + napi_create_reference(env, result, refCount, &deviceTypeEnumConstructor_); + napi_set_named_property(env, exports, "DeviceType", result); + return exports; +} + +napi_value DeviceManagerNapi::InitDeviceStateChangeActionEnum(napi_env env, napi_value exports) { napi_value device_state_online; napi_value device_state_ready; @@ -1968,13 +2029,225 @@ napi_value DeviceManagerNapi::InitDeviceStateType(napi_env env, napi_value expor }; napi_value result = nullptr; - napi_define_class(env, "DeviceStateChangeAction", NAPI_AUTO_LENGTH, DeviceStateTypeConstructor, + napi_define_class(env, "DeviceStateChangeAction", NAPI_AUTO_LENGTH, EnumTypeConstructor, nullptr, sizeof(desc) / sizeof(*desc), desc, &result); - napi_create_reference(env, result, refCount, &deviceStateTypeConstructor_); + napi_create_reference(env, result, refCount, &deviceStateChangeActionEnumConstructor_); napi_set_named_property(env, exports, "DeviceStateChangeAction", result); return exports; } +napi_value DeviceManagerNapi::InitDeviceSortTypeEnum(napi_env env, napi_value exports) +{ + napi_value most_recent_use; + napi_value most_frequent_use; + napi_value ai; + int32_t refCount = 1; + + napi_create_uint32(env, static_cast(0), + &most_recent_use); + napi_create_uint32(env, static_cast(1), + &most_frequent_use); + napi_create_uint32(env, static_cast(2), + &ai); + + napi_property_descriptor desc[] = { + DECLARE_NAPI_STATIC_PROPERTY("MOST_RECENT_USE", most_recent_use), + DECLARE_NAPI_STATIC_PROPERTY("MOST_FREQUENT_USE", most_frequent_use), + DECLARE_NAPI_STATIC_PROPERTY("AI", ai), + }; + + napi_value result = nullptr; + napi_define_class(env, "DeviceSortType", NAPI_AUTO_LENGTH, EnumTypeConstructor, + nullptr, sizeof(desc) / sizeof(*desc), desc, &result); + napi_create_reference(env, result, refCount, &deviceSortTypeEnumConstructor_); + napi_set_named_property(env, exports, "DeviceSortType", result); + return exports; +} + +napi_value DeviceManagerNapi::InitDiscoverModeEnum(napi_env env, napi_value exports) +{ + napi_value discover_mode_passive; + napi_value discover_mode_active; + int32_t refCount = 1; + + napi_create_uint32(env, static_cast(DmDiscoverMode::DM_DISCOVER_MODE_PASSIVE), + &discover_mode_passive); + napi_create_uint32(env, static_cast(DmDiscoverMode::DM_DISCOVER_MODE_ACTIVE), + &discover_mode_active); + + napi_property_descriptor desc[] = { + DECLARE_NAPI_STATIC_PROPERTY("DISCOVER_MODE_PASSIVE", discover_mode_passive), + DECLARE_NAPI_STATIC_PROPERTY("DISCOVER_MODE_ACTIVE", discover_mode_active), + }; + + napi_value result = nullptr; + napi_define_class(env, "DiscoverMode", NAPI_AUTO_LENGTH, EnumTypeConstructor, + nullptr, sizeof(desc) / sizeof(*desc), desc, &result); + napi_create_reference(env, result, refCount, &discoverModeEnumConstructor_); + napi_set_named_property(env, exports, "DiscoverMode", result); + return exports; +} + +napi_value DeviceManagerNapi::InitExchangeMediumEnum(napi_env env, napi_value exports) +{ + napi_value medium_auto; + napi_value medium_ble; + napi_value medium_coap; + napi_value medium_usb; + napi_value medium_butt; + int32_t refCount = 1; + + napi_create_uint32(env, static_cast(DmExchangeMedium::DM_AUTO), + &medium_auto); + napi_create_uint32(env, static_cast(DmExchangeMedium::DM_BLE), + &medium_ble); + napi_create_uint32(env, static_cast(DmExchangeMedium::DM_COAP), + &medium_coap); + napi_create_uint32(env, static_cast(DmExchangeMedium::DM_USB), + &medium_usb); + napi_create_uint32(env, static_cast(DmExchangeMedium::DM_MEDIUM_BUTT), + &medium_butt); + + napi_property_descriptor desc[] = { + DECLARE_NAPI_STATIC_PROPERTY("AUTO", medium_auto), + DECLARE_NAPI_STATIC_PROPERTY("BLE", medium_ble), + DECLARE_NAPI_STATIC_PROPERTY("COAP", medium_coap), + DECLARE_NAPI_STATIC_PROPERTY("USB", medium_usb), + DECLARE_NAPI_STATIC_PROPERTY("DM_MEDIUM_BUTT", medium_butt), + }; + + napi_value result = nullptr; + napi_define_class(env, "ExchangeMedium", NAPI_AUTO_LENGTH, EnumTypeConstructor, + nullptr, sizeof(desc) / sizeof(*desc), desc, &result); + napi_create_reference(env, result, refCount, &exchangeMediumEnumConstructor_); + napi_set_named_property(env, exports, "ExchangeMedium", result); + return exports; +} + +napi_value DeviceManagerNapi::InitExchangeFreqEnum(napi_env env, napi_value exports) +{ + napi_value low; + napi_value mid; + napi_value high; + napi_value super_high; + napi_value freq_butt; + int32_t refCount = 1; + + napi_create_uint32(env, static_cast(DmExchangeFreq::DM_LOW), + &low); + napi_create_uint32(env, static_cast(DmExchangeFreq::DM_MID), + &mid); + napi_create_uint32(env, static_cast(DmExchangeFreq::DM_HIGH), + &high); + napi_create_uint32(env, static_cast(DmExchangeFreq::DM_SUPER_HIGH), + &super_high); + napi_create_uint32(env, static_cast(DmExchangeFreq::DM_FREQ_BUTT), + &freq_butt); + + napi_property_descriptor desc[] = { + DECLARE_NAPI_STATIC_PROPERTY("LOW", low), + DECLARE_NAPI_STATIC_PROPERTY("MID", mid), + DECLARE_NAPI_STATIC_PROPERTY("HIGH", high), + DECLARE_NAPI_STATIC_PROPERTY("SUPER_HIGH", super_high), + DECLARE_NAPI_STATIC_PROPERTY("DM_FREQ_BUTT", freq_butt), + }; + + napi_value result = nullptr; + napi_define_class(env, "ExchangeFreq", NAPI_AUTO_LENGTH, EnumTypeConstructor, + nullptr, sizeof(desc) / sizeof(*desc), desc, &result); + napi_create_reference(env, result, refCount, &exchangeFreqEnumConstructor_); + napi_set_named_property(env, exports, "ExchangeFreq", result); + return exports; +} + +napi_value DeviceManagerNapi::InitSubscribeCapEnum(napi_env env, napi_value exports) +{ + napi_value subscribe_capability_ddmp; + napi_value subscribe_capability_osd; + int32_t refCount = 1; + + napi_create_uint32(env, static_cast(DM_NAPI_SUBSCRIBE_CAPABILITY_DDMP), + &subscribe_capability_ddmp); + napi_create_uint32(env, static_cast(DM_NAPI_SUBSCRIBE_CAPABILITY_OSD), + &subscribe_capability_osd); + + napi_property_descriptor desc[] = { + DECLARE_NAPI_STATIC_PROPERTY("SUBSCRIBE_CAPABILITY_DDMP", subscribe_capability_ddmp), + DECLARE_NAPI_STATIC_PROPERTY("SUBSCRIBE_CAPABILITY_OSD", subscribe_capability_osd), + }; + + napi_value result = nullptr; + napi_define_class(env, "SubscribeCap", NAPI_AUTO_LENGTH, EnumTypeConstructor, + nullptr, sizeof(desc) / sizeof(*desc), desc, &result); + napi_create_reference(env, result, refCount, &subscribeCapEnumConstructor_); + napi_set_named_property(env, exports, "SubscribeCap", result); + return exports; +} + +napi_value DeviceManagerNapi::InitFaTypeEnum(napi_env env, napi_value exports) +{ + napi_value fa_type_unknown; + napi_value fa_type_auth; + napi_value fa_type_conwifi; + int32_t refCount = 1; + + napi_create_uint32(env, static_cast(0), + &fa_type_unknown); + napi_create_uint32(env, static_cast(1), + &fa_type_auth); + napi_create_uint32(env, static_cast(2), + &fa_type_conwifi); + + napi_property_descriptor desc[] = { + DECLARE_NAPI_STATIC_PROPERTY("FA_TYPE_UNKNOWN", fa_type_unknown), + DECLARE_NAPI_STATIC_PROPERTY("FA_TYPE_Auth", fa_type_auth), + DECLARE_NAPI_STATIC_PROPERTY("FA_TYPE_ConWifi", fa_type_conwifi), + }; + + napi_value result = nullptr; + napi_define_class(env, "FaType", NAPI_AUTO_LENGTH, EnumTypeConstructor, + nullptr, sizeof(desc) / sizeof(*desc), desc, &result); + napi_create_reference(env, result, refCount, &faTypeEnumConstructor_); + napi_set_named_property(env, exports, "FaType", result); + return exports; +} + +napi_value DeviceManagerNapi::InitUserOperationActionEnum(napi_env env, napi_value exports) +{ + napi_value action_allow_auth; + napi_value action_cancel_auth; + napi_value action_cancel_pincode_display; + napi_value action_cancel_pincode_input; + napi_value action_cancel_conwifi_input; + int32_t refCount = 1; + + napi_create_uint32(env, static_cast(FaAction::USER_OPERATION_TYPE_ALLOW_AUTH), + &action_allow_auth); + napi_create_uint32(env, static_cast(FaAction::USER_OPERATION_TYPE_CANCEL_AUTH), + &action_cancel_auth); + napi_create_uint32(env, static_cast(FaAction::USER_OPERATION_TYPE_CANCEL_PINCODE_DISPLAY), + &action_cancel_pincode_display); + napi_create_uint32(env, static_cast(FaAction::USER_OPERATION_TYPE_CANCEL_PINCODE_INPUT), + &action_cancel_pincode_input); + napi_create_uint32(env, static_cast(5), + &action_cancel_conwifi_input); + + napi_property_descriptor desc[] = { + DECLARE_NAPI_STATIC_PROPERTY("ACTION_ALLOW_AUTH", action_allow_auth), + DECLARE_NAPI_STATIC_PROPERTY("ACTION_CANCEL_AUTH", action_cancel_auth), + DECLARE_NAPI_STATIC_PROPERTY("ACTION_CANCEL_PINCODE_DISPLAY", action_cancel_pincode_display), + DECLARE_NAPI_STATIC_PROPERTY("ACTION_CANCEL_PINCODE_INPUT", action_cancel_pincode_input), + DECLARE_NAPI_STATIC_PROPERTY("ACTION_CANCEL_CONWIFI_INPUT", action_cancel_conwifi_input), + }; + + napi_value result = nullptr; + napi_define_class(env, "UserOperationAction", NAPI_AUTO_LENGTH, EnumTypeConstructor, + nullptr, sizeof(desc) / sizeof(*desc), desc, &result); + napi_create_reference(env, result, refCount, &userOperationActionEnumConstructor_); + napi_set_named_property(env, exports, "UserOperationAction", result); + return exports; +} + /* * Function registering all props and functions of ohos.distributedhardware */ @@ -1982,7 +2255,15 @@ static napi_value Export(napi_env env, napi_value exports) { LOGI("Export() is called!"); DeviceManagerNapi::Init(env, exports); - DeviceManagerNapi::InitDeviceStateType(env, exports); + DeviceManagerNapi::InitDeviceTypeEnum(env, exports); + DeviceManagerNapi::InitDeviceStateChangeActionEnum(env, exports); + DeviceManagerNapi::InitDeviceSortTypeEnum(env, exports); + DeviceManagerNapi::InitDiscoverModeEnum(env, exports); + DeviceManagerNapi::InitExchangeMediumEnum(env, exports); + DeviceManagerNapi::InitExchangeFreqEnum(env, exports); + DeviceManagerNapi::InitSubscribeCapEnum(env, exports); + DeviceManagerNapi::InitFaTypeEnum(env, exports); + DeviceManagerNapi::InitUserOperationActionEnum(env, exports); return exports; } -- Gitee