From b05020d7fe645f193578915dd3942fe48174d4c3 Mon Sep 17 00:00:00 2001 From: bi-hu Date: Tue, 27 Feb 2024 15:27:14 +0800 Subject: [PATCH 1/2] Open the napi interfaces napi_serialize and napi_deserialize Signed-off-by: bi-hu https://gitee.com/openharmony/arkui_napi/issues/I943WN --- arkui/napi/libnapi.ndk.json | 12 ++++++++++++ arkui/napi/native_api.h | 38 +++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) diff --git a/arkui/napi/libnapi.ndk.json b/arkui/napi/libnapi.ndk.json index f541fdd9a..4c433df33 100644 --- a/arkui/napi/libnapi.ndk.json +++ b/arkui/napi/libnapi.ndk.json @@ -154,5 +154,17 @@ { "first_introduced": "11", "name": "napi_make_callback" + }, + { + "first_introduced": "12", + "name": "napi_serialize" + }, + { + "first_introduced": "12", + "name": "napi_deserialize" + }, + { + "first_introduced": "12", + "name": "napi_delete_serialization_data" } ] diff --git a/arkui/napi/native_api.h b/arkui/napi/native_api.h index 6b20b1c6e..64c1b8924 100644 --- a/arkui/napi/native_api.h +++ b/arkui/napi/native_api.h @@ -128,6 +128,44 @@ NAPI_EXTERN napi_status napi_add_finalizer(napi_env env, void* finalize_hint, napi_ref* result); +/** + * @brief Serialize a JS object. + * + * @param env Current running virtual machine context. + * @param object The JavaScript value to serialize. + * @param transfer_list List of data transferred in transfer mode. + * @param clone_list List of Sendable data to be transferred by clone. + * @param result Serialization result of the JS object. + * @return Returns the function execution status. + * @since 12 +*/ +NAPI_EXTERN napi_status napi_serialize(napi_env env, + napi_value object, + napi_value transfer_list, + napi_value clone_list, + napi_value* result); + +/** + * @brief Restore serialization data to a JS object. + * + * @param env Current running virtual machine context. + * @param recorder Data to be deserialized. + * @param object JS object obtained by deserialization. + * @return Returns the function execution status. + * @since 12 +*/ +NAPI_EXTERN napi_status napi_deserialize(napi_env env, napi_value recorder, napi_value* object); + +/** + * @brief Delete serialization data. + * + * @param env Current running virtual machine context. + * @param value Recorder to be deleted. + * @return Returns the function execution status. + * @since 12 +*/ +NAPI_EXTERN napi_status napi_delete_serialization_data(napi_env env, napi_value value); + #ifdef __cplusplus } #endif -- Gitee From 1b7edeee833a88b3170eb79f08b068ef7336808c Mon Sep 17 00:00:00 2001 From: wangzhaoyong Date: Mon, 25 Mar 2024 08:47:16 +0000 Subject: [PATCH 2/2] =?UTF-8?q?Update=20arkui/napi/native=5Fapi.h=20?= =?UTF-8?q?=E5=B7=B2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: bi-hu --- arkui/napi/native_api.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arkui/napi/native_api.h b/arkui/napi/native_api.h index 3a4381c54..fd52d439b 100644 --- a/arkui/napi/native_api.h +++ b/arkui/napi/native_api.h @@ -240,7 +240,7 @@ NAPI_EXTERN napi_status napi_serialize(napi_env env, * * @param env Current running virtual machine context. * @param buffer Data to deserialize. - * @param object JS object obtained by deserialization. + * @param object ArkTS object obtained by deserialization. * @return Returns the function execution status. * @since 12 */ -- Gitee