From 2cfbe2727304f61ac7657c1f3f0939347e3da301 Mon Sep 17 00:00:00 2001 From: hellohyh001 Date: Mon, 28 Feb 2022 15:42:33 +0800 Subject: [PATCH 1/4] Signed-off-by:hellohyh001 Signed-off-by: hellohyh001 --- interfaces/plugin/src/sensor_js.cpp | 46 +++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/interfaces/plugin/src/sensor_js.cpp b/interfaces/plugin/src/sensor_js.cpp index 11b83247..fae07e6c 100644 --- a/interfaces/plugin/src/sensor_js.cpp +++ b/interfaces/plugin/src/sensor_js.cpp @@ -806,6 +806,51 @@ static napi_value GetSingleSensor(napi_env env, napi_callback_info info) return nullptr; } +napi_value EnumClassConstructor(napi_env env, napi_callback_info info) +{ + size_t argc = 0; + napi_value args[1] = {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 CreateEnumSensorType(napi_env env, napi_value exports) +{ + napi_property_descriptor desc[] = { + DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_ACCELEROMETER", GetNapiInt32(SENSOR_TYPE_ID_ACCELEROMETER, env)), + DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_GYROSCOPE", GetNapiInt32(SENSOR_TYPE_ID_GYROSCOPE, env)), + DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_AMBIENT_LIGHT", GetNapiInt32(SENSOR_TYPE_ID_AMBIENT_LIGHT, env)), + DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_MAGNETIC_FIELD", GetNapiInt32(SENSOR_TYPE_ID_MAGNETIC_FIELD, env)), + DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_BAROMETER", GetNapiInt32(SENSOR_TYPE_ID_BAROMETER, env)), + DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_HALL", GetNapiInt32(SENSOR_TYPE_ID_HALL, env)), + DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_PROXIMITY", GetNapiInt32(SENSOR_TYPE_ID_PROXIMITY, env)), + DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_HUMIDITY", GetNapiInt32(SENSOR_TYPE_ID_HUMIDITY, env)), + DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_ORIENTATION", GetNapiInt32(SENSOR_TYPE_ID_ORIENTATION, env)), + DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_GRAVITY", GetNapiInt32(SENSOR_TYPE_ID_GRAVITY, env)), + DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_LINEAR_ACCELERATION", GetNapiInt32(SENSOR_TYPE_ID_LINEAR_ACCELERATION, env)), + DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_ROTATION_VECTOR", GetNapiInt32(SENSOR_TYPE_ID_ROTATION_VECTOR, env)), + DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_AMBIENT_TEMPERATURE", GetNapiInt32(SENSOR_TYPE_ID_AMBIENT_TEMPERATURE, env)), + DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED", + GetNapiInt32(SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED, env)), + DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED", GetNapiInt32(SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED, env)), + DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_SIGNIFICANT_MOTION", GetNapiInt32(SENSOR_TYPE_ID_SIGNIFICANT_MOTION, env)), + DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_PEDOMETER_DETECTION", GetNapiInt32(SENSOR_TYPE_ID_PEDOMETER_DETECTION, env)), + DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_PEDOMETER", GetNapiInt32(SENSOR_TYPE_ID_PEDOMETER, env)), + DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_HEART_RATE", GetNapiInt32(SENSOR_TYPE_ID_HEART_RATE, env)), + DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_WEAR_DETECTION", GetNapiInt32(SENSOR_TYPE_ID_WEAR_DETECTION, env)), + DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED", GetNapiInt32(SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED, env)), + }; + napi_value result = nullptr; + napi_define_class(env, "SensorType", NAPI_AUTO_LENGTH, EnumClassConstructor, nullptr, + sizeof(desc) / sizeof(*desc), desc, &result); + napi_set_named_property(env, exports, "SensorType", result); + return exports; +} EXTERN_C_START static napi_value Init(napi_env env, napi_value exports) @@ -826,6 +871,7 @@ static napi_value Init(napi_env env, napi_value exports) DECLARE_NAPI_FUNCTION("getSingleSensor", GetSingleSensor), }; NAPI_CALL(env, napi_define_properties(env, exports, sizeof(desc) / sizeof(napi_property_descriptor), desc)); + CreateEnumSensorType(env, exports); return exports; } EXTERN_C_END -- Gitee From 3cf4eb8b0493d4e7b2ca95e0f4a46491a4325cc8 Mon Sep 17 00:00:00 2001 From: hellohyh001 Date: Mon, 28 Feb 2022 15:51:42 +0800 Subject: [PATCH 2/4] Signed-off-by:hellohyh001 Signed-off-by: hellohyh001 --- interfaces/plugin/src/sensor_js.cpp | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/interfaces/plugin/src/sensor_js.cpp b/interfaces/plugin/src/sensor_js.cpp index fae07e6c..bc9c0cb5 100644 --- a/interfaces/plugin/src/sensor_js.cpp +++ b/interfaces/plugin/src/sensor_js.cpp @@ -832,18 +832,25 @@ napi_value CreateEnumSensorType(napi_env env, napi_value exports) DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_HUMIDITY", GetNapiInt32(SENSOR_TYPE_ID_HUMIDITY, env)), DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_ORIENTATION", GetNapiInt32(SENSOR_TYPE_ID_ORIENTATION, env)), DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_GRAVITY", GetNapiInt32(SENSOR_TYPE_ID_GRAVITY, env)), - DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_LINEAR_ACCELERATION", GetNapiInt32(SENSOR_TYPE_ID_LINEAR_ACCELERATION, env)), - DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_ROTATION_VECTOR", GetNapiInt32(SENSOR_TYPE_ID_ROTATION_VECTOR, env)), - DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_AMBIENT_TEMPERATURE", GetNapiInt32(SENSOR_TYPE_ID_AMBIENT_TEMPERATURE, env)), + DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_LINEAR_ACCELERATION", + GetNapiInt32(SENSOR_TYPE_ID_LINEAR_ACCELERATION, env)), + DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_ROTATION_VECTOR", + GetNapiInt32(SENSOR_TYPE_ID_ROTATION_VECTOR, env)), + DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_AMBIENT_TEMPERATURE", + GetNapiInt32(SENSOR_TYPE_ID_AMBIENT_TEMPERATURE, env)), DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED", GetNapiInt32(SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED, env)), - DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED", GetNapiInt32(SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED, env)), - DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_SIGNIFICANT_MOTION", GetNapiInt32(SENSOR_TYPE_ID_SIGNIFICANT_MOTION, env)), - DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_PEDOMETER_DETECTION", GetNapiInt32(SENSOR_TYPE_ID_PEDOMETER_DETECTION, env)), + DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED", + GetNapiInt32(SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED, env)), + DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_SIGNIFICANT_MOTION", + GetNapiInt32(SENSOR_TYPE_ID_SIGNIFICANT_MOTION, env)), + DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_PEDOMETER_DETECTION", + GetNapiInt32(SENSOR_TYPE_ID_PEDOMETER_DETECTION, env)), DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_PEDOMETER", GetNapiInt32(SENSOR_TYPE_ID_PEDOMETER, env)), DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_HEART_RATE", GetNapiInt32(SENSOR_TYPE_ID_HEART_RATE, env)), DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_WEAR_DETECTION", GetNapiInt32(SENSOR_TYPE_ID_WEAR_DETECTION, env)), - DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED", GetNapiInt32(SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED, env)), + DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED", + GetNapiInt32(SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED, env)), }; napi_value result = nullptr; napi_define_class(env, "SensorType", NAPI_AUTO_LENGTH, EnumClassConstructor, nullptr, -- Gitee From 500696210db84f9d2078c572036d39118567ca66 Mon Sep 17 00:00:00 2001 From: hellohyh001 Date: Mon, 28 Feb 2022 15:53:13 +0800 Subject: [PATCH 3/4] Signed-off-by:hellohyh001 Signed-off-by: hellohyh001 --- interfaces/plugin/src/sensor_js.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/interfaces/plugin/src/sensor_js.cpp b/interfaces/plugin/src/sensor_js.cpp index bc9c0cb5..da017990 100644 --- a/interfaces/plugin/src/sensor_js.cpp +++ b/interfaces/plugin/src/sensor_js.cpp @@ -806,7 +806,7 @@ static napi_value GetSingleSensor(napi_env env, napi_callback_info info) return nullptr; } -napi_value EnumClassConstructor(napi_env env, napi_callback_info info) +napi_value EnumClassConstructor(const napi_env env, const napi_callback_info info) { size_t argc = 0; napi_value args[1] = {0}; @@ -819,7 +819,7 @@ napi_value EnumClassConstructor(napi_env env, napi_callback_info info) return res; } -napi_value CreateEnumSensorType(napi_env env, napi_value exports) +napi_value CreateEnumSensorType(const napi_env env, napi_value exports) { napi_property_descriptor desc[] = { DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_ACCELEROMETER", GetNapiInt32(SENSOR_TYPE_ID_ACCELEROMETER, env)), -- Gitee From 721b16cf388d8a2bf80e70802b962d5e7908f1af Mon Sep 17 00:00:00 2001 From: hellohyh001 Date: Mon, 28 Feb 2022 16:03:11 +0800 Subject: [PATCH 4/4] Signed-off-by:hellohyh001 Signed-off-by: hellohyh001 --- interfaces/plugin/src/sensor_js.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/interfaces/plugin/src/sensor_js.cpp b/interfaces/plugin/src/sensor_js.cpp index da017990..fe2ea403 100644 --- a/interfaces/plugin/src/sensor_js.cpp +++ b/interfaces/plugin/src/sensor_js.cpp @@ -806,7 +806,7 @@ static napi_value GetSingleSensor(napi_env env, napi_callback_info info) return nullptr; } -napi_value EnumClassConstructor(const napi_env env, const napi_callback_info info) +static napi_value EnumClassConstructor(napi_env env, napi_callback_info info) { size_t argc = 0; napi_value args[1] = {0}; @@ -819,7 +819,7 @@ napi_value EnumClassConstructor(const napi_env env, const napi_callback_info inf return res; } -napi_value CreateEnumSensorType(const napi_env env, napi_value exports) +static napi_value CreateEnumSensorType(napi_env env, napi_value exports) { napi_property_descriptor desc[] = { DECLARE_NAPI_STATIC_PROPERTY("SENSOR_TYPE_ID_ACCELEROMETER", GetNapiInt32(SENSOR_TYPE_ID_ACCELEROMETER, env)), -- Gitee