From 20942277385993a07d961d499a7bdc36f2130dd9 Mon Sep 17 00:00:00 2001 From: yangliu Date: Fri, 25 Mar 2022 14:01:45 +0800 Subject: [PATCH 1/2] =?UTF-8?q?native=E7=AB=AF=E8=BD=AC=E6=8D=A2=E7=BD=91?= =?UTF-8?q?=E7=BB=9C=E5=AD=97=E8=8A=82=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangliu --- .../jskitsimpl/distributeddata/include/napi_queue.h | 11 +++++++++++ .../jskitsimpl/distributeddata/src/js_field_node.cpp | 5 +++-- .../jskitsimpl/distributeddata/src/js_schema.cpp | 10 ++++++---- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/frameworks/jskitsimpl/distributeddata/include/napi_queue.h b/frameworks/jskitsimpl/distributeddata/include/napi_queue.h index f401df12d..869782bbd 100644 --- a/frameworks/jskitsimpl/distributeddata/include/napi_queue.h +++ b/frameworks/jskitsimpl/distributeddata/include/napi_queue.h @@ -22,6 +22,7 @@ #include "napi/native_api.h" #include "napi/native_common.h" #include "napi/native_node_api.h" +#include namespace OHOS::DistributedData { constexpr size_t ARGC_MAX = 6; @@ -40,6 +41,16 @@ struct ContextBase { GetCbInfo(env, info, parse, true); } + inline uint32_t HostToNet(uint32_t host_32bits) + { + return htobe32(host_32bits); + } + + inline uint32_t NetToHost(uint32_t big_endian_32bits) + { + return be32toh(big_endian_32bits); + } + napi_env env = nullptr; napi_value output = nullptr; napi_status status = napi_invalid_arg; diff --git a/frameworks/jskitsimpl/distributeddata/src/js_field_node.cpp b/frameworks/jskitsimpl/distributeddata/src/js_field_node.cpp index e70bb13e7..ab585a2ba 100644 --- a/frameworks/jskitsimpl/distributeddata/src/js_field_node.cpp +++ b/frameworks/jskitsimpl/distributeddata/src/js_field_node.cpp @@ -196,7 +196,8 @@ napi_value JsFieldNode::GetValueType(napi_env env, napi_callback_info info) ZLOGD("FieldNode::GetValueType"); auto ctxt = std::make_shared(); auto fieldNode = GetFieldNode(env, info, ctxt); - return GetContextValue(env, ctxt, fieldNode->valueType); + uint32_t valueType = ctxt->NetToHost(fieldNode->valueType); + return GetContextValue(env, ctxt, valueType); } napi_value JsFieldNode::SetValueType(napi_env env, napi_callback_info info) @@ -216,7 +217,7 @@ napi_value JsFieldNode::SetValueType(napi_env env, napi_callback_info info) NAPI_ASSERT(env, ctxt->status == napi_ok, "invalid arguments!"); auto fieldNode = reinterpret_cast(ctxt->native); - fieldNode->valueType = type; + fieldNode->valueType = ctxt->HostToNet(type); return nullptr; } diff --git a/frameworks/jskitsimpl/distributeddata/src/js_schema.cpp b/frameworks/jskitsimpl/distributeddata/src/js_schema.cpp index 9e50c95d5..2996c7c5d 100644 --- a/frameworks/jskitsimpl/distributeddata/src/js_schema.cpp +++ b/frameworks/jskitsimpl/distributeddata/src/js_schema.cpp @@ -147,7 +147,8 @@ napi_value JsSchema::GetMode(napi_env env, napi_callback_info info) ZLOGD("Schema::GetMode"); auto ctxt = std::make_shared(); auto schema = GetSchema(env, info, ctxt); - return GetContextValue(env, ctxt, schema->mode); + uint32_t mode = ctxt->NetToHost(schema->mode); + return GetContextValue(env, ctxt, mode); } napi_value JsSchema::SetMode(napi_env env, napi_callback_info info) @@ -164,7 +165,7 @@ napi_value JsSchema::SetMode(napi_env env, napi_callback_info info) NAPI_ASSERT(env, ctxt->status == napi_ok, "invalid arguments!"); auto schema = reinterpret_cast(ctxt->native); - schema->mode = mode; + schema->mode = ctxt->HostToNet(mode); return nullptr; } @@ -173,7 +174,8 @@ napi_value JsSchema::GetSkip(napi_env env, napi_callback_info info) ZLOGD("Schema::GetSkip"); auto ctxt = std::make_shared(); auto schema = GetSchema(env, info, ctxt); - return GetContextValue(env, ctxt, schema->skip); + uint32_t skip = ctxt->NetToHost(schema->skip); + return GetContextValue(env, ctxt, skip); } napi_value JsSchema::SetSkip(napi_env env, napi_callback_info info) @@ -190,7 +192,7 @@ napi_value JsSchema::SetSkip(napi_env env, napi_callback_info info) NAPI_ASSERT(env, ctxt->status == napi_ok, "invalid arguments!"); auto schema = reinterpret_cast(ctxt->native); - schema->skip = skip; + schema->skip = ctxt->HostToNet(skip); return nullptr; } -- Gitee From 837d1f91d830092e77894d3f434ee6773a108f29 Mon Sep 17 00:00:00 2001 From: yangliu Date: Fri, 25 Mar 2022 16:31:54 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=9D=99=E6=80=81?= =?UTF-8?q?=E6=A3=80=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangliu --- frameworks/jskitsimpl/distributeddata/include/napi_queue.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/jskitsimpl/distributeddata/include/napi_queue.h b/frameworks/jskitsimpl/distributeddata/include/napi_queue.h index 869782bbd..f2260709e 100644 --- a/frameworks/jskitsimpl/distributeddata/include/napi_queue.h +++ b/frameworks/jskitsimpl/distributeddata/include/napi_queue.h @@ -17,12 +17,12 @@ #include #include #include +#include #include "log_print.h" #include "napi/native_api.h" #include "napi/native_common.h" #include "napi/native_node_api.h" -#include namespace OHOS::DistributedData { constexpr size_t ARGC_MAX = 6; -- Gitee