From c302f816858f7f7e1857277ae0d27aed7e2e20bc Mon Sep 17 00:00:00 2001 From: wuzhihuitmac Date: Fri, 15 Sep 2023 02:55:58 +0000 Subject: [PATCH] Remove duplicate code Signed-off-by: wuzhihuitmac Change-Id: I99da038519142cc842778652765df8453476dee5 --- interfaces/plugin/src/sensor_js.cpp | 214 +++++------------------ utils/common/include/miscdevice_common.h | 46 ----- 2 files changed, 46 insertions(+), 214 deletions(-) delete mode 100755 utils/common/include/miscdevice_common.h diff --git a/interfaces/plugin/src/sensor_js.cpp b/interfaces/plugin/src/sensor_js.cpp index 68117026..22121102 100644 --- a/interfaces/plugin/src/sensor_js.cpp +++ b/interfaces/plugin/src/sensor_js.cpp @@ -441,6 +441,29 @@ static napi_value Off(napi_env env, napi_callback_info info) return nullptr; } +static napi_value EmitAsyncWork(napi_value param, sptr info) +{ + CHKPP(info); + napi_status status = napi_generic_failure; + if (param != nullptr) { + status = napi_create_reference(info->env, param, 1, &info->callback[0]); + if (status != napi_ok) { + SEN_HILOGE("napi_create_reference fail"); + return nullptr; + } + EmitAsyncCallbackWork(info); + return nullptr; + } + napi_value promise = nullptr; + status = napi_create_promise(info->env, &info->deferred, &promise); + if (status != napi_ok) { + SEN_HILOGE("napi_create_promise fail"); + return nullptr; + } + EmitPromiseWork(info); + return promise; +} + static napi_value GetGeomagneticField(napi_env env, napi_callback_info info) { CALL_LOG_ENTER; @@ -504,23 +527,10 @@ static napi_value GetGeomagneticField(napi_env env, napi_callback_info info) .levelIntensity = geomagneticField.ObtainLevelIntensity(), .totalIntensity = geomagneticField.ObtainTotalIntensity(), }; - if (argc >=3 && IsMatchType(env, args[2], napi_function)) { - status = napi_create_reference(env, args[2], 1, &asyncCallbackInfo->callback[0]); - if (status != napi_ok) { - ThrowErr(env, PARAMETER_ERROR, "napi_create_reference fail"); - return nullptr; - } - EmitAsyncCallbackWork(asyncCallbackInfo); - return nullptr; - } - napi_value promise = nullptr; - status = napi_create_promise(env, &asyncCallbackInfo->deferred, &promise); - if (status != napi_ok) { - ThrowErr(env, PARAMETER_ERROR, "napi_create_promise fail"); - return nullptr; + if (argc >= 3 && IsMatchType(env, args[2], napi_function)) { + return EmitAsyncWork(args[2], asyncCallbackInfo); } - EmitPromiseWork(asyncCallbackInfo); - return promise; + return EmitAsyncWork(nullptr, asyncCallbackInfo); } static napi_value GetAxisX(napi_env env, napi_value value) @@ -594,22 +604,9 @@ static napi_value TransformCoordinateSystem(napi_env env, napi_callback_info inf asyncCallbackInfo->data.reserveData.length = static_cast(length); } if (argc >= 3 && IsMatchType(env, args[2], napi_function)) { - status = napi_create_reference(env, args[2], 1, &asyncCallbackInfo->callback[0]); - if (status != napi_ok) { - ThrowErr(env, PARAMETER_ERROR, "napi_create_reference fail"); - return nullptr; - } - EmitAsyncCallbackWork(asyncCallbackInfo); - return nullptr; - } - napi_value promise = nullptr; - status = napi_create_promise(env, &asyncCallbackInfo->deferred, &promise); - if (status != napi_ok) { - ThrowErr(env, PARAMETER_ERROR, "napi_create_promise fail"); - return nullptr; + return EmitAsyncWork(args[2], asyncCallbackInfo); } - EmitPromiseWork(asyncCallbackInfo); - return promise; + return EmitAsyncWork(nullptr, asyncCallbackInfo); } static napi_value GetAngleModify(napi_env env, napi_callback_info info) @@ -657,22 +654,9 @@ static napi_value GetAngleModify(napi_env env, napi_callback_info info) } } if (argc >= 3 && IsMatchType(env, args[2], napi_function)) { - status = napi_create_reference(env, args[2], 1, &asyncCallbackInfo->callback[0]); - if (status != napi_ok) { - ThrowErr(env, PARAMETER_ERROR, "napi_create_reference fail"); - return nullptr; - } - EmitAsyncCallbackWork(asyncCallbackInfo); - return nullptr; + return EmitAsyncWork(args[2], asyncCallbackInfo); } - napi_value promise = nullptr; - status = napi_create_promise(env, &asyncCallbackInfo->deferred, &promise); - if (status != napi_ok) { - ThrowErr(env, PARAMETER_ERROR, "napi_create_promise fail"); - return nullptr; - } - EmitPromiseWork(asyncCallbackInfo); - return promise; + return EmitAsyncWork(nullptr, asyncCallbackInfo); } static napi_value GetDirection(napi_env env, napi_callback_info info) @@ -711,22 +695,9 @@ static napi_value GetDirection(napi_env env, napi_callback_info info) } } if (argc >= 2 && IsMatchType(env, args[1], napi_function)) { - status = napi_create_reference(env, args[1], 1, &asyncCallbackInfo->callback[0]); - if (status != napi_ok) { - ThrowErr(env, PARAMETER_ERROR, "napi_create_reference fail"); - return nullptr; - } - EmitAsyncCallbackWork(asyncCallbackInfo); - return nullptr; - } - napi_value promise = nullptr; - status = napi_create_promise(env, &asyncCallbackInfo->deferred, &promise); - if (status != napi_ok) { - ThrowErr(env, PARAMETER_ERROR, "napi_create_promise fail"); - return nullptr; + return EmitAsyncWork(args[1], asyncCallbackInfo); } - EmitPromiseWork(asyncCallbackInfo); - return promise; + return EmitAsyncWork(nullptr, asyncCallbackInfo); } static napi_value CreateQuaternion(napi_env env, napi_callback_info info) @@ -765,22 +736,9 @@ static napi_value CreateQuaternion(napi_env env, napi_callback_info info) } } if (argc >= 2 && IsMatchType(env, args[1], napi_function)) { - status = napi_create_reference(env, args[1], 1, &asyncCallbackInfo->callback[0]); - if (status != napi_ok) { - ThrowErr(env, PARAMETER_ERROR, "napi_create_reference fail"); - return nullptr; - } - EmitAsyncCallbackWork(asyncCallbackInfo); - return nullptr; - } - napi_value promise = nullptr; - status = napi_create_promise(env, &asyncCallbackInfo->deferred, &promise); - if (status != napi_ok) { - ThrowErr(env, PARAMETER_ERROR, "napi_create_promise fail"); - return nullptr; + return EmitAsyncWork(args[1], asyncCallbackInfo); } - EmitPromiseWork(asyncCallbackInfo); - return promise; + return EmitAsyncWork(nullptr, asyncCallbackInfo); } static napi_value GetAltitude(napi_env env, napi_callback_info info) @@ -821,22 +779,9 @@ static napi_value GetAltitude(napi_env env, napi_callback_info info) asyncCallbackInfo->data.reserveData.reserve[0] = altitude; } if (argc >= 3 && IsMatchType(env, args[2], napi_function)) { - status = napi_create_reference(env, args[2], 1, &asyncCallbackInfo->callback[0]); - if (status != napi_ok) { - ThrowErr(env, PARAMETER_ERROR, "napi_create_reference fail"); - return nullptr; - } - EmitAsyncCallbackWork(asyncCallbackInfo); - return nullptr; - } - napi_value promise = nullptr; - status = napi_create_promise(env, &asyncCallbackInfo->deferred, &promise); - if (status != napi_ok) { - ThrowErr(env, PARAMETER_ERROR, "napi_create_promise fail"); - return nullptr; + return EmitAsyncWork(args[2], asyncCallbackInfo); } - EmitPromiseWork(asyncCallbackInfo); - return promise; + return EmitAsyncWork(nullptr, asyncCallbackInfo); } static napi_value GetGeomagneticDip(napi_env env, napi_callback_info info) @@ -872,22 +817,9 @@ static napi_value GetGeomagneticDip(napi_env env, napi_callback_info info) asyncCallbackInfo->data.reserveData.reserve[0] = geomagneticDip; } if (argc >= 2 && IsMatchType(env, args[1], napi_function)) { - status = napi_create_reference(env, args[1], 1, &asyncCallbackInfo->callback[0]); - if (status != napi_ok) { - ThrowErr(env, PARAMETER_ERROR, "napi_create_reference fail"); - return nullptr; - } - EmitAsyncCallbackWork(asyncCallbackInfo); - return nullptr; - } - napi_value promise = nullptr; - status = napi_create_promise(env, &asyncCallbackInfo->deferred, &promise); - if (status != napi_ok) { - ThrowErr(env, PARAMETER_ERROR, "napi_create_promise fail"); - return nullptr; + return EmitAsyncWork(args[1], asyncCallbackInfo); } - EmitPromiseWork(asyncCallbackInfo); - return promise; + return EmitAsyncWork(nullptr, asyncCallbackInfo); } static napi_value CreateRotationAndInclination(const napi_env &env, napi_value args[], size_t argc) @@ -926,24 +858,10 @@ static napi_value CreateRotationAndInclination(const napi_env &env, napi_value a asyncCallbackInfo->data.rationMatrixData.inclinationMatrix[i] = inclination[i]; } } - napi_status status; if (argc >= 3 && IsMatchType(env, args[2], napi_function)) { - status = napi_create_reference(env, args[2], 1, &asyncCallbackInfo->callback[0]); - if (status != napi_ok) { - ThrowErr(env, PARAMETER_ERROR, "napi_create_reference fail"); - return nullptr; - } - EmitAsyncCallbackWork(asyncCallbackInfo); - return nullptr; - } - napi_value promise = nullptr; - status = napi_create_promise(env, &asyncCallbackInfo->deferred, &promise); - if (status != napi_ok) { - ThrowErr(env, PARAMETER_ERROR, "napi_create_promise fail"); - return nullptr; + return EmitAsyncWork(args[2], asyncCallbackInfo); } - EmitPromiseWork(asyncCallbackInfo); - return promise; + return EmitAsyncWork(nullptr, asyncCallbackInfo); } static napi_value GetRotationMatrix(const napi_env &env, napi_value args[], size_t argc) @@ -973,24 +891,10 @@ static napi_value GetRotationMatrix(const napi_env &env, napi_value args[], size asyncCallbackInfo->data.reserveData.reserve[i] = rotationMatrix[i]; } } - napi_status status; if (argc >= 2 && IsMatchType(env, args[1], napi_function)) { - status = napi_create_reference(env, args[1], 1, &asyncCallbackInfo->callback[0]); - if (status != napi_ok) { - ThrowErr(env, PARAMETER_ERROR, "napi_create_reference fail"); - return nullptr; - } - EmitAsyncCallbackWork(asyncCallbackInfo); - return nullptr; - } - napi_value promise = nullptr; - status = napi_create_promise(env, &asyncCallbackInfo->deferred, &promise); - if (status != napi_ok) { - ThrowErr(env, PARAMETER_ERROR, "napi_create_promise fail"); - return nullptr; + return EmitAsyncWork(args[1], asyncCallbackInfo); } - EmitPromiseWork(asyncCallbackInfo); - return promise; + return EmitAsyncWork(nullptr, asyncCallbackInfo); } static napi_value CreateRotationMatrix(napi_env env, napi_callback_info info) @@ -1042,22 +946,9 @@ static napi_value GetSensorList(napi_env env, napi_callback_info info) } } if (argc >= 1 && IsMatchType(env, args[0], napi_function)) { - status = napi_create_reference(env, args[0], 1, &asyncCallbackInfo->callback[0]); - if (status != napi_ok) { - ThrowErr(env, PARAMETER_ERROR, "napi_create_reference fail"); - return nullptr; - } - EmitAsyncCallbackWork(asyncCallbackInfo); - return nullptr; + return EmitAsyncWork(args[0], asyncCallbackInfo); } - napi_value promise = nullptr; - status = napi_create_promise(env, &asyncCallbackInfo->deferred, &promise); - if (status != napi_ok) { - ThrowErr(env, PARAMETER_ERROR, "napi_create_promise fail"); - return nullptr; - } - EmitPromiseWork(asyncCallbackInfo); - return promise; + return EmitAsyncWork(nullptr, asyncCallbackInfo); } static napi_value GetSingleSensor(napi_env env, napi_callback_info info) @@ -1099,22 +990,9 @@ static napi_value GetSingleSensor(napi_env env, napi_callback_info info) } } if (argc >= 2 && IsMatchType(env, args[1], napi_function)) { - status = napi_create_reference(env, args[1], 1, &asyncCallbackInfo->callback[0]); - if (status != napi_ok) { - ThrowErr(env, PARAMETER_ERROR, "napi_create_reference fail"); - return nullptr; - } - EmitAsyncCallbackWork(asyncCallbackInfo); - return nullptr; + return EmitAsyncWork(args[1], asyncCallbackInfo); } - napi_value promise = nullptr; - status = napi_create_promise(env, &asyncCallbackInfo->deferred, &promise); - if (status != napi_ok) { - ThrowErr(env, PARAMETER_ERROR, "napi_create_promise fail"); - return nullptr; - } - EmitPromiseWork(asyncCallbackInfo); - return promise; + return EmitAsyncWork(nullptr, asyncCallbackInfo); } napi_value Subscribe(napi_env env, napi_callback_info info, int32_t sensorTypeId, CallbackDataType type) diff --git a/utils/common/include/miscdevice_common.h b/utils/common/include/miscdevice_common.h deleted file mode 100755 index ad742270..00000000 --- a/utils/common/include/miscdevice_common.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef MISCDEVICE_COMMON_H -#define MISCDEVICE_COMMON_H - -#include -#include - -namespace OHOS { -namespace Sensors { -// These LightId correspond to logical lights -enum LightId { - LIGHT_ID_LED = 0, - LIGHT_ID_KEYBOARD, - LIGHT_ID_BUTTONS, - LIGHT_ID_BELT, - - UNKNOWN, -}; - -// MISC device support id -enum class MiscdeviceDeviceId { LED = 0, VIBRATOR, UNKNOWN }; - -class MiscdeviceCommon { -public: - MiscdeviceCommon() = default; - ~MiscdeviceCommon() = default; - static bool CheckCustomVibratorEffect(const std::vector &timing, const std::vector &intensity, - int32_t periodCount); -}; -} // namespace Sensors -} // namespace OHOS -#endif // MISCDEVICE_COMMON_H -- Gitee