From 18ee9433bc94b7fff9cf545d1bd42e3c1ebc2af0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=8F=8B=E6=9D=BE?= Date: Tue, 21 Jan 2025 03:11:11 +0000 Subject: [PATCH 1/4] =?UTF-8?q?codex=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 邹友松 --- .../js/napi/update/src/session_manager.cpp | 28 +++---------------- napi/include/napi_base.h | 1 + 2 files changed, 5 insertions(+), 24 deletions(-) diff --git a/frameworks/js/napi/update/src/session_manager.cpp b/frameworks/js/napi/update/src/session_manager.cpp index 16376d13..83e2e565 100644 --- a/frameworks/js/napi/update/src/session_manager.cpp +++ b/frameworks/js/napi/update/src/session_manager.cpp @@ -235,29 +235,9 @@ void SessionManager::PublishToJS(const EventClassifyInfo &eventClassifyInfo, con void SessionManager::Emit(const EventClassifyInfo &eventClassifyInfo, const EventInfo &eventInfo) { ENGINE_LOGI("SessionManager::Emit 0x%{public}x", CAST_INT(eventClassifyInfo.eventClassify)); - uv_loop_s *loop = nullptr; - napi_get_uv_event_loop(env_, &loop); - PARAM_CHECK(loop != nullptr, return, "get event loop failed."); - - using UvWorkData = std::tuple; - UvWorkData *data = new (std::nothrow) std::tuple(this, eventClassifyInfo, eventInfo); - PARAM_CHECK(data != nullptr, return, "alloc data failed."); - - uv_work_t *work = new (std::nothrow) uv_work_t; - PARAM_CHECK(work != nullptr, delete data; return, "alloc work failed."); - - work->data = static_cast(data); - uv_queue_work_with_qos( - loop, - work, - [](uv_work_t *work) { ENGINE_LOGI("print job info"); }, - [](uv_work_t *work, int status) { - UvWorkData *data = static_cast(work->data); - auto &[mgr, eventClassifyInfo, eventInfo] = *data; - mgr->PublishToJS(eventClassifyInfo, eventInfo); - delete data; - delete work; - }, - uv_qos_default); + auto task = [eventClassifyInfo, eventInfo, this]() { PublishToJS(eventClassifyInfo, eventInfo); }; + if (napi_status::napi_ok != napi_send_event(env_, task, napi_eprio_high)) { + ENGINE_LOGE("PublishToJS: Failed to SendEvent"); + } } } // namespace OHOS::UpdateEngine \ No newline at end of file diff --git a/napi/include/napi_base.h b/napi/include/napi_base.h index 1e16d18a..959f10dc 100644 --- a/napi/include/napi_base.h +++ b/napi/include/napi_base.h @@ -61,6 +61,7 @@ public: // 接口调用返回值,非返回内容 napi_value result = nullptr; if (argc >= argNum) { + PARAM_CHECK(argNum >= 1, return nullptr, "argNum is less than 1"); uint32_t callbackPosition = argNum - 1; napi_valuetype callbackValueType; napi_typeof(env, args[callbackPosition], &callbackValueType); -- Gitee From 1135c226decade9b8d60a07290bd6e651137df03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=8F=8B=E6=9D=BE?= Date: Tue, 21 Jan 2025 03:34:38 +0000 Subject: [PATCH 2/4] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=A4=B4=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 邹友松 --- frameworks/js/napi/update/src/session_manager.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/frameworks/js/napi/update/src/session_manager.cpp b/frameworks/js/napi/update/src/session_manager.cpp index 83e2e565..c8b244e3 100644 --- a/frameworks/js/napi/update/src/session_manager.cpp +++ b/frameworks/js/napi/update/src/session_manager.cpp @@ -17,6 +17,7 @@ #include +#include "native_node_api.h" #include "node_api.h" #include "client_helper.h" -- Gitee From fc6e9cdc14a695914f64b66b35b8ee0129483ce2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=8F=8B=E6=9D=BE?= Date: Tue, 21 Jan 2025 05:02:56 +0000 Subject: [PATCH 3/4] =?UTF-8?q?=E6=96=B0=E5=A2=9Enapi=20=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 邹友松 --- frameworks/js/napi/update/BUILD.gn | 1 + 1 file changed, 1 insertion(+) diff --git a/frameworks/js/napi/update/BUILD.gn b/frameworks/js/napi/update/BUILD.gn index 1306b0ae..83dd6bfe 100644 --- a/frameworks/js/napi/update/BUILD.gn +++ b/frameworks/js/napi/update/BUILD.gn @@ -53,6 +53,7 @@ ohos_shared_library("$updateengine_client_library_name") { "hilog:libhilog", "ipc:ipc_core", "json:nlohmann_json_static", + "napi:ace_napi", ] if (ability_ability_runtime_enable) { -- Gitee From 431583fdd6ed240053a218d3b008eeb727381c71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=8F=8B=E6=9D=BE?= Date: Tue, 21 Jan 2025 05:08:50 +0000 Subject: [PATCH 4/4] =?UTF-8?q?=E5=A4=B4=E6=96=87=E4=BB=B6=E7=9B=AE?= =?UTF-8?q?=E5=BD=95=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 邹友松 --- frameworks/js/napi/update/src/session_manager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/js/napi/update/src/session_manager.cpp b/frameworks/js/napi/update/src/session_manager.cpp index c8b244e3..b18693ee 100644 --- a/frameworks/js/napi/update/src/session_manager.cpp +++ b/frameworks/js/napi/update/src/session_manager.cpp @@ -17,7 +17,7 @@ #include -#include "native_node_api.h" +#include "napi/native_node_api.h" #include "node_api.h" #include "client_helper.h" -- Gitee