From 7bcd98bdef2ecbdec10de62c2eae02c871cdf0a5 Mon Sep 17 00:00:00 2001 From: htt1997 Date: Thu, 14 Sep 2023 21:24:34 +0800 Subject: [PATCH] update Signed-off-by: htt1997 --- .clang-format | 2 +- data_object/CMakeLists.txt | 5 +- .../include/adaptor/object_service.h | 38 -- .../include/common/string_utils.h | 1 + .../napi/common/include/datashare_js_utils.h | 2 +- .../include/datashare_predicates_proxy.h | 6 +- .../include/datashare_result_set_proxy.h | 6 +- .../include/napi_datashare_values_bucket.h | 6 +- .../js/napi/dataShare/include/async_call.h | 6 +- .../dataShare/include/data_share_common.h | 6 +- .../include/napi_datashare_inner_observer.h | 6 +- .../dataShare/src/native_datashare_module.cpp | 4 +- .../js/napi/observer/include/napi_observer.h | 6 +- .../include/napi_subscriber_manager.h | 6 +- .../provider/include/datashare_uv_queue.h | 6 +- .../include/js_datashare_ext_ability.h | 6 +- .../src/js_datashare_ext_ability_context.cpp | 2 +- .../communicator/device_manager_adapter.h | 2 +- .../app/src/kvstore_data_service.cpp | 47 +- .../app/src/kvstore_data_service.h | 3 +- .../framework/cloud/cloud_event.cpp | 2 +- .../framework/include/store/general_store.h | 6 +- .../framework/store/auto_cache.cpp | 12 +- .../service/cloud/cloud_service_impl.cpp | 6 + .../service/cloud/sync_manager.cpp | 25 +- .../service/cloud/sync_manager.h | 1 + .../service/rdb/rdb_general_store.cpp | 14 + .../service/rdb/rdb_general_store.h | 5 +- .../service/rdb/rdb_query.cpp | 12 +- .../service/rdb/rdb_query.h | 4 +- .../service/rdb/rdb_service_impl.cpp | 183 ++++---- .../service/rdb/rdb_service_impl.h | 20 +- .../service/test/BUILD.gn | 83 ++++ .../service/test/mock/cloud_server_mock.h | 14 + .../service/test/mock/db_store_mock.cpp | 7 + .../service/test/mock/db_store_mock.h | 1 + .../service/test/mock/general_store_mock.cpp | 35 +- .../service/test/mock/general_store_mock.h | 10 +- .../service/test/rdb_service_impl_test.cpp | 337 +++++++++++++ .../test/unittest/cloud/cloud_data_test.cpp | 246 ++++++++++ .../cloud/device_manger_adapter_mock.cpp} | 5 +- googletest/googlemock/CMakeLists.txt | 1 + kv_store/frameworks/common/priority_queue.h | 13 +- .../common/test/executor_pool_test.cpp | 23 +- .../include/js_const_properties.h | 6 +- .../distributeddata/include/js_util.h | 6 +- .../distributeddata/include/napi_queue.h | 6 +- .../distributeddata/include/uv_queue.h | 6 +- .../include/js_const_properties.h | 6 +- .../include/js_error_utils.h | 2 +- .../distributedkvstore/include/js_util.h | 6 +- .../distributedkvstore/include/napi_queue.h | 6 +- .../distributedkvstore/include/uv_queue.h | 6 +- .../interfaces/mock/napi_base_context.h | 2 +- mock/CMakeLists.txt | 442 +++++++++--------- .../include/napi_base_context.h | 2 +- .../napi_common/feature_ability_common.h | 6 +- .../napi_common/napi_common_data.h | 6 +- .../napi_common/napi_common_util.h | 6 +- .../ipc/ipc_core/include/napi_ashmem.h | 6 +- .../ipc_core/include/napi_message_parcel.h | 6 +- .../ipc_core/include/napi_message_sequence.h | 6 +- .../ipc_core/include/napi_process_skeleton.h | 2 +- .../include/napi_remote_object_holder.h | 2 +- .../include/napi_remote_object_internal.h | 2 +- .../include/napi_remote_proxy_holder.h | 2 +- .../ipc/ipc_core/include/napi_rpc_error.h | 2 +- .../ipc_js/rpc/include/napi_remote_object.h | 4 +- .../medialibrary/include/album_napi.h | 4 +- .../include/fetch_file_result_napi.h | 4 +- .../medialibrary/include/file_asset_napi.h | 4 +- .../medialibrary/include/media_library_napi.h | 4 +- .../medialibrary/include/media_scanner_napi.h | 4 +- .../include/medialibrary_napi_utils.h | 4 +- .../medialibrary/include/smart_album_napi.h | 4 +- .../image/include/image_packer_napi.h | 4 +- .../image/include/image_source_napi.h | 4 +- .../image/include/native_module_ohos_image.h | 2 +- .../image/include/pixel_map_napi.h | 4 +- .../napi/ace_napi/include/napi/common.h | 26 ++ .../napi/ace_napi/include/napi/native_api.h | 213 +++------ .../ace_napi/include/napi/native_common.h | 127 ++--- .../ace_napi/include/napi/native_node_api.h | 70 ++- .../napi/native_engine/native_api_internal.h | 2 +- mock/innerkits/napi/native_node_api.h | 2 +- .../include/resource_manager_addon.h | 4 +- .../include/resource_manager_addon.h | 4 +- .../userauth/include/auth_build.h | 4 +- .../userauth/include/auth_common.h | 4 +- .../userauth/include/authapi_callback.h | 4 +- .../userauth/include/result_convert.h | 4 +- .../userauth/include/user_auth_impl.h | 2 +- .../userauth_napi/include/auth_build.h | 4 +- .../userauth_napi/include/auth_common.h | 4 +- .../userauth_napi/include/authapi_callback.h | 4 +- .../userauth_napi/include/result_convert.h | 4 +- .../userauth_napi/include/user_auth_helper.h | 4 +- .../userauth_napi/include/user_auth_impl.h | 2 +- mock/napi/native_api.h | 31 -- mock/napi/native_common.h | 97 ---- mock/napi/native_node_api.h | 50 -- mock/src/mock_js_napi.cpp | 6 +- .../js/napi/common/include/js_ability.h | 6 +- .../js/napi/common/include/js_utils.h | 6 +- .../js/napi/common/include/napi_async_call.h | 6 +- .../include/napi_preferences_observer.h | 2 +- .../js/napi/common/include/uv_queue.h | 6 +- .../mock/cross_platform/include/js_ability.h | 6 +- .../js/napi/common/mock/include/js_ability.h | 6 +- .../preferences/include/napi_preferences.h | 6 +- .../include/napi_preferences_helper.h | 6 +- .../js/napi/preferences/src/entry_point.cpp | 4 +- .../js/napi/storage/include/napi_storage.h | 6 +- .../storage/include/napi_storage_helper.h | 6 +- .../napi/storage/src/entry_point_storage.cpp | 4 +- .../include/napi_system_storage.h | 6 +- .../src/entry_point_system_storage.cpp | 4 +- relational_store/CMakeLists.txt | 7 +- .../cloud_data/include/js_const_properties.h | 6 +- .../napi/cloud_data/include/js_error_utils.h | 2 +- .../js/napi/cloud_data/include/napi_queue.h | 6 +- .../js/napi/common/include/js_ability.h | 6 +- .../js/napi/common/include/js_utils.h | 6 +- .../js/napi/common/include/js_uv_queue.h | 6 +- .../js/napi/common/mock/include/js_ability.h | 6 +- .../common/mock/include/napi_async_proxy.h | 6 +- .../dataability/include/napi_async_proxy.h | 6 +- .../include/napi_data_ability_predicates.h | 6 +- .../include/napi_predicates_utils.h | 6 +- .../js/napi/dataability/src/entry_point.cpp | 4 +- .../js/napi/rdb/include/napi_async_call.h | 6 +- .../rdb/include/napi_rdb_const_properties.h | 6 +- .../js/napi/rdb/include/napi_rdb_error.h | 1 + .../js/napi/rdb/include/napi_rdb_predicates.h | 6 +- .../js/napi/rdb/include/napi_rdb_store.h | 6 +- .../napi/rdb/include/napi_rdb_store_helper.h | 6 +- .../js/napi/rdb/include/napi_result_set.h | 6 +- .../js/napi/rdb/include/napi_uv_queue.h | 6 +- .../js/napi/rdb/include/napi_values_bucket.h | 6 +- .../rdb/mock/include/napi_rdb_predicates.h | 6 +- .../js/napi/rdb/mock/include/napi_rdb_store.h | 6 +- .../napi/rdb/mock/include/napi_result_set.h | 6 +- .../relationalstore/include/napi_async_call.h | 6 +- .../include/napi_rdb_const_properties.h | 6 +- .../include/napi_rdb_predicates.h | 6 +- .../relationalstore/include/napi_rdb_store.h | 6 +- .../include/napi_rdb_store_helper.h | 6 +- .../relationalstore/include/napi_result_set.h | 6 +- .../relationalstore/include/napi_uv_queue.h | 6 +- .../mock/include/napi_rdb_predicates.h | 6 +- .../mock/include/napi_rdb_store.h | 6 +- .../mock/include/napi_result_set.h | 6 +- .../napi/relationalstore/src/entry_point.cpp | 2 +- .../native/rdb/include/rdb_service_proxy.h | 8 +- .../native/rdb/src/rdb_service_proxy.cpp | 71 ++- test/CMakeLists.txt | 18 +- .../jskits/common/napi_data_utils.h | 6 +- .../jskits/common/napi_error_utils.h | 2 +- udmf/interfaces/jskits/common/napi_queue.h | 6 +- .../data/application_defined_record_napi.h | 4 +- udmf/interfaces/jskits/data/audio_napi.h | 4 +- udmf/interfaces/jskits/data/file_napi.h | 4 +- udmf/interfaces/jskits/data/folder_napi.h | 4 +- udmf/interfaces/jskits/data/html_napi.h | 4 +- udmf/interfaces/jskits/data/image_napi.h | 4 +- udmf/interfaces/jskits/data/link_napi.h | 4 +- udmf/interfaces/jskits/data/plain_text_napi.h | 4 +- udmf/interfaces/jskits/data/summary_napi.h | 4 +- .../jskits/data/system_defined_appitem_napi.h | 4 +- .../jskits/data/system_defined_form_napi.h | 4 +- .../data/system_defined_pixelmap_napi.h | 4 +- .../jskits/data/system_defined_record_napi.h | 4 +- udmf/interfaces/jskits/data/text_napi.h | 4 +- .../jskits/data/unified_data_channel_napi.h | 4 +- .../jskits/data/unified_data_napi.h | 2 +- .../jskits/data/unified_record_napi.h | 4 +- .../data/uniform_type_descriptor_napi.h | 4 +- udmf/interfaces/jskits/data/video_napi.h | 4 +- 178 files changed, 1771 insertions(+), 1187 deletions(-) delete mode 100644 data_object/frameworks/innerkitsimpl/include/adaptor/object_service.h create mode 100644 datamgr_service/services/distributeddataservice/service/test/rdb_service_impl_test.cpp create mode 100644 datamgr_service/services/distributeddataservice/service/test/unittest/cloud/cloud_data_test.cpp rename datamgr_service/services/distributeddataservice/service/test/{mock/adapter_mock.cpp => unittest/cloud/device_manger_adapter_mock.cpp} (96%) create mode 100644 mock/innerkits/napi/ace_napi/include/napi/common.h delete mode 100644 mock/napi/native_api.h delete mode 100644 mock/napi/native_common.h delete mode 100644 mock/napi/native_node_api.h diff --git a/.clang-format b/.clang-format index 53e7a399..72055621 100644 --- a/.clang-format +++ b/.clang-format @@ -118,7 +118,7 @@ Cpp11BracedListStyle: false DerivePointerAlignment: false # 指针和引用的对其方式。 -PointerAlignment: Right +PointerAlignment: Left # 自动检测函数的调用和定义是否被格式为每行一个参数(Experimental) ExperimentalAutoDetectBinPacking: false diff --git a/data_object/CMakeLists.txt b/data_object/CMakeLists.txt index bdbc4ee1..d5fc6969 100644 --- a/data_object/CMakeLists.txt +++ b/data_object/CMakeLists.txt @@ -10,6 +10,7 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fprofile-arcs -ftest-coverage") set(MOCK_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../mock) set(KV_STORE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../kv_store) +add_definitions(-DNAPI_EXPERIMENTAL) aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/frameworks/innerkitsimpl/src data_object_src) aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/frameworks/innerkitsimpl/src/adaptor data_object_src) aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/frameworks/innerkitsimpl/src/communicator data_object_src) @@ -21,8 +22,8 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/frameworks/innerkitsimpl/include include_directories(${CMAKE_CURRENT_SOURCE_DIR}/frameworks/innerkitsimpl/include/common) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/frameworks/innerkitsimpl/include/communicator) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/frameworks/innerkitsimpl/include) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/frameworks/jskitsimpl/include/adaptor ) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/frameworks/jskitsimpl/include/common ) +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/frameworks/jskitsimpl/include/adaptor) +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/frameworks/jskitsimpl/include/common) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../datamgr_service/services/distributeddataservice/adapter/include/dfx) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../utils_native/base/include) diff --git a/data_object/frameworks/innerkitsimpl/include/adaptor/object_service.h b/data_object/frameworks/innerkitsimpl/include/adaptor/object_service.h deleted file mode 100644 index f56f5a29..00000000 --- a/data_object/frameworks/innerkitsimpl/include/adaptor/object_service.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (c) 2022 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 DISTRIBUTED_OBJECT_SERVICE_H -#define DISTRIBUTED_OBJECT_SERVICE_H - -#include -#include -#include - -#include "object_callback.h" -namespace OHOS::ObjectStore { -class ObjectService { -public: - virtual int32_t ObjectStoreSave(const std::string &bundleName, const std::string &sessionId, - const std::string &deviceId, const std::map> &data, - sptr callback) = 0; - virtual int32_t ObjectStoreRetrieve( - const std::string &bundleName, const std::string &sessionId, sptr callback) = 0; - virtual int32_t ObjectStoreRevokeSave( - const std::string &bundleName, const std::string &sessionId, sptr callback) = 0; - virtual int32_t RegisterDataObserver( - const std::string &bundleName, const std::string &sessionId, sptr callback) = 0; -}; -} // namespace OHOS::ObjectStore -#endif diff --git a/data_object/frameworks/innerkitsimpl/include/common/string_utils.h b/data_object/frameworks/innerkitsimpl/include/common/string_utils.h index de81a4fe..d750f000 100644 --- a/data_object/frameworks/innerkitsimpl/include/common/string_utils.h +++ b/data_object/frameworks/innerkitsimpl/include/common/string_utils.h @@ -46,6 +46,7 @@ public: result.assign(reinterpret_cast(rstStr.data()), rstStr.size()); return result; } + static uint32_t BytesToStrWithType(Bytes input, std::string &str) { uint32_t len = input.end() - input.begin(); diff --git a/data_share/frameworks/js/napi/common/include/datashare_js_utils.h b/data_share/frameworks/js/napi/common/include/datashare_js_utils.h index 3e096353..2d18255b 100644 --- a/data_share/frameworks/js/napi/common/include/datashare_js_utils.h +++ b/data_share/frameworks/js/napi/common/include/datashare_js_utils.h @@ -24,7 +24,7 @@ #include "datashare_template.h" #include "datashare_value_object.h" -#include "napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" #define NAPI_ASSERT_ERRCODE(env, assertion, error) \ do { \ diff --git a/data_share/frameworks/js/napi/common/include/datashare_predicates_proxy.h b/data_share/frameworks/js/napi/common/include/datashare_predicates_proxy.h index 6971c25a..dea5ae3a 100644 --- a/data_share/frameworks/js/napi/common/include/datashare_predicates_proxy.h +++ b/data_share/frameworks/js/napi/common/include/datashare_predicates_proxy.h @@ -18,9 +18,9 @@ #include #include "datashare_abs_predicates.h" -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace DataShare { diff --git a/data_share/frameworks/js/napi/common/include/datashare_result_set_proxy.h b/data_share/frameworks/js/napi/common/include/datashare_result_set_proxy.h index 20681411..d20d266e 100644 --- a/data_share/frameworks/js/napi/common/include/datashare_result_set_proxy.h +++ b/data_share/frameworks/js/napi/common/include/datashare_result_set_proxy.h @@ -18,9 +18,9 @@ #include #include "datashare_result_set.h" -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace DataShare { diff --git a/data_share/frameworks/js/napi/common/include/napi_datashare_values_bucket.h b/data_share/frameworks/js/napi/common/include/napi_datashare_values_bucket.h index 1c80ed41..666caaf7 100644 --- a/data_share/frameworks/js/napi/common/include/napi_datashare_values_bucket.h +++ b/data_share/frameworks/js/napi/common/include/napi_datashare_values_bucket.h @@ -16,9 +16,9 @@ #ifndef NAPI_DATASHARE_VALUES_BUCKET_H #define NAPI_DATASHARE_VALUES_BUCKET_H -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "datashare_values_bucket.h" #include "datashare_js_utils.h" diff --git a/data_share/frameworks/js/napi/dataShare/include/async_call.h b/data_share/frameworks/js/napi/dataShare/include/async_call.h index 1e54c316..62a2d96d 100644 --- a/data_share/frameworks/js/napi/dataShare/include/async_call.h +++ b/data_share/frameworks/js/napi/dataShare/include/async_call.h @@ -19,9 +19,9 @@ #include #include "datashare_js_utils.h" #include "datashare_error_impl.h" -#include "napi/native_common.h" -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS::DataShare { class AsyncCall final { diff --git a/data_share/frameworks/js/napi/dataShare/include/data_share_common.h b/data_share/frameworks/js/napi/dataShare/include/data_share_common.h index 07474f80..420a4106 100644 --- a/data_share/frameworks/js/napi/dataShare/include/data_share_common.h +++ b/data_share/frameworks/js/napi/dataShare/include/data_share_common.h @@ -16,9 +16,9 @@ #ifndef DATASHARE_COMMON_H #define DATASHARE_COMMON_H #include "ability.h" -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "napi_common_data.h" #include "datashare_helper.h" diff --git a/data_share/frameworks/js/napi/dataShare/include/napi_datashare_inner_observer.h b/data_share/frameworks/js/napi/dataShare/include/napi_datashare_inner_observer.h index efe95abe..a18bc968 100644 --- a/data_share/frameworks/js/napi/dataShare/include/napi_datashare_inner_observer.h +++ b/data_share/frameworks/js/napi/dataShare/include/napi_datashare_inner_observer.h @@ -18,9 +18,9 @@ #include -#include "napi/native_common.h" -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace DataShare { diff --git a/data_share/frameworks/js/napi/dataShare/src/native_datashare_module.cpp b/data_share/frameworks/js/napi/dataShare/src/native_datashare_module.cpp index 27007ab7..05580e74 100644 --- a/data_share/frameworks/js/napi/dataShare/src/native_datashare_module.cpp +++ b/data_share/frameworks/js/napi/dataShare/src/native_datashare_module.cpp @@ -13,8 +13,8 @@ * limitations under the License. */ -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "datashare_log.h" #include "napi_datashare_helper.h" diff --git a/data_share/frameworks/js/napi/observer/include/napi_observer.h b/data_share/frameworks/js/napi/observer/include/napi_observer.h index 56554fec..a50a768b 100644 --- a/data_share/frameworks/js/napi/observer/include/napi_observer.h +++ b/data_share/frameworks/js/napi/observer/include/napi_observer.h @@ -19,9 +19,9 @@ #include #include "datashare_template.h" -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace DataShare { diff --git a/data_share/frameworks/js/napi/observer/include/napi_subscriber_manager.h b/data_share/frameworks/js/napi/observer/include/napi_subscriber_manager.h index 16068300..246aedfd 100644 --- a/data_share/frameworks/js/napi/observer/include/napi_subscriber_manager.h +++ b/data_share/frameworks/js/napi/observer/include/napi_subscriber_manager.h @@ -21,9 +21,9 @@ #include "napi_callbacks_manager.h" #include "datashare_helper.h" -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "napi_observer.h" namespace OHOS { diff --git a/data_share/frameworks/native/provider/include/datashare_uv_queue.h b/data_share/frameworks/native/provider/include/datashare_uv_queue.h index 6a511082..deffbac9 100644 --- a/data_share/frameworks/native/provider/include/datashare_uv_queue.h +++ b/data_share/frameworks/native/provider/include/datashare_uv_queue.h @@ -20,9 +20,9 @@ #include #include -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "uv.h" namespace OHOS { diff --git a/data_share/frameworks/native/provider/include/js_datashare_ext_ability.h b/data_share/frameworks/native/provider/include/js_datashare_ext_ability.h index bd8b333a..ad6b2598 100644 --- a/data_share/frameworks/native/provider/include/js_datashare_ext_ability.h +++ b/data_share/frameworks/native/provider/include/js_datashare_ext_ability.h @@ -21,9 +21,9 @@ #include "datashare_predicates.h" #include "datashare_ext_ability.h" #include "js_runtime.h" -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "datashare_business_error.h" namespace OHOS { diff --git a/data_share/frameworks/native/provider/src/js_datashare_ext_ability_context.cpp b/data_share/frameworks/native/provider/src/js_datashare_ext_ability_context.cpp index 96c367f3..2ed0c5ee 100644 --- a/data_share/frameworks/native/provider/src/js_datashare_ext_ability_context.cpp +++ b/data_share/frameworks/native/provider/src/js_datashare_ext_ability_context.cpp @@ -21,7 +21,7 @@ #include "js_extension_context.h" #include "js_runtime.h" #include "js_runtime_utils.h" -#include "napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" #include "napi_common_want.h" #include "napi_remote_object.h" #include "napi_common_start_options.h" diff --git a/datamgr_service/services/distributeddataservice/adapter/include/communicator/device_manager_adapter.h b/datamgr_service/services/distributeddataservice/adapter/include/communicator/device_manager_adapter.h index 1806e569..a22f203f 100644 --- a/datamgr_service/services/distributeddataservice/adapter/include/communicator/device_manager_adapter.h +++ b/datamgr_service/services/distributeddataservice/adapter/include/communicator/device_manager_adapter.h @@ -85,7 +85,7 @@ private: static constexpr int32_t SYNC_TIMEOUT = 10 * 1000; // ms ConcurrentMap syncTask_ {}; std::shared_ptr executors_; - bool isNetAvailable_ = false; + bool isNetAvailable_ = true; }; } // namespace DistributedData } // namespace OHOS diff --git a/datamgr_service/services/distributeddataservice/app/src/kvstore_data_service.cpp b/datamgr_service/services/distributeddataservice/app/src/kvstore_data_service.cpp index faec8071..1de9f38e 100644 --- a/datamgr_service/services/distributeddataservice/app/src/kvstore_data_service.cpp +++ b/datamgr_service/services/distributeddataservice/app/src/kvstore_data_service.cpp @@ -67,7 +67,7 @@ using DBConfig = DistributedDB::RuntimeConfig; REGISTER_SYSTEM_ABILITY_BY_ID(KvStoreDataService, DISTRIBUTED_KV_DATA_SERVICE_ABILITY_ID, true); KvStoreDataService::KvStoreDataService(bool runOnCreate) - : SystemAbility(runOnCreate), mutex_(), clients_() + : SystemAbility(runOnCreate), clients_() { ZLOGI("begin."); if (executors_ == nullptr) { @@ -79,7 +79,7 @@ KvStoreDataService::KvStoreDataService(bool runOnCreate) } KvStoreDataService::KvStoreDataService(int32_t systemAbilityId, bool runOnCreate) - : SystemAbility(systemAbilityId, runOnCreate), mutex_(), clients_() + : SystemAbility(systemAbilityId, runOnCreate), clients_() { ZLOGI("begin"); if (executors_ == nullptr) { @@ -93,7 +93,7 @@ KvStoreDataService::KvStoreDataService(int32_t systemAbilityId, bool runOnCreate KvStoreDataService::~KvStoreDataService() { ZLOGI("begin."); - clients_.clear(); + clients_.Clear(); features_.Clear(); } @@ -188,22 +188,23 @@ Status KvStoreDataService::RegisterClientDeathObserver(const AppId &appId, sptr< ZLOGW("check bundleName:%{public}s uid:%{public}d failed.", appId.appId.c_str(), info.uid); return Status::PERMISSION_DENIED; } + auto pid = IPCSkeleton::GetCallingPid(); + bool isSuccess = true; + clients_.Compute(info.tokenId, + [&isSuccess, &appId, &info, pid, this, obs = std::move(observer)](const auto tokenId, auto &clients) { + auto res = clients.try_emplace(info.tokenId, appId, *this, std::move(obs)); + isSuccess = res.second; + if (!isSuccess) { + ZLOGW("bundleName:%{public}s, uid:%{public}d, pid:%{public}d has already registered.", + appId.appId.c_str(), info.uid, IPCSkeleton::GetCallingPid()); + } else { + ZLOGI("bundleName:%{public}s, uid:%{public}d, pid:%{public}d inserted:success.", appId.appId.c_str(), + info.uid, pid, isSuccess ? "success" : "failed"); + } + return !clients.empty(); + }); - std::lock_guard lg(mutex_); - auto iter = clients_.find(info.tokenId); - // Ignore register with same tokenId and pid - if (iter != clients_.end() && IPCSkeleton::GetCallingPid() == iter->second.GetPid()) { - ZLOGW("bundleName:%{public}s, uid:%{public}d, pid:%{public}d has already registered.", - appId.appId.c_str(), info.uid, IPCSkeleton::GetCallingPid()); - return Status::SUCCESS; - } - - clients_.erase(info.tokenId); - auto it = clients_.emplace(std::piecewise_construct, std::forward_as_tuple(info.tokenId), - std::forward_as_tuple(appId, *this, std::move(observer))); - ZLOGI("bundleName:%{public}s, uid:%{public}d, pid:%{public}d inserted:%{public}s.", - appId.appId.c_str(), info.uid, IPCSkeleton::GetCallingPid(), it.second ? "success" : "failed"); - return it.second ? Status::SUCCESS : Status::ERROR; + return isSuccess ? Status::SUCCESS : Status::ERROR; } Status KvStoreDataService::AppExit(pid_t uid, pid_t pid, uint32_t token, const AppId &appId) @@ -212,8 +213,10 @@ Status KvStoreDataService::AppExit(pid_t uid, pid_t pid, uint32_t token, const A // memory of parameter appId locates in a member of clientDeathObserverMap_ and will be freed after // clientDeathObserverMap_ erase, so we have to take a copy if we want to use this parameter after erase operation. AppId appIdTmp = appId; - std::lock_guard lg(mutex_); - clients_.erase(token); + clients_.ComputeIfPresent(token, [pid](const auto tokenId, auto &clients) { + clients.erase(pid); + return !clients.empty(); + }); return Status::SUCCESS; } @@ -594,7 +597,7 @@ void KvStoreDataService::AccountEventChanged(const AccountEventInfo &eventInfo) if (meta.user != eventInfo.userId) { continue; } - ZLOGI("bundlname:%s, user:%s", meta.bundleName.c_str(), meta.user.c_str()); + ZLOGI("bundleName:%{public}s, user:%{public}s", meta.bundleName.c_str(), meta.user.c_str()); MetaDataManager::GetInstance().DelMeta(meta.GetKey()); MetaDataManager::GetInstance().DelMeta(meta.GetStrategyKey()); MetaDataManager::GetInstance().DelMeta(meta.GetSecretKey(), true); @@ -692,7 +695,7 @@ int32_t KvStoreDataService::OnUninstall(const std::string &bundleName, int32_t u value->OnAppUninstall(bundleName, user, index); return false; }); - return 0; + return SUCCESS; } int32_t KvStoreDataService::OnUpdate(const std::string &bundleName, int32_t user, int32_t index) diff --git a/datamgr_service/services/distributeddataservice/app/src/kvstore_data_service.h b/datamgr_service/services/distributeddataservice/app/src/kvstore_data_service.h index a264d67b..90b9be7d 100644 --- a/datamgr_service/services/distributeddataservice/app/src/kvstore_data_service.h +++ b/datamgr_service/services/distributeddataservice/app/src/kvstore_data_service.h @@ -129,8 +129,7 @@ private: static constexpr int TEN_SEC = 10; - std::mutex mutex_; - std::map clients_; + ConcurrentMap> clients_; std::shared_ptr accountEventObserver_; std::shared_ptr security_; diff --git a/datamgr_service/services/distributeddataservice/framework/cloud/cloud_event.cpp b/datamgr_service/services/distributeddataservice/framework/cloud/cloud_event.cpp index 8146446d..3152bf14 100644 --- a/datamgr_service/services/distributeddataservice/framework/cloud/cloud_event.cpp +++ b/datamgr_service/services/distributeddataservice/framework/cloud/cloud_event.cpp @@ -25,4 +25,4 @@ const CloudEvent::StoreInfo& CloudEvent::GetStoreInfo() const { return storeInfo_; } -} \ No newline at end of file +} diff --git a/datamgr_service/services/distributeddataservice/framework/include/store/general_store.h b/datamgr_service/services/distributeddataservice/framework/include/store/general_store.h index 51aab6d0..c1207c4c 100644 --- a/datamgr_service/services/distributeddataservice/framework/include/store/general_store.h +++ b/datamgr_service/services/distributeddataservice/framework/include/store/general_store.h @@ -61,8 +61,6 @@ public: }; virtual ~GeneralStore() = default; - virtual bool IsValid() = 0; - virtual int32_t Bind(const Database &database, BindInfo bindInfo) = 0; virtual bool IsBound() = 0; @@ -89,6 +87,10 @@ public: virtual int32_t Unwatch(int32_t origin, Watcher &watcher) = 0; + virtual int32_t RegisterCallback(DetailAsync detailAsync) = 0; + + virtual int32_t UnRegisterCallback() = 0; + virtual int32_t Close() = 0; virtual int32_t AddRef() = 0; diff --git a/datamgr_service/services/distributeddataservice/framework/store/auto_cache.cpp b/datamgr_service/services/distributeddataservice/framework/store/auto_cache.cpp index d31588a3..0e72c243 100644 --- a/datamgr_service/services/distributeddataservice/framework/store/auto_cache.cpp +++ b/datamgr_service/services/distributeddataservice/framework/store/auto_cache.cpp @@ -69,10 +69,9 @@ AutoCache::Store AutoCache::GetStore(const StoreMetaData &meta, const Watchers & store = it->second; return !stores.empty(); } - auto *dbStore = creators_[meta.storeType](meta); - if (dbStore == nullptr || !dbStore->IsValid()) { - ZLOGE("creator failed. storeName:%{public}s, dbStore is %{public}s", meta.GetStoreAlias().c_str(), - dbStore == nullptr ? "null" : "invalid"); + auto* dbStore = creators_[meta.storeType](meta); + if (dbStore == nullptr) { + ZLOGE("creator failed. storeName:%{public}s", meta.GetStoreAlias().c_str()); return !stores.empty(); } auto result = stores.emplace(std::piecewise_construct, std::forward_as_tuple(meta.storeId), @@ -97,10 +96,9 @@ void AutoCache::StartTimer() if (executor_ == nullptr || taskId_ == Executor::INVALID_TASK_ID) { return; } - auto taskId = taskId_; + executor_->Remove(taskId_); + ZLOGD("remove timer,taskId: %{public}" PRIu64, taskId_); taskId_ = Executor::INVALID_TASK_ID; - executor_->Remove(taskId); - ZLOGD("remove timer,taskId: %{public}" PRIu64, taskId); }); }, std::chrono::minutes(INTERVAL), std::chrono::minutes(INTERVAL)); diff --git a/datamgr_service/services/distributeddataservice/service/cloud/cloud_service_impl.cpp b/datamgr_service/services/distributeddataservice/service/cloud/cloud_service_impl.cpp index 596bd7db..2e50213b 100644 --- a/datamgr_service/services/distributeddataservice/service/cloud/cloud_service_impl.cpp +++ b/datamgr_service/services/distributeddataservice/service/cloud/cloud_service_impl.cpp @@ -468,6 +468,12 @@ CloudInfo CloudServiceImpl::GetCloudInfo(int32_t userId) int32_t CloudServiceImpl::OnAppUninstall(const std::string &bundleName, int32_t user, int32_t index) { + Subscription subscription; + MetaDataManager::GetInstance().LoadMeta(Subscription::GetKey(user),subscription, true); + subscription.expiresTime.erase(bundleName); + MetaDataManager::GetInstance().SaveMeta(Subscription::GetKey(user),subscription, true); + + MetaDataManager::GetInstance().DelMeta(Subscription::GetRelationKey(user, bundleName), true); MetaDataManager::GetInstance().DelMeta(CloudInfo::GetSchemaKey(user, bundleName, index), true); return E_OK; diff --git a/datamgr_service/services/distributeddataservice/service/cloud/sync_manager.cpp b/datamgr_service/services/distributeddataservice/service/cloud/sync_manager.cpp index 4804b5e4..83b1a578 100644 --- a/datamgr_service/services/distributeddataservice/service/cloud/sync_manager.cpp +++ b/datamgr_service/services/distributeddataservice/service/cloud/sync_manager.cpp @@ -15,7 +15,6 @@ #define LOG_TAG "SyncManager" #include "sync_manager.h" -#include "cloud/cloud_info.h" #include "cloud/cloud_server.h" #include "cloud/schema_meta.h" #include "cloud/sync_event.h" @@ -114,6 +113,11 @@ std::shared_ptr SyncManager::SyncInfo::GenerateQuery(const std::string return std::make_shared(syncTables.empty() ? tables : syncTables); } +bool SyncManager::SyncInfo::Contains(const std::string& storeName) +{ + return tables_.empty() || tables_.find(storeName) != tables_.end(); +} + SyncManager::SyncManager() { EventCenter::GetInstance().Subscribe(CloudEvent::LOCAL_CHANGE, GetClientChangeHandler()); @@ -171,18 +175,15 @@ ExecutorPool::Task SyncManager::GetSyncTask(int32_t times, bool retry, RefCount activeInfos_.Erase(info.syncId_); CloudInfo cloud; cloud.user = info.user_; - if (!MetaDataManager::GetInstance().LoadMeta(cloud.GetKey(), cloud, true)) { - info.SetError(E_CLOUD_DISABLED); - ZLOGE("no cloud info for user:%{public}d", info.user_); - return; - } - - if (!cloud.enableCloud || (info.id_ != SyncInfo::DEFAULT_ID && cloud.id != info.id_) || + if (!MetaDataManager::GetInstance().LoadMeta(cloud.GetKey(), cloud, true) || !cloud.enableCloud || + (info.id_ != SyncInfo::DEFAULT_ID && cloud.id != info.id_) || (!info.bundleName_.empty() && !cloud.IsOn(info.bundleName_))) { info.SetError(E_CLOUD_DISABLED); + ZLOGE("cloudInfo invalid:%{public}d, enable:%{public}d, bundleName:%{public}s, ", cloud.IsValid(), cloud.enableCloud, info.bundleName_.c_str(), + Anonymous::Change(info.id_).c_str(), Anonymous::Change(cloud.id).c_str()); return; } - if (!DmAdapter::GetInstance().IsNetworkAvailable()) { info.SetError(E_NETWORK_ERROR); return; @@ -199,12 +200,8 @@ ExecutorPool::Task SyncManager::GetSyncTask(int32_t times, bool retry, RefCount Defer defer(GetSyncHandler(std::move(retryer)), CloudEvent::CLOUD_SYNC); for (auto &schema : schemas) { - if (!cloud.IsOn(schema.bundleName)) { - continue; - } - for (const auto &database : schema.databases) { - if (!info.tables_.empty() && info.tables_.find(database.name) == info.tables_.end()) { + if (!info.Contains(database.name)) { continue; } CloudEvent::StoreInfo storeInfo; diff --git a/datamgr_service/services/distributeddataservice/service/cloud/sync_manager.h b/datamgr_service/services/distributeddataservice/service/cloud/sync_manager.h index 5f19611d..d31fa286 100644 --- a/datamgr_service/services/distributeddataservice/service/cloud/sync_manager.h +++ b/datamgr_service/services/distributeddataservice/service/cloud/sync_manager.h @@ -47,6 +47,7 @@ public: void SetQuery(std::shared_ptr query); void SetError(int32_t code) const; std::shared_ptr GenerateQuery(const std::string &store, const Tables &tables); + bool Contains(const std::string& storeName); inline static constexpr const char *DEFAULT_ID = "default"; private: diff --git a/datamgr_service/services/distributeddataservice/service/rdb/rdb_general_store.cpp b/datamgr_service/services/distributeddataservice/service/rdb/rdb_general_store.cpp index 5385952e..a784ad43 100644 --- a/datamgr_service/services/distributeddataservice/service/rdb/rdb_general_store.cpp +++ b/datamgr_service/services/distributeddataservice/service/rdb/rdb_general_store.cpp @@ -278,6 +278,7 @@ int32_t RdbGeneralStore::Unwatch(int32_t origin, Watcher &watcher) RdbGeneralStore::DBBriefCB RdbGeneralStore::GetDBBriefCB(DetailAsync async) { + async = async ? async : detailAsync_; if (!async) { return [](auto &) {}; } @@ -299,6 +300,7 @@ RdbGeneralStore::DBBriefCB RdbGeneralStore::GetDBBriefCB(DetailAsync async) RdbGeneralStore::DBProcessCB RdbGeneralStore::GetDBProcessCB(DetailAsync async) { + async = async ? async : detailAsync_; if (!async) { return [](auto &) {}; } @@ -409,6 +411,18 @@ bool RdbGeneralStore::IsValid() return delegate_ != nullptr; } +int32_t RdbGeneralStore::RegisterCallback(DetailAsync detailAsync) +{ + detailAsync_ = std::move(detailAsync); + return GenErr::E_OK; +} + +int32_t RdbGeneralStore::UnRegisterCallback() +{ + detailAsync_ = nullptr; + return GenErr::E_OK; +} + void RdbGeneralStore::ObserverProxy::OnChange(const DBChangedIF &data) { if (!HasWatcher()) { diff --git a/datamgr_service/services/distributeddataservice/service/rdb/rdb_general_store.h b/datamgr_service/services/distributeddataservice/service/rdb/rdb_general_store.h index 8f41c446..735355d4 100644 --- a/datamgr_service/services/distributeddataservice/service/rdb/rdb_general_store.h +++ b/datamgr_service/services/distributeddataservice/service/rdb/rdb_general_store.h @@ -43,9 +43,9 @@ public: explicit RdbGeneralStore(const StoreMetaData &meta); ~RdbGeneralStore(); - bool IsValid() override; int32_t Bind(const Database &database, BindInfo bindInfo) override; bool IsBound() override; + bool IsValid(); int32_t Execute(const std::string &table, const std::string &sql) override; int32_t SetDistributedTables(const std::vector &tables, int32_t type) override; int32_t BatchInsert(const std::string &table, VBuckets &&values) override; @@ -57,6 +57,8 @@ public: int32_t Clean(const std::vector &devices, int32_t mode, const std::string &tableName) override; int32_t Watch(int32_t origin, Watcher &watcher) override; int32_t Unwatch(int32_t origin, Watcher &watcher) override; + int32_t RegisterCallback(DetailAsync detailAsync) override; + int32_t UnRegisterCallback() override; int32_t Close() override; int32_t AddRef() override; int32_t Release() override; @@ -93,6 +95,7 @@ private: const DistributedDB::RemoteCondition &remoteCondition); ObserverProxy observer_; + DetailAsync detailAsync_; RdbManager manager_; RdbDelegate *delegate_ = nullptr; std::shared_ptr rdbCloud_ {}; diff --git a/datamgr_service/services/distributeddataservice/service/rdb/rdb_query.cpp b/datamgr_service/services/distributeddataservice/service/rdb/rdb_query.cpp index 733427c9..f6fca44a 100644 --- a/datamgr_service/services/distributeddataservice/service/rdb/rdb_query.cpp +++ b/datamgr_service/services/distributeddataservice/service/rdb/rdb_query.cpp @@ -19,9 +19,6 @@ #include "value_proxy.h" namespace OHOS::DistributedRdb { using namespace DistributedData; - -RdbQuery::RdbQuery(bool isRemote) : isRemote_(isRemote) {} - bool RdbQuery::IsEqual(uint64_t tid) { return tid == TYPE_ID; @@ -32,13 +29,10 @@ std::vector RdbQuery::GetTables() return tables_; } -void RdbQuery::SetDevices(const std::vector &devices) -{ - devices_ = devices; -} - -void RdbQuery::SetSql(const std::string &sql, DistributedData::Values &&args) +void RdbQuery::MakeRemoteQuery(const std::string& devices, const std::string& sql, Values&& args) { + isRemote_ = true; + devices_ = { devices }; sql_ = sql; args_ = std::move(args); } diff --git a/datamgr_service/services/distributeddataservice/service/rdb/rdb_query.h b/datamgr_service/services/distributeddataservice/service/rdb/rdb_query.h index 41088bd4..9c236121 100644 --- a/datamgr_service/services/distributeddataservice/service/rdb/rdb_query.h +++ b/datamgr_service/services/distributeddataservice/service/rdb/rdb_query.h @@ -25,7 +25,6 @@ public: using Predicates = NativeRdb::RdbPredicates; static constexpr uint64_t TYPE_ID = 0x20000001; RdbQuery() = default; - explicit RdbQuery(bool isRemote); ~RdbQuery() override = default; @@ -35,10 +34,9 @@ public: DistributedDB::Query GetQuery() const; DistributedDB::RemoteCondition GetRemoteCondition() const; bool IsRemoteQuery(); - void SetDevices(const std::vector &devices); - void SetSql(const std::string &sql, DistributedData::Values &&args); void FromTable(const std::vector &tables); void MakeQuery(const PredicatesMemo &predicates); + void MakeRemoteQuery(const std::string &devices, const std::string &sql, DistributedData::Values &&args); private: void EqualTo(const RdbPredicateOperation& operation); diff --git a/datamgr_service/services/distributeddataservice/service/rdb/rdb_service_impl.cpp b/datamgr_service/services/distributeddataservice/service/rdb/rdb_service_impl.cpp index 67c02160..deff5e82 100644 --- a/datamgr_service/services/distributeddataservice/service/rdb/rdb_service_impl.cpp +++ b/datamgr_service/services/distributeddataservice/service/rdb/rdb_service_impl.cpp @@ -61,8 +61,13 @@ RdbServiceImpl::Factory::Factory() } return product_; }); - AutoCache::GetInstance().RegCreator(RDB_DEVICE_COLLABORATION, [](const StoreMetaData &metaData) -> GeneralStore* { - return new (std::nothrow) RdbGeneralStore(metaData); + AutoCache::GetInstance().RegCreator(RDB_DEVICE_COLLABORATION, [](const StoreMetaData& metaData) -> GeneralStore* { + auto store = new (std::nothrow) RdbGeneralStore(metaData); + if (store != nullptr && !store->IsValid()) { + delete store; + store = nullptr; + } + return store; }); } @@ -145,22 +150,16 @@ int32_t RdbServiceImpl::ResolveAutoLaunch(const std::string &identifier, Distrib int32_t RdbServiceImpl::OnAppExit(pid_t uid, pid_t pid, uint32_t tokenId, const std::string &bundleName) { - OnClientDied(pid); - return E_OK; -} - -void RdbServiceImpl::OnClientDied(pid_t pid) -{ - ZLOGI("client dead pid=%{public}d", pid); - syncAgents_.EraseIf([pid](auto &key, SyncAgent &agent) { - if (agent.pid_ != pid) { - return false; + ZLOGI("client dead, tokenId:%{public}d, pid:%{public}d ", tokenId, pid); + syncAgents_.ComputeIfPresent(tokenId, [pid](auto, SyncAgents& agents) { + auto it = agents.find(pid); + if (it != agents.end()) { + it->second.SetNotifier(nullptr); + agents.erase(it); } - if (agent.watcher_ != nullptr) { - agent.watcher_->SetNotifier(nullptr); - } - return true; + return agents.empty(); }); + return E_OK; } bool RdbServiceImpl::CheckAccess(const std::string& bundleName, const std::string& storeName) @@ -202,11 +201,12 @@ int32_t RdbServiceImpl::InitNotifier(const RdbSyncerParam ¶m, const sptr(notifier); pid_t pid = IPCSkeleton::GetCallingPid(); uint32_t tokenId = IPCSkeleton::GetCallingTokenID(); - syncAgents_.Compute(tokenId, [¶m, notifierProxy, pid](auto, SyncAgent &agent) { - if (pid != agent.pid_) { - agent.ReInit(pid, param.bundleName_); + syncAgents_.Compute(tokenId, [¶m, notifierProxy, pid](auto, SyncAgents &agents) { + auto [it, _] = agents.insert_or_assign(pid, SyncAgent()); + if (it != agents.end()) { + it->second.ReInit(param.bundleName_); + it->second.SetNotifier(notifierProxy); } - agent.SetNotifier(notifierProxy); return true; }); ZLOGI("success tokenId:%{public}x, pid=%{public}d", tokenId, pid); @@ -243,12 +243,19 @@ int32_t RdbServiceImpl::SetDistributedTables(const RdbSyncerParam ¶m, const return store->SetDistributedTables(tables, type); } -void RdbServiceImpl::OnAsyncComplete(uint32_t tokenId, uint32_t seqNum, Details &&result) +void RdbServiceImpl::OnAsyncComplete(uint32_t tokenId, uint32_t pid, uint32_t seqNum, Details &&result) { ZLOGI("tokenId=%{public}x seqnum=%{public}u", tokenId, seqNum); - auto [success, agent] = syncAgents_.Find(tokenId); - if (success && agent.notifier_ != nullptr) { - agent.notifier_->OnComplete(seqNum, std::move(result)); + sptr notifier = nullptr; + syncAgents_.ComputeIfPresent(tokenId, [¬ifier, pid](auto, SyncAgents& syncAgents) { + auto it = syncAgents.find(pid); + if (it != syncAgents.end()) { + notifier = it->second.notifier_; + } + return true; + }); + if (notifier != nullptr) { + notifier->OnComplete(seqNum, std::move(result)); } } @@ -269,11 +276,16 @@ std::string RdbServiceImpl::TransferStringToHex(const std::string &origStr) AutoCache::Watchers RdbServiceImpl::GetWatchers(uint32_t tokenId, const std::string &storeName) { - auto [success, agent] = syncAgents_.Find(tokenId); - if (agent.watcher_ == nullptr) { - return {}; - } - return { agent.watcher_ }; + AutoCache::Watchers watchers; + syncAgents_.ComputeIfPresent(tokenId, [&storeName, &watchers](auto, SyncAgents &syncAgents) { + std::for_each(syncAgents.begin(), syncAgents.end(), [&storeName, &watchers](const auto& item) { + if (item.second.watcher_ != nullptr && item.second.stores.count(storeName) != 0) { + watchers.insert(item.second.watcher_); + } + }); + return true; + }); + return watchers; } int32_t RdbServiceImpl::RemoteQuery(const RdbSyncerParam& param, const std::string& device, const std::string& sql, @@ -288,10 +300,8 @@ int32_t RdbServiceImpl::RemoteQuery(const RdbSyncerParam& param, const std::stri ZLOGE("store is null"); return RDB_ERROR; } - auto values = ValueProxy::Convert(selectionArgs); - RdbQuery rdbQuery(true); - rdbQuery.SetDevices({ device }); - rdbQuery.SetSql(sql, std::move(values)); + RdbQuery rdbQuery; + rdbQuery.MakeRemoteQuery(device, sql, ValueProxy::Convert(selectionArgs)); auto cursor = store->Query("", rdbQuery); if (cursor == nullptr) { ZLOGE("Query failed, cursor is null"); @@ -346,10 +356,11 @@ int RdbServiceImpl::DoSync(const RdbSyncerParam ¶m, const RdbService::Option } ZLOGD("seqNum=%{public}u", option.seqNum); auto tokenId = IPCSkeleton::GetCallingTokenID(); + auto pid = IPCSkeleton::GetCallingPid(); return store->Sync( DmAdapter::ToUUID(DmAdapter::GetInstance().GetRemoteDevices()), option.mode, rdbQuery, - [this, tokenId, seqNum = option.seqNum](const GenDetails &result) mutable { - OnAsyncComplete(tokenId, seqNum, HandleGenDetails(result)); + [this, tokenId, pid, seqNum = option.seqNum](const GenDetails &result) mutable { + OnAsyncComplete(tokenId, pid, seqNum, HandleGenDetails(result)); }, false); } @@ -367,9 +378,10 @@ void RdbServiceImpl::DoCloudSync(const RdbSyncerParam ¶m, const RdbService:: query = std::make_shared(); query->FromTable(predicates.tables_); } - GenAsync asyncCallback = [this, tokenId = storeInfo.tokenId, seqNum = option.seqNum]( + auto pid = IPCSkeleton::GetCallingPid(); + GenAsync asyncCallback = [this, tokenId = storeInfo.tokenId, pid, seqNum = option.seqNum]( const GenDetails &result) mutable { - OnAsyncComplete(tokenId, seqNum, HandleGenDetails(result)); + OnAsyncComplete(tokenId, pid, seqNum, HandleGenDetails(result)); }; GenAsync syncCallback = [async, ¶m](const GenDetails &details) { ZLOGD("Cloud Sync complete, bundleName:%{public}s, storeName:%{public}s", param.bundleName_.c_str(), @@ -394,21 +406,19 @@ int32_t RdbServiceImpl::Subscribe(const RdbSyncerParam ¶m, const SubscribeOp } pid_t pid = IPCSkeleton::GetCallingPid(); auto tokenId = IPCSkeleton::GetCallingTokenID(); - bool isCreate = false; - syncAgents_.Compute(tokenId, [pid, ¶m, &isCreate](auto &key, SyncAgent &agent) { - if (pid != agent.pid_) { - agent.ReInit(pid, param.bundleName_); + auto storeName = RemoveSuffix(param.storeName_); + syncAgents_.Compute(tokenId, [pid, ¶m, &storeName](auto, SyncAgents& agents) { + auto [it, success] = agents.try_emplace(pid, param.bundleName_); + if (it == agents.end()) { + return !agents.empty(); } - if (agent.watcher_ == nullptr) { - isCreate = true; - agent.SetWatcher(std::make_shared()); + if (it->second.watcher_ == nullptr) { + it->second.SetWatcher(std::make_shared()); } - agent.count_++; + it->second.stores.insert(storeName); return true; }); - if (isCreate) { - AutoCache::GetInstance().SetObserver(tokenId, param.storeName_, GetWatchers(tokenId, param.storeName_)); - } + AutoCache::GetInstance().SetObserver(tokenId, storeName, GetWatchers(tokenId, storeName)); return RDB_OK; } @@ -419,21 +429,18 @@ int32_t RdbServiceImpl::UnSubscribe(const RdbSyncerParam ¶m, const Subscribe ZLOGE("mode:%{public}d error", option.mode); return RDB_ERROR; } - bool destroyed = false; auto tokenId = IPCSkeleton::GetCallingTokenID(); - syncAgents_.ComputeIfPresent(tokenId, [&destroyed](auto &key, SyncAgent &agent) { - if (agent.count_ > 0) { - agent.count_--; - } - if (agent.count_ == 0) { - destroyed = true; - agent.SetWatcher(nullptr); + auto pid = IPCSkeleton::GetCallingPid(); + auto storeName = RemoveSuffix(param.storeName_); + syncAgents_.ComputeIfPresent(tokenId, [pid, &storeName](auto, SyncAgents& agents) { + auto it = agents.find(pid); + if (it != agents.end()) { + it->second.stores.insert(storeName); + it->second.SetWatcher(nullptr); } - return true; + return !agents.empty(); }); - if (destroyed) { - AutoCache::GetInstance().SetObserver(tokenId, param.storeName_, GetWatchers(tokenId, param.storeName_)); - } + AutoCache::GetInstance().SetObserver(tokenId, storeName, GetWatchers(tokenId, storeName)); return RDB_OK; } @@ -651,6 +658,34 @@ int32_t RdbServiceImpl::OnAppUpdate(const std::string &bundleName, int32_t user, return CloseStore(bundleName, user, index); } +void RdbServiceImpl::SyncAgent::ReInit(const std::string& bundleName) +{ + stores.clear(); + bundleName_ = bundleName; + notifier_ = nullptr; + if (watcher_ != nullptr) { + watcher_->SetNotifier(nullptr); + } +} + +void RdbServiceImpl::SyncAgent::SetNotifier(sptr notifier) +{ + notifier_ = notifier; + if (watcher_ != nullptr) { + watcher_->SetNotifier(notifier); + } +} + +void RdbServiceImpl::SyncAgent::SetWatcher(std::shared_ptr watcher) +{ + if (watcher_ != watcher) { + watcher_ = watcher; + if (watcher_ != nullptr) { + watcher_->SetNotifier(notifier_); + } + } +} + int32_t RdbServiceImpl::CloseStore(const std::string &bundleName, int32_t user, int32_t index) const { std::string prefix = StoreMetaData::GetPrefix( @@ -674,32 +709,10 @@ int32_t RdbServiceImpl::CloseStore(const std::string &bundleName, int32_t user, return E_OK; } -void RdbServiceImpl::SyncAgent::ReInit(pid_t pid, const std::string &bundleName) +RdbServiceImpl::SyncAgent::SyncAgent(std::string bundleName) : bundleName_(bundleName) { - pid_ = pid; - count_ = 0; - bundleName_ = bundleName; notifier_ = nullptr; - if (watcher_ != nullptr) { - watcher_->SetNotifier(nullptr); - } -} - -void RdbServiceImpl::SyncAgent::SetNotifier(sptr notifier) -{ - notifier_ = notifier; - if (watcher_ != nullptr) { - watcher_->SetNotifier(notifier); - } -} - -void RdbServiceImpl::SyncAgent::SetWatcher(std::shared_ptr watcher) -{ - if (watcher_ != watcher) { - watcher_ = watcher; - if (watcher_ != nullptr) { - watcher_->SetNotifier(notifier_); - } - } + watcher_ = nullptr; + notifier_ = nullptr; } } // namespace OHOS::DistributedRdb diff --git a/datamgr_service/services/distributeddataservice/service/rdb/rdb_service_impl.h b/datamgr_service/services/distributeddataservice/service/rdb/rdb_service_impl.h index 8a8a738a..117c6791 100644 --- a/datamgr_service/services/distributeddataservice/service/rdb/rdb_service_impl.h +++ b/datamgr_service/services/distributeddataservice/service/rdb/rdb_service_impl.h @@ -38,8 +38,6 @@ public: using SecretKeyMetaData = DistributedData::SecretKeyMetaData; RdbServiceImpl(); - void OnClientDied(pid_t pid); - /* IPC interface */ std::string ObtainDistributedTableName(const std::string& device, const std::string& table) override; @@ -75,18 +73,22 @@ public: int32_t OnBind(const BindInfo &bindInfo) override; + virtual std::pair GetInstIndexAndUser(uint32_t tokenId, const std::string &bundleName); + private: using Watchers = DistributedData::AutoCache::Watchers; struct SyncAgent { - pid_t pid_ = 0; - int32_t count_ = 0; + SyncAgent() = default; + SyncAgent(std::string bundleName); + std::set stores; std::string bundleName_; sptr notifier_ = nullptr; std::shared_ptr watcher_ = nullptr; - void ReInit(pid_t pid, const std::string &bundleName); + void ReInit(const std::string &bundleName); void SetNotifier(sptr notifier); void SetWatcher(std::shared_ptr watcher); }; + using SyncAgents = std::map; class Factory { public: @@ -100,7 +102,7 @@ private: void DoCloudSync(const RdbSyncerParam ¶m, const Option &option, const PredicatesMemo &predicates, const AsyncDetail &async); - + int DoSync(const RdbSyncerParam ¶m, const Option &option, const PredicatesMemo &predicates, const AsyncDetail &async); @@ -110,7 +112,7 @@ private: std::shared_ptr GetStore(const RdbSyncerParam& param); - void OnAsyncComplete(uint32_t tokenId, uint32_t seqNum, Details&& result); + void OnAsyncComplete(uint32_t tokenId, uint32_t pid, uint32_t seqNum, Details&& result); int32_t CreateMetaData(const RdbSyncerParam ¶m, StoreMetaData &old); @@ -126,14 +128,12 @@ private: static std::string RemoveSuffix(const std::string& name); - static std::pair GetInstIndexAndUser(uint32_t tokenId, const std::string &bundleName); - static bool GetPassword(const StoreMetaData &metaData, DistributedDB::CipherPassword &password); int32_t CloseStore(const std::string &bundleName, int32_t user, int32_t index) const; static Factory factory_; - ConcurrentMap syncAgents_; + ConcurrentMap syncAgents_; std::shared_ptr executors_; }; } // namespace OHOS::DistributedRdb diff --git a/datamgr_service/services/distributeddataservice/service/test/BUILD.gn b/datamgr_service/services/distributeddataservice/service/test/BUILD.gn index 9f814f58..e0d8c344 100644 --- a/datamgr_service/services/distributeddataservice/service/test/BUILD.gn +++ b/datamgr_service/services/distributeddataservice/service/test/BUILD.gn @@ -240,6 +240,88 @@ ohos_unittest("RdbResultSetImplTest") { ] } +ohos_unittest("RdbServiceImplTest") { + module_out_path = module_output_path + sources = [ + "mock/db_change_data_mock.cpp", + "mock/db_store_mock.cpp", + "mock/general_store_mock.cpp", + "rdb_service_impl_test.cpp", + "${data_service_path}/service/backup/src/backup_manager.cpp", + "${data_service_path}/service/bootstrap/src/bootstrap.cpp", + "${data_service_path}/service/config/src/config_factory.cpp", + "${data_service_path}/service/config/src/model/backup_config.cpp", + "${data_service_path}/service/config/src/model/checker_config.cpp", + "${data_service_path}/service/config/src/model/component_config.cpp", + "${data_service_path}/service/config/src/model/directory_config.cpp", + "${data_service_path}/service/config/src/model/global_config.cpp", + "${data_service_path}/service/config/src/model/network_config.cpp", + "${data_service_path}/service/config/src/model/protocol_config.cpp", + "${data_service_path}/service/crypto/src/crypto_manager.cpp", + "${data_service_path}/service/matrix/src/device_matrix.cpp", + "${data_service_path}/service/matrix/src/matrix_event.cpp", + "${data_service_path}/service/permission/src/permit_delegate.cpp", + "${data_service_path}/service/rdb/rdb_asset_loader.cpp", + "${data_service_path}/service/rdb/rdb_cloud.cpp", + "${data_service_path}/service/rdb/rdb_cursor.cpp", + "${data_service_path}/service/rdb/rdb_general_store.cpp", + "${data_service_path}/service/rdb/rdb_notifier_proxy.cpp", + "${data_service_path}/service/rdb/rdb_query.cpp", + "${data_service_path}/service/rdb/rdb_result_set_impl.cpp", + "${data_service_path}/service/rdb/rdb_result_set_stub.cpp", + "${data_service_path}/service/rdb/rdb_service_impl.cpp", + "${data_service_path}/service/rdb/rdb_service_stub.cpp", + "${data_service_path}/service/rdb/rdb_watcher.cpp", + "${data_service_path}/service/rdb/value_proxy.cpp", + "${relational_store_path}/frameworks/native/rdb/src/rdb_notifier_stub.cpp", + "${relational_store_path}/frameworks/native/rdb/src/rdb_types_util.cpp", + ] + + include_dirs = [ + "${data_service_path}/service/backup/include", + "${data_service_path}/service/bootstrap/include", + "${data_service_path}/service/cloud", + "${data_service_path}/service/config/include", + "${data_service_path}/service/crypto/include", + "${data_service_path}/service/kvdb", + "${data_service_path}/service/matrix/include", + "${data_service_path}/service/object", + "${data_service_path}/service/permission/include", + "${data_service_path}/service/rdb", + "${kv_store_distributeddb_path}", + "${relational_store_path}/frameworks/common/include", + "${relational_store_path}/frameworks/native/rdb/include", + "${relational_store_path}/interfaces/inner_api/cloud_data/include", + "${relational_store_path}/interfaces/inner_api/rdb/include", + ] + + configs = [ ":module_private_config" ] + + external_deps = [ + "ability_base:base", + "ability_base:want", + "access_token:libnativetoken", + "access_token:libaccesstoken_sdk", + "access_token:libtokenid_sdk", + "access_token:libtoken_setproc", + "c_utils:utils", + "device_auth:deviceauth_sdk", + "device_manager:devicemanagersdk", + "hilog:libhilog", + "huks:libhukssdk", + "ipc:ipc_core", + "kv_store:distributeddata_inner", + "kv_store:distributeddb", + "relational_store:native_rdb", + ] + + deps = [ + "../../adapter:distributeddata_adapter", + "../../framework:distributeddatasvcfwk", + "//third_party/googletest:gtest_main", + ] +} + ############################################################################### group("unittest") { testonly = true @@ -253,6 +335,7 @@ group("unittest") { ":DeviceMatrixTest", ":DirectoryManagerTest", ":RdbResultSetImplTest", + ":RdbServiceImplTest", ":ValueProxyTest", ] } diff --git a/datamgr_service/services/distributeddataservice/service/test/mock/cloud_server_mock.h b/datamgr_service/services/distributeddataservice/service/test/mock/cloud_server_mock.h index 6ada12c9..e0f68f0d 100644 --- a/datamgr_service/services/distributeddataservice/service/test/mock/cloud_server_mock.h +++ b/datamgr_service/services/distributeddataservice/service/test/mock/cloud_server_mock.h @@ -1,3 +1,17 @@ +/* +* Copyright (c) 2023 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 OHOS_DISTRIBUTEDDATA_SERVICE_TEST_CLOUD_SERVER_MOCK_H #define OHOS_DISTRIBUTEDDATA_SERVICE_TEST_CLOUD_SERVER_MOCK_H diff --git a/datamgr_service/services/distributeddataservice/service/test/mock/db_store_mock.cpp b/datamgr_service/services/distributeddataservice/service/test/mock/db_store_mock.cpp index cd1e2df6..df8c3984 100644 --- a/datamgr_service/services/distributeddataservice/service/test/mock/db_store_mock.cpp +++ b/datamgr_service/services/distributeddataservice/service/test/mock/db_store_mock.cpp @@ -310,5 +310,12 @@ DBStatus DBStoreMock::UpdateKey(const UpdateKeyCallback &callback) { return NOT_SUPPORT; } + +void DBStoreMock::Reset() +{ + entries_.Clear(); + localEntries_.Clear(); + observers_.Clear(); +} } // namespace DistributedData } // namespace OHOS \ No newline at end of file diff --git a/datamgr_service/services/distributeddataservice/service/test/mock/db_store_mock.h b/datamgr_service/services/distributeddataservice/service/test/mock/db_store_mock.h index e50def98..74e8342e 100644 --- a/datamgr_service/services/distributeddataservice/service/test/mock/db_store_mock.h +++ b/datamgr_service/services/distributeddataservice/service/test/mock/db_store_mock.h @@ -89,6 +89,7 @@ public: DBStatus GetKeys(const Key &keyPrefix, std::vector &keys) const override; size_t GetSyncDataSize(const std::string &device) const override; DBStatus UpdateKey(const UpdateKeyCallback &callback) override; + void Reset(); private: static const uint32_t DEFAULT_SIZE = 0; diff --git a/datamgr_service/services/distributeddataservice/service/test/mock/general_store_mock.cpp b/datamgr_service/services/distributeddataservice/service/test/mock/general_store_mock.cpp index 80313ce1..e701685c 100644 --- a/datamgr_service/services/distributeddataservice/service/test/mock/general_store_mock.cpp +++ b/datamgr_service/services/distributeddataservice/service/test/mock/general_store_mock.cpp @@ -29,7 +29,7 @@ GeneralStoreMock::GeneralStoreMock(const StoreMetaData &meta) {} GeneralStoreMock::~GeneralStoreMock() {} bool GeneralStoreMock::IsValid() { - return false; + return true; } int32_t GeneralStoreMock::Bind(const Database &database, GeneralStore::BindInfo bindInfo) { @@ -72,26 +72,51 @@ int32_t GeneralStoreMock::Sync(const GeneralStore::Devices &devices, int32_t mod { return 0; } -int32_t GeneralStoreMock::Watch(int32_t origin, GeneralStore::Watcher &watcher) + +int32_t GeneralStoreMock::Watch(int32_t origin, Watcher &watcher) { - return 0; + if (origin != Watcher::Origin::ORIGIN_ALL || watcher_ != nullptr) { + return GeneralError::E_INVALID_ARGS; + } + + watcher_ = &watcher; + return GeneralError::E_OK; } -int32_t GeneralStoreMock::Unwatch(int32_t origin, GeneralStore::Watcher &watcher) + +int32_t GeneralStoreMock::Unwatch(int32_t origin, Watcher &watcher) { - return 0; + if (origin != Watcher::Origin::ORIGIN_ALL || watcher_ != &watcher) { + return GeneralError::E_INVALID_ARGS; + } + + watcher_ = nullptr; + return GeneralError::E_OK; } + int32_t GeneralStoreMock::Close() { return 0; } + int32_t GeneralStoreMock::AddRef() { return 0; } + int32_t GeneralStoreMock::Release() { return 0; } +int32_t GeneralStoreMock::OnChange(const GeneralWatcher::Origin &origin, const GeneralWatcher::PRIFields &primaries, + GeneralWatcher::ChangeInfo &&changeInfo) +{ + if (watcher_ != nullptr) { + watcher_->OnChange(origin, primaries, std::move(changeInfo)); + return GeneralError::E_OK; + } + return GeneralError::E_ERROR; +} + } // namespace DistributedData } // namespace OHOS \ No newline at end of file diff --git a/datamgr_service/services/distributeddataservice/service/test/mock/general_store_mock.h b/datamgr_service/services/distributeddataservice/service/test/mock/general_store_mock.h index f3ffc4ef..00398556 100644 --- a/datamgr_service/services/distributeddataservice/service/test/mock/general_store_mock.h +++ b/datamgr_service/services/distributeddataservice/service/test/mock/general_store_mock.h @@ -18,16 +18,17 @@ #include #include #include - #include "metadata/store_meta_data.h" #include "rdb_asset_loader.h" #include "rdb_cloud.h" -#include "rdb_store.h" +#include "rdb_types.h" #include "relational_store_delegate.h" #include "relational_store_manager.h" #include "store/general_store.h" #include "store/general_value.h" +#include "store/general_watcher.h" namespace OHOS::DistributedData { +using namespace OHOS::DistributedData; class GeneralStoreMock : public DistributedData::GeneralStore { public: explicit GeneralStoreMock(const StoreMetaData &meta); @@ -50,8 +51,13 @@ public: int32_t AddRef() override; int32_t Release() override; + int32_t OnChange(const GeneralWatcher::Origin &origin, const GeneralWatcher::PRIFields &primaries, + GeneralWatcher::ChangeInfo &&changeInfo); + StoreMetaData GetStoreMetaData(); + private: + Watcher* watcher_ = nullptr; }; } // namespace OHOS::DistributedData #endif // OHOS_DISTRIBUTEDDATA_SERVICE_TEST_RDB_GENERAL_STORE_H diff --git a/datamgr_service/services/distributeddataservice/service/test/rdb_service_impl_test.cpp b/datamgr_service/services/distributeddataservice/service/test/rdb_service_impl_test.cpp new file mode 100644 index 00000000..74a52e77 --- /dev/null +++ b/datamgr_service/services/distributeddataservice/service/test/rdb_service_impl_test.cpp @@ -0,0 +1,337 @@ +/* +* Copyright (c) 2023 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. +*/ +#include +#include +#include +#include "gtest/gtest.h" +#include "accesstoken_kit.h" +#include "account/account_delegate.h" +#include "bootstrap.h" +#include "checker/checker_manager.h" +#include "communicator/device_manager_adapter.h" +#include "ipc_skeleton.h" +#include "mock/general_store_mock.h" +#include "metadata/meta_data_manager.h" +#include "metadata/store_meta_data.h" +#include "mock/db_store_mock.h" +#include "rdb_notifier_stub.h" +#include "rdb_service_impl.h" +#include "store/auto_cache.h" +#include "token_setproc.h" +#include "types.h" + +using namespace testing::ext; +using namespace OHOS; +using namespace OHOS::DistributedData; +using namespace OHOS::DistributedRdb; +using namespace OHOS::Security::AccessToken; +using DmAdapter = OHOS::DistributedData::DeviceManagerAdapter; +namespace OHOS::Test { +namespace DistributedRDBTest { +constexpr int USER_ID = 100; +constexpr int INST_INDEX = 0; +constexpr int IPC_KEY = 222222; +constexpr size_t IPC_SIZE = 4096 * (sizeof(RdbServiceImpl) / 4096 + 1); +constexpr const char* BUNDLE_NAME = "ohos.RdbServiceImplTest.BundleName"; +constexpr const char* STORE_ID = "RdbServiceImplTestStoreId"; +constexpr const char* CHECK_NAME = "SystemChecker"; + +void AllocAndSetHapToken() +{ + HapInfoParams info = { + .userID = USER_ID, + .bundleName = BUNDLE_NAME, + .instIndex = INST_INDEX, + .appIDDesc = BUNDLE_NAME, + .isSystemApp = true + }; + + HapPolicyParams policy = { .apl = APL_NORMAL, .domain = "test.domain", .permList = {}, .permStateList = {} }; + auto tokenID = AccessTokenKit::AllocHapToken(info, policy); + SetSelfTokenID(tokenID.tokenIDEx); +} +class TestChecker : public CheckerManager::Checker { +public: + TestChecker() noexcept { + CheckerManager::GetInstance().RegisterPlugin( + CHECK_NAME, [this]() -> auto { return this; }); + } + ~TestChecker() {} + void Initialize() override {} + bool SetTrustInfo(const CheckerManager::Trust &trust) override + { + return true; + } + std::string GetAppId(const CheckerManager::StoreInfo &info) override + { + return info.bundleName; + } + bool IsValid(const CheckerManager::StoreInfo &info) override + { + return true; + } + +private: + static TestChecker instance_; +}; +__attribute__((used)) TestChecker TestChecker::instance_; +class NotifierMock : public RdbNotifierStub { +public: + NotifierMock(const SyncCompleteHandler& syncCompleteHandler = nullptr, + const DataChangeHandler& dataChangeHandler = nullptr) + : RdbNotifierStub(syncCompleteHandler, dataChangeHandler) + { + } + virtual ~NotifierMock() = default; + int OnComplete(uint32_t, Details&&) + { + return RDB_OK; + } + int OnChange(const Origin&, const PrimaryFields&, ChangeInfo&&) + { + times_++; + return RDB_OK; + } + int GetTimes() + { + return times_; + } + +private: + std::atomic_int times_ = 0; +}; + +class RdbServiceImplMock : public RdbServiceImpl { +public: + RdbServiceImplMock() = default; + virtual ~RdbServiceImplMock() = default; + std::pair GetInstIndexAndUser(uint32_t tokenId, const std::string& bundleName) override + { + return { 0, USER_ID }; + } +}; + +class RdbServiceImplTest : public testing::Test { +public: + static void SetUpTestCase(void); + static void TearDownTestCase(void); + void SetUp(); + void TearDown(); +// RdbServiceImpl* CreateShareRdbService(int id); + static StoreMetaData GetStoreMetaData(); + static std::shared_ptr dbStoreMock_; +}; + +std::shared_ptr RdbServiceImplTest::dbStoreMock_ = std::make_shared(); + +StoreMetaData RdbServiceImplTest::GetStoreMetaData() +{ + StoreMetaData storeMetaData; + storeMetaData.deviceId = DmAdapter::GetInstance().GetLocalDevice().uuid; + storeMetaData.bundleName = BUNDLE_NAME; + storeMetaData.storeId = STORE_ID; + storeMetaData.appId = BUNDLE_NAME; + storeMetaData.instanceId = 0; + storeMetaData.isAutoSync = true; + storeMetaData.storeType = DistributedRdb::RDB_DEVICE_COLLABORATION; + storeMetaData.area = OHOS::DistributedKv::EL1; + storeMetaData.tokenId = OHOS::IPCSkeleton::GetCallingTokenID(); + storeMetaData.user = + std::to_string(DistributedKv::AccountDelegate::GetInstance()->GetUserByToken(storeMetaData.tokenId)); + return storeMetaData; +} + + +void RdbServiceImplTest::SetUpTestCase(void) { + AllocAndSetHapToken(); + AutoCache::GetInstance().RegCreator(RDB_DEVICE_COLLABORATION, [](const StoreMetaData &metaData) -> GeneralStore* { + return new (std::nothrow) GeneralStoreMock(metaData); + }); + MetaDataManager::GetInstance().Initialize(dbStoreMock_, nullptr, nullptr); + std::vector checks{ CHECK_NAME }; + CheckerManager::GetInstance().LoadCheckers(checks); + FeatureSystem::GetInstance().GetCreator("relational_store")(); +} + +void RdbServiceImplTest::TearDownTestCase(void) {} + +void RdbServiceImplTest::SetUp() {} + +void RdbServiceImplTest::TearDown() +{ + AutoCache::GetInstance().CloseStore(OHOS::IPCSkeleton::GetCallingTokenID()); + if (dbStoreMock_ != nullptr) { + dbStoreMock_->Reset(); + } +} +//RdbServiceImpl* RdbServiceImplTest::CreateShareRdbService(int id) { +// auto ptr = static_cast(shmat(id, nullptr, 0)); +// ASSERT_TRUE(reinterpret_cast(ptr) != -1) << "ptr: " << reinterpret_cast(ptr); +// auto rdbService = new (ptr) RdbServiceImpl(); +// ASSERT_NE(rdbService, nullptr); +// return rdbService +//} + +/** +* @tc.name: InitNotifierOnce +* @tc.desc: InitNotifierOnce and be able to notify normally +* @tc.type: FUNC +* @tc.require: +* @tc.author: ht +*/ +HWTEST_F(RdbServiceImplTest, InitNotifierOnce, TestSize.Level0) +{ + GTEST_LOG_(INFO) << "RdbServiceImplTest InitNotifierOnce start"; + std::shared_ptr rdbService = std::make_shared(); + RdbSyncerParam param; + param.bundleName_ = BUNDLE_NAME; + param.storeName_ = STORE_ID; + sptr notifierMock{ new NotifierMock() }; + ASSERT_EQ(rdbService->InitNotifier(param, notifierMock), RDB_OK); + SubscribeOption option; + option.mode = CLOUD_DETAIL; + ASSERT_EQ(rdbService->Subscribe(param, option, nullptr), RDB_OK); + auto storeMeta = GetStoreMetaData(); + ASSERT_TRUE(MetaDataManager::GetInstance().SaveMeta(storeMeta.GetKey(), storeMeta)); + auto identifier = DistributedDB::RelationalStoreManager::GetRelationalStoreIdentifier(storeMeta.user, + storeMeta.appId, storeMeta.storeId); + DistributedDB::AutoLaunchParam autoLaunchParam; + ASSERT_TRUE(rdbService->ResolveAutoLaunch(identifier, autoLaunchParam)); + auto store = std::static_pointer_cast(AutoCache::GetInstance().GetStore(storeMeta, {})); + ASSERT_NE(store, nullptr); + ASSERT_EQ(store->OnChange(GeneralWatcher::Origin(), {}, {}), GeneralError::E_OK); + ASSERT_EQ(notifierMock->GetTimes(), 1); + ASSERT_EQ(rdbService->UnSubscribe(param, option, nullptr), RDB_OK); + ASSERT_EQ(store->OnChange(GeneralWatcher::Origin(), {}, {}), GeneralError::E_OK); + ASSERT_EQ(notifierMock->GetTimes(), 1); + GTEST_LOG_(INFO) << "RdbServiceImplTest InitNotifierOnce end"; +} + +/** +* @tc.name: InitNotifierTwiceUsingDifferentPid +* @tc.desc: use of InitNotifier() by different processes with the same tokenID. +* 1). all processes can received notification +* 2). the process can received notification after the other process exit. +* @tc.type: FUNC +* @tc.require: +* @tc.author: ht +*/ +HWTEST_F(RdbServiceImplTest, InitNotifierTwiceUsingDifferentPid, TestSize.Level0) +{ + GTEST_LOG_(INFO) << "RdbServiceImplTest InitNotifierTwiceUsingDifferentPid start"; + auto id = shmget(random(), IPC_SIZE, IPC_CREAT | 0666); + ASSERT_TRUE(id > 0) << "IPC_SIZE: " << IPC_SIZE << "errno: " << errno; + pid_t pid = fork(); + ASSERT_NE(pid, -1) << "fork failed"; + RdbServiceImpl* rdbService = nullptr; + if (pid != 0) { + auto ptr = static_cast(shmat(id, nullptr, 0)); + ASSERT_TRUE(reinterpret_cast(ptr) != -1) << "ptr: " << reinterpret_cast(ptr); + rdbService = new (ptr) RdbServiceImplMock(); + ASSERT_NE(rdbService, nullptr); + }else{ + sleep(1); + rdbService = static_cast(shmat(id, nullptr, 0)); + ASSERT_TRUE(reinterpret_cast(rdbService) != -1) << "ptr: " << reinterpret_cast(rdbService); + } + RdbSyncerParam param; + param.bundleName_ = BUNDLE_NAME; + param.storeName_ = STORE_ID; + sptr notifierMock = new NotifierMock(); + ASSERT_EQ(rdbService->InitNotifier(param, notifierMock), RDB_OK) << "InitNotifier failed, pid:" << getpid; + SubscribeOption option; + option.mode = CLOUD_DETAIL; + ASSERT_EQ(rdbService->Subscribe(param, option, nullptr), RDB_OK); + if (pid == 0) { + sleep(3); + ASSERT_EQ(notifierMock->GetTimes(), 1); + rdbService->OnAppExit(0, OHOS::IPCSkeleton::GetCallingPid(), OHOS::IPCSkeleton::GetCallingTokenID(), + BUNDLE_NAME); + _exit(0); + } + auto storeMeta = GetStoreMetaData(); + ASSERT_TRUE(MetaDataManager::GetInstance().SaveMeta(storeMeta.GetKey(), storeMeta)); + auto identifier = DistributedDB::RelationalStoreManager::GetRelationalStoreIdentifier(storeMeta.user, + storeMeta.appId, storeMeta.storeId); + DistributedDB::AutoLaunchParam autoLaunchParam; + ASSERT_TRUE(rdbService->ResolveAutoLaunch(identifier, autoLaunchParam)); + auto store = std::static_pointer_cast(AutoCache::GetInstance().GetStore(storeMeta, {})); + ASSERT_NE(store, nullptr); + ASSERT_EQ(store->OnChange(GeneralWatcher::Origin(), {}, {}), GeneralError::E_OK); + EXPECT_EQ(notifierMock->GetTimes(), 1); + int status = 0; + ASSERT_EQ(wait(&status), pid); + ASSERT_EQ(store->OnChange(GeneralWatcher::Origin(), {}, {}), GeneralError::E_OK); + EXPECT_EQ(notifierMock->GetTimes(), 2); + rdbService->~RdbServiceImpl(); + shmdt(rdbService); + shmctl(id, IPC_RMID, nullptr); + GTEST_LOG_(INFO) << "RdbServiceImplTest InitNotifierTwiceUsingDifferentPid end"; +} + +/** +* @tc.name: SubscribeTwoStores +* @tc.desc: Notify twice when a process subscribes to two stores, and notify once when subscribing to one store. +* @tc.type: FUNC +* @tc.require: +* @tc.author: ht +*/ +HWTEST_F(RdbServiceImplTest, SubscribeTwoStores, TestSize.Level0) +{ + GTEST_LOG_(INFO) << "RdbServiceImplTest SubscribeTwoStores start"; + std::shared_ptr rdbService = std::make_shared(); + RdbSyncerParam param; + param.bundleName_ = BUNDLE_NAME; + sptr notifierMock{ new NotifierMock() }; + ASSERT_EQ(rdbService->InitNotifier(param, notifierMock), RDB_OK); + SubscribeOption option; + option.mode = REMOTE; + + param.storeName_ = std::string(STORE_ID) + "1"; + ASSERT_EQ(rdbService->Subscribe(param, option, nullptr), RDB_OK); + auto storeMeta = GetStoreMetaData(); + storeMeta.storeId = param.storeName_; + ASSERT_TRUE(MetaDataManager::GetInstance().SaveMeta(storeMeta.GetKey(), storeMeta)); + auto identifier = DistributedDB::RelationalStoreManager::GetRelationalStoreIdentifier(storeMeta.user, + storeMeta.appId, storeMeta.storeId); + DistributedDB::AutoLaunchParam autoLaunchParam; + ASSERT_TRUE(rdbService->ResolveAutoLaunch(identifier, autoLaunchParam)); + auto store1 = std::static_pointer_cast(AutoCache::GetInstance().GetStore(storeMeta, {})); + ASSERT_NE(store1, nullptr); + + param.storeName_ = std::string(STORE_ID) + "2"; + ASSERT_EQ(rdbService->Subscribe(param, option, nullptr), RDB_OK); + storeMeta.storeId = param.storeName_; + MetaDataManager::GetInstance().SaveMeta(storeMeta.GetKey(), storeMeta); + identifier = DistributedDB::RelationalStoreManager::GetRelationalStoreIdentifier(storeMeta.user, + storeMeta.appId, storeMeta.storeId); + ASSERT_TRUE(rdbService->ResolveAutoLaunch(identifier, autoLaunchParam)); + auto store2 = std::static_pointer_cast(AutoCache::GetInstance().GetStore(storeMeta, {})); + ASSERT_NE(store2, nullptr); + + ASSERT_EQ(store1->OnChange(GeneralWatcher::Origin(), {}, {}), GeneralError::E_OK); + ASSERT_EQ(notifierMock->GetTimes(), 1); + ASSERT_EQ(store2->OnChange(GeneralWatcher::Origin(), {}, {}), GeneralError::E_OK); + ASSERT_EQ(notifierMock->GetTimes(), 2); + + ASSERT_EQ(rdbService->UnSubscribe(param, option, nullptr), RDB_OK); + ASSERT_EQ(store1->OnChange(GeneralWatcher::Origin(), {}, {}), GeneralError::E_OK); + ASSERT_EQ(notifierMock->GetTimes(), 3); + ASSERT_EQ(store2->OnChange(GeneralWatcher::Origin(), {}, {}), GeneralError::E_OK); + ASSERT_EQ(notifierMock->GetTimes(), 3); + GTEST_LOG_(INFO) << "RdbServiceImplTest SubscribeTwoStores end"; +} +} // namespace DistributedRDBTest +} // namespace OHOS::Test \ No newline at end of file diff --git a/datamgr_service/services/distributeddataservice/service/test/unittest/cloud/cloud_data_test.cpp b/datamgr_service/services/distributeddataservice/service/test/unittest/cloud/cloud_data_test.cpp new file mode 100644 index 00000000..6003b98b --- /dev/null +++ b/datamgr_service/services/distributeddataservice/service/test/unittest/cloud/cloud_data_test.cpp @@ -0,0 +1,246 @@ +/* +* Copyright (c) 2022 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. +*/ +#define LOG_TAG "CloudDataTest" +#include + +#include "account/account_delegate.h" +#include "cloud/change_event.h" +#include "cloud/cloud_event.h" +#include "cloud/cloud_server.h" +#include "cloud/schema_meta.h" +#include "communicator/device_manager_adapter.h" +#include "eventcenter/event_center.h" +#include "feature/feature_system.h" +#include "ipc_skeleton.h" +#include "log_print.h" +#include "metadata/meta_data_manager.h" +#include "metadata/store_meta_data.h" +#include "metadata/store_meta_data_local.h" +#include "mock/cloud_server_mock.h" +#include "mock/db_store_mock.h" +#include "mock/general_store_mock.h" +#include "rdb_query.h" +#include "rdb_types.h" +#include "store/auto_cache.h" +#include "store/general_store.h" +using namespace testing::ext; +using namespace OHOS::DistributedData; +using DmAdapter = OHOS::DistributedData::DeviceManagerAdapter; + +namespace OHOS::Test { +namespace DistributedDataTest { +class CloudDataTest : public testing::Test { +public: + static void SetUpTestCase(void); + static void TearDownTestCase(void); + void SetUp(); + void TearDown(); + + static CloudInfo CLOUD_INFO; + static SchemaMeta SCHEMA_META; + +protected: + static constexpr uint64_t REMAIN_SPACE = 1000; + static constexpr uint64_t TOTAL_SPACE = 2000; + static constexpr const char *TEST_CLOUD_BUNDLE = "test_cloud_bundleName"; + static constexpr const char *TEST_CLOUD_APPID = "test_cloud_appid"; + static constexpr const char *TEST_CLOUD_STORE = "test_cloud_database_name"; + static constexpr const char *TEST_DISTRIBUTED_DATA_BUNDLE = "test_distributeddata"; + static constexpr const char *TEST_DISTRIBUTED_DATA_STORE = "test_service_meta"; + + void InitMetaData(); + void InitCloudInfo(); + void InitSchemaMeta(); + StoreMetaData GetStoreMetaData(); + static std::shared_ptr dbStoreMock_; + StoreMetaData metaData_; +}; + +std::shared_ptr CloudDataTest::dbStoreMock_ = std::make_shared(); +CloudInfo CloudDataTest::CLOUD_INFO; +SchemaMeta CloudDataTest::SCHEMA_META; + +void CloudDataTest::InitMetaData() +{ + metaData_.deviceId = DmAdapter::GetInstance().GetLocalDevice().uuid; + metaData_.appId = TEST_DISTRIBUTED_DATA_BUNDLE; + metaData_.bundleName = TEST_DISTRIBUTED_DATA_BUNDLE; + metaData_.tokenId = OHOS::IPCSkeleton::GetCallingTokenID(); + metaData_.user = std::to_string(DistributedKv::AccountDelegate::GetInstance()->GetUserByToken(metaData_.tokenId)); + metaData_.area = OHOS::DistributedKv::EL1; + metaData_.instanceId = 0; + metaData_.isAutoSync = true; + metaData_.storeType = 1; + metaData_.storeId = TEST_DISTRIBUTED_DATA_STORE; + PolicyValue value; + value.type = OHOS::DistributedKv::PolicyType::IMMEDIATE_SYNC_ON_ONLINE; +} + +void CloudDataTest::InitCloudInfo() +{ + CLOUD_INFO.id = "test_cloud_id"; + CLOUD_INFO.remainSpace = REMAIN_SPACE; + CLOUD_INFO.totalSpace = TOTAL_SPACE; + CLOUD_INFO.enableCloud = true; + + CloudInfo::AppInfo appInfo; + appInfo.bundleName = TEST_CLOUD_BUNDLE; + appInfo.appId = TEST_CLOUD_APPID; + appInfo.version = 1; + appInfo.cloudSwitch = true; + + CLOUD_INFO.apps[TEST_CLOUD_BUNDLE] = std::move(appInfo); +} + +void CloudDataTest::InitSchemaMeta() +{ + SchemaMeta::Field field1; + field1.colName = "test_cloud_field_name1"; + field1.alias = "test_cloud_field_alias1"; + SchemaMeta::Field field2; + field2.colName = "test_cloud_field_name2"; + field2.alias = "test_cloud_field_alias2"; + + SchemaMeta::Table table; + table.name = "test_cloud_table_name"; + table.alias = "test_cloud_table_alias"; + table.fields.emplace_back(field1); + table.fields.emplace_back(field2); + + SchemaMeta::Database database; + database.name = TEST_CLOUD_STORE; + database.alias = "test_cloud_database_alias"; + database.tables.emplace_back(table); + + SCHEMA_META.version = 1; + SCHEMA_META.bundleName = TEST_DISTRIBUTED_DATA_BUNDLE; + SCHEMA_META.databases.emplace_back(database); +} + +StoreMetaData CloudDataTest::GetStoreMetaData() +{ + StoreMetaData storeMetaData; + storeMetaData.deviceId = DmAdapter::GetInstance().GetLocalDevice().uuid; + storeMetaData.bundleName = TEST_CLOUD_BUNDLE; + storeMetaData.storeId = TEST_CLOUD_STORE; + storeMetaData.instanceId = 0; + storeMetaData.isAutoSync = true; + storeMetaData.storeType = DistributedRdb::RDB_DEVICE_COLLABORATION; + storeMetaData.area = OHOS::DistributedKv::EL1; + storeMetaData.tokenId = OHOS::IPCSkeleton::GetCallingTokenID(); + storeMetaData.user = + std::to_string(DistributedKv::AccountDelegate::GetInstance()->GetUserByToken(storeMetaData.tokenId)); + return storeMetaData; +} + +void CloudDataTest::SetUpTestCase(void) +{ + MetaDataManager::GetInstance().Initialize(dbStoreMock_, nullptr, nullptr); + + FeatureSystem::GetInstance().GetCreator("cloud")(); + FeatureSystem::GetInstance().GetCreator("relational_store")(); +} + +void CloudDataTest::TearDownTestCase() {} + +void CloudDataTest::SetUp() +{ + InitMetaData(); + InitCloudInfo(); + InitSchemaMeta(); + + MetaDataManager::GetInstance().SaveMeta(metaData_.GetKey(), metaData_); + + auto cloudServerMock = new CloudServerMock(CLOUD_INFO, { { TEST_CLOUD_BUNDLE, SCHEMA_META } }); + CloudServer::RegisterCloudInstance(cloudServerMock); +} + +void CloudDataTest::TearDown() +{ + CLOUD_INFO = CloudInfo(); + SCHEMA_META = SchemaMeta(); + if (dbStoreMock_ != nullptr) { + dbStoreMock_->Reset(); + } +} + +/** +* @tc.name: GetSchemaTest001 +* @tc.desc: GetSchema from cloud when no schema in meta. +* @tc.type: FUNC +* @tc.require: +* @tc.author: ht +*/ +HWTEST_F(CloudDataTest, GetSchemaTest001, TestSize.Level0) +{ + ZLOGI("GetSchemaTest001 start"); + auto cloudInfo = CLOUD_INFO; + ASSERT_TRUE(MetaDataManager::GetInstance().DelMeta(cloudInfo.GetSchemaKey(TEST_CLOUD_BUNDLE), true)); + SchemaMeta schemaMeta; + ASSERT_FALSE(MetaDataManager::GetInstance().LoadMeta(cloudInfo.GetSchemaKey(TEST_CLOUD_BUNDLE), schemaMeta, true)); + CloudEvent::StoreInfo storeInfo{ IPCSkeleton::GetCallingTokenID(), TEST_CLOUD_BUNDLE, TEST_CLOUD_STORE, 0 }; + auto event = std::make_unique(CloudEvent::GET_SCHEMA, std::move(storeInfo)); + EventCenter::GetInstance().PostEvent(move(event)); + ASSERT_TRUE(MetaDataManager::GetInstance().LoadMeta(cloudInfo.GetSchemaKey(TEST_CLOUD_BUNDLE), schemaMeta, true)); + ASSERT_EQ(to_string(schemaMeta.Marshall()), to_string(SCHEMA_META.Marshall())); +} + +/** +* @tc.name: LocalChangeTest001 +* @tc.desc: do cloud sync. +* @tc.type: FUNC +* @tc.require: +* @tc.author: ht +*/ +HWTEST_F(CloudDataTest, LocalChangeTest001, TestSize.Level0) +{ + ZLOGI("LocalChangeTest001 start"); + auto cloudInfo = CLOUD_INFO; + MetaDataManager::GetInstance().SaveMeta(cloudInfo.GetKey(), cloudInfo, true); + auto schemaMeta = SCHEMA_META; + auto keys = cloudInfo.GetSchemaKey(); + for (auto &[bundleName, key] : keys) { + schemaMeta.bundleName = bundleName; + MetaDataManager::GetInstance().SaveMeta(key, schemaMeta, true); + } + auto storeMeta = GetStoreMetaData(); + storeMeta.storeType = DistributedRdb::RDB_DISTRIBUTED_TYPE_MAX; + MetaDataManager::GetInstance().SaveMeta(storeMeta.GetKey(), storeMeta); + + AutoCache::GetInstance().RegCreator(storeMeta.storeType, [](const StoreMetaData &metaData) -> GeneralStore* { + return new (std::nothrow) GeneralStoreMock(metaData); + }); + auto process = [this](const Event &event) { + auto &evt = static_cast(event); + auto storeInfo = evt.GetStoreInfo(); + StoreMetaData meta; + meta.storeId = storeInfo.storeName; + meta.bundleName = storeInfo.bundleName; + meta.user = std::to_string(storeInfo.user); + meta.instanceId = storeInfo.instanceId; + meta.deviceId = DmAdapter::GetInstance().GetLocalDevice().uuid; + ASSERT_TRUE(MetaDataManager::GetInstance().LoadMeta(meta.GetKey(), meta)); + auto store = AutoCache::GetInstance().GetStore(meta, {}); + ASSERT_TRUE(store!= nullptr && store->IsValid()); + }; + EventCenter::GetInstance().Subscribe(CloudEvent::CLOUD_SYNC, process); + CloudEvent::StoreInfo storeInfo{ IPCSkeleton::GetCallingTokenID(), TEST_CLOUD_BUNDLE, TEST_CLOUD_STORE, 0 }; + auto query = std::make_shared(); + auto info = ChangeEvent::EventInfo(GeneralStore::CLOUD_TIME_FIRST, 0, false, query, nullptr); + auto evt = std::make_unique(std::move(storeInfo), std::move(info)); + EventCenter::GetInstance().PostEvent(std::move(evt)); +} +} // namespace DistributedDataTest +} // namespace OHOS::Test diff --git a/datamgr_service/services/distributeddataservice/service/test/mock/adapter_mock.cpp b/datamgr_service/services/distributeddataservice/service/test/unittest/cloud/device_manger_adapter_mock.cpp similarity index 96% rename from datamgr_service/services/distributeddataservice/service/test/mock/adapter_mock.cpp rename to datamgr_service/services/distributeddataservice/service/test/unittest/cloud/device_manger_adapter_mock.cpp index 66147dfc..4764ba0d 100644 --- a/datamgr_service/services/distributeddataservice/service/test/mock/adapter_mock.cpp +++ b/datamgr_service/services/distributeddataservice/service/test/unittest/cloud/device_manger_adapter_mock.cpp @@ -43,8 +43,9 @@ std::string DeviceManagerAdapter::ToUDID(const std::string &id) {} std::string DeviceManagerAdapter::ToNetworkID(const std::string &id) {} void DeviceManagerAdapter::NotifyReadyEvent(const std::string &uuid) {} -bool DeviceManagerAdapter::IsNetworkAvailable() { - +bool DeviceManagerAdapter::IsNetworkAvailable() +{ + return true; } DeviceManagerAdapter::DeviceManagerAdapter() diff --git a/googletest/googlemock/CMakeLists.txt b/googletest/googlemock/CMakeLists.txt index 2b55ba15..aedbaa38 100644 --- a/googletest/googlemock/CMakeLists.txt +++ b/googletest/googlemock/CMakeLists.txt @@ -94,6 +94,7 @@ if (MSVC) src/gmock-all.cc src/gmock_main.cc) else() + cxx_library(gmock "${cxx_strict}" src/gmock-all.cc) target_link_libraries(gmock PUBLIC gtest) set_target_properties(gmock PROPERTIES VERSION ${GOOGLETEST_VERSION}) diff --git a/kv_store/frameworks/common/priority_queue.h b/kv_store/frameworks/common/priority_queue.h index 741dfa5a..a3a7da8c 100644 --- a/kv_store/frameworks/common/priority_queue.h +++ b/kv_store/frameworks/common/priority_queue.h @@ -29,6 +29,7 @@ public: struct PQMatrix { _Tsk task_; _Tid id_; + bool removed = false; PQMatrix(_Tsk task, _Tid id) : task_(task), id_(id) {} }; using TskIndex = typename std::map<_Tme, PQMatrix>::iterator; @@ -116,6 +117,10 @@ public: bool Remove(_Tid id, bool wait) { std::unique_lock lock(pqMtx_); + auto it = running_.find(id); + if (it != running_.end()) { + it->second.removed = true; + } removeCv_.wait(lock, [this, id, wait] { return !wait || running_.find(id) == running_.end(); }); @@ -144,9 +149,11 @@ public: if (it == running_.end()) { return; } - auto [repeat, time] = updater_(it->second.task_); - if (repeat) { - indexes_.emplace(id, tasks_.emplace(time, std::move(it->second))); + if(!it->second.removed){ + auto [repeat, time] = updater_(it->second.task_); + if (repeat) { + indexes_.emplace(id, tasks_.emplace(time, std::move(it->second))); + } } running_.erase(it); removeCv_.notify_all(); diff --git a/kv_store/frameworks/common/test/executor_pool_test.cpp b/kv_store/frameworks/common/test/executor_pool_test.cpp index 37c680a5..6dbea3eb 100644 --- a/kv_store/frameworks/common/test/executor_pool_test.cpp +++ b/kv_store/frameworks/common/test/executor_pool_test.cpp @@ -188,24 +188,27 @@ HWTEST_F(ExecutorPoolTest, MaxEqualsOne, TestSize.Level0) ASSERT_EQ(testNum, 4); } - /** -* @tc.name: EmplaceWithNone -* @tc.desc: test the bool Emplace() noexcept function. +* @tc.name: RemoveInExcuteTask +* @tc.desc: test remove task when the task is running. * @tc.type: FUNC * @tc.require: -* @tc.author: Sven Wang +* @tc.author: ht */ HWTEST_F(ExecutorPoolTest, RemoveWhenExcute, TestSize.Level0) { - auto executors = std::make_shared(2, 1); + auto executors = std::make_shared(1, 1); auto taskId = ExecutorPool::INVALID_TASK_ID; - taskId = executors->Schedule(std::chrono::seconds(0), [executors, &taskId]() { - std::this_thread::sleep_for(std::chrono::milliseconds(SHORT_INTERVAL)); - executors->Remove(taskId, false); - taskId = ExecutorPool::INVALID_TASK_ID; - }); + std::atomic flag = 0; + taskId = executors->Schedule( + [executors, &taskId, &flag]() { + flag++; + executors->Remove(taskId, false); + taskId = ExecutorPool::INVALID_TASK_ID; + }, + std::chrono::seconds(0), std::chrono::milliseconds(SHORT_INTERVAL), 10); std::this_thread::sleep_for(std::chrono::seconds(LONG_INTERVAL)); ASSERT_EQ(taskId, ExecutorPool::INVALID_TASK_ID); + ASSERT_EQ(flag, 1); } } // namespace OHOS::Test diff --git a/kv_store/frameworks/jskitsimpl/distributeddata/include/js_const_properties.h b/kv_store/frameworks/jskitsimpl/distributeddata/include/js_const_properties.h index 367261d9..dcc861be 100644 --- a/kv_store/frameworks/jskitsimpl/distributeddata/include/js_const_properties.h +++ b/kv_store/frameworks/jskitsimpl/distributeddata/include/js_const_properties.h @@ -16,9 +16,9 @@ #ifndef OHOS_JS_CONST_PROPERTIES_H #define OHOS_JS_CONST_PROPERTIES_H -#include "napi/native_common.h" -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS::DistributedData { napi_status InitConstProperties(napi_env env, napi_value exports); diff --git a/kv_store/frameworks/jskitsimpl/distributeddata/include/js_util.h b/kv_store/frameworks/jskitsimpl/distributeddata/include/js_util.h index d9ebeead..1076e1af 100644 --- a/kv_store/frameworks/jskitsimpl/distributeddata/include/js_util.h +++ b/kv_store/frameworks/jskitsimpl/distributeddata/include/js_util.h @@ -20,9 +20,9 @@ #include "data_query.h" #include "js_kv_manager.h" #include "change_notification.h" -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "datashare_abs_predicates.h" #include "datashare_values_bucket.h" diff --git a/kv_store/frameworks/jskitsimpl/distributeddata/include/napi_queue.h b/kv_store/frameworks/jskitsimpl/distributeddata/include/napi_queue.h index 7022dcff..c205511b 100644 --- a/kv_store/frameworks/jskitsimpl/distributeddata/include/napi_queue.h +++ b/kv_store/frameworks/jskitsimpl/distributeddata/include/napi_queue.h @@ -19,9 +19,9 @@ #include #include "log_print.h" -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS::DistributedData { constexpr size_t ARGC_MAX = 6; diff --git a/kv_store/frameworks/jskitsimpl/distributeddata/include/uv_queue.h b/kv_store/frameworks/jskitsimpl/distributeddata/include/uv_queue.h index b5b96ea7..78e622c5 100644 --- a/kv_store/frameworks/jskitsimpl/distributeddata/include/uv_queue.h +++ b/kv_store/frameworks/jskitsimpl/distributeddata/include/uv_queue.h @@ -15,9 +15,9 @@ #ifndef OHOS_UV_QUEUE_H #define OHOS_UV_QUEUE_H #include -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "uv.h" namespace OHOS::DistributedData { diff --git a/kv_store/frameworks/jskitsimpl/distributedkvstore/include/js_const_properties.h b/kv_store/frameworks/jskitsimpl/distributedkvstore/include/js_const_properties.h index e34d8563..29465db6 100644 --- a/kv_store/frameworks/jskitsimpl/distributedkvstore/include/js_const_properties.h +++ b/kv_store/frameworks/jskitsimpl/distributedkvstore/include/js_const_properties.h @@ -16,9 +16,9 @@ #ifndef OHOS_JS_CONST_PROPERTIES_H #define OHOS_JS_CONST_PROPERTIES_H -#include "napi/native_common.h" -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS::DistributedKVStore { napi_status InitConstProperties(napi_env env, napi_value exports); diff --git a/kv_store/frameworks/jskitsimpl/distributedkvstore/include/js_error_utils.h b/kv_store/frameworks/jskitsimpl/distributedkvstore/include/js_error_utils.h index 2b9788f2..47062431 100644 --- a/kv_store/frameworks/jskitsimpl/distributedkvstore/include/js_error_utils.h +++ b/kv_store/frameworks/jskitsimpl/distributedkvstore/include/js_error_utils.h @@ -19,7 +19,7 @@ #include #include "store_errno.h" #include "js_native_api.h" -#include "napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" #include "log_print.h" namespace OHOS { diff --git a/kv_store/frameworks/jskitsimpl/distributedkvstore/include/js_util.h b/kv_store/frameworks/jskitsimpl/distributedkvstore/include/js_util.h index 2d24da1a..567eb0fb 100644 --- a/kv_store/frameworks/jskitsimpl/distributedkvstore/include/js_util.h +++ b/kv_store/frameworks/jskitsimpl/distributedkvstore/include/js_util.h @@ -20,9 +20,9 @@ #include "data_query.h" #include "js_kv_manager.h" #include "change_notification.h" -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "datashare_abs_predicates.h" #include "datashare_values_bucket.h" #include "js_error_utils.h" diff --git a/kv_store/frameworks/jskitsimpl/distributedkvstore/include/napi_queue.h b/kv_store/frameworks/jskitsimpl/distributedkvstore/include/napi_queue.h index ec7a4a43..2841fea1 100644 --- a/kv_store/frameworks/jskitsimpl/distributedkvstore/include/napi_queue.h +++ b/kv_store/frameworks/jskitsimpl/distributedkvstore/include/napi_queue.h @@ -19,9 +19,9 @@ #include #include "log_print.h" -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS::DistributedKVStore { constexpr size_t ARGC_MAX = 6; diff --git a/kv_store/frameworks/jskitsimpl/distributedkvstore/include/uv_queue.h b/kv_store/frameworks/jskitsimpl/distributedkvstore/include/uv_queue.h index f467a763..92252696 100644 --- a/kv_store/frameworks/jskitsimpl/distributedkvstore/include/uv_queue.h +++ b/kv_store/frameworks/jskitsimpl/distributedkvstore/include/uv_queue.h @@ -15,9 +15,9 @@ #ifndef OHOS_UV_QUEUE_H #define OHOS_UV_QUEUE_H #include -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "uv.h" namespace OHOS::DistributedKVStore { diff --git a/kv_store/kvstoremock/interfaces/mock/napi_base_context.h b/kv_store/kvstoremock/interfaces/mock/napi_base_context.h index 8ce54d61..eaa309b7 100644 --- a/kv_store/kvstoremock/interfaces/mock/napi_base_context.h +++ b/kv_store/kvstoremock/interfaces/mock/napi_base_context.h @@ -18,7 +18,7 @@ #include -#include "napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" namespace OHOS { namespace AppExecFwk { diff --git a/mock/CMakeLists.txt b/mock/CMakeLists.txt index a021da83..34d362fe 100644 --- a/mock/CMakeLists.txt +++ b/mock/CMakeLists.txt @@ -35,225 +35,223 @@ target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/napi/src) target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/uapi) target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/sqlite/include) target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../utils_native/base/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}) -target_include_directories(mock PUBLIC ${MOCK_DIR}/napi/src) -target_include_directories(mock PUBLIC ${MOCK_DIR}/libuv/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/miscdevice/vibrator_interface_native/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/soc_perf/socperf_client/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/memmgr/memmgrclient/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/pasteboard_native/pasteboard_client/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/frame_aware_sched/frame_msg_intf/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/frame_aware_sched/frame_ui_intf/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/multimedia_image_standard/image/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/multimedia_image_standard/image_native/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/input/libmmi-client/include/event/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/input/libmmi-client/include/proxy/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/form_fwk/fmskit_native/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/form_fwk/form_manager/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/startup_l2/syspara/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/startup_l2/syspara_watchagent/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/distributed_screen/distributed_screen_sink_sdk/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/distributed_screen/distributed_screen_source_sdk/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/bluetooth/btframework/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/cellular_data/tel_cellular_data_api/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/state_registry/tel_state_registry_api/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/config_policy/configpolicy_util/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/faultloggerd/dfx_signalhandler/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/faultloggerd/libfaultloggerd/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/faultloggerd/lib_dfx_dump_catcher/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/netmanager_base/innerkits/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/netmanager_base/innerkits/netconnclient/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/netmanager_base/innerkits/netconnclient/include/proxy) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/netmanager_base/innerkits/netmanagernative/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/netmanager_base/innerkits/netpolicyclient/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/netmanager_base/innerkits/netstatsclient/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/accessibility/accessibilityconfig/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/accessibility/accessibleability/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/accessibility/accessibilityclient/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/accessibility/accessibility_common/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/safwk/system_ability_fwk/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/hilog_native/libhilog/include/hilog) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/hilog_native/libhilog/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/device_auth/deviceauth_sdk/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/window_manager/libwindow_extension_client/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/window_manager/libwm/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/window_manager/libdm/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/battery_manager_native/batterysrv_client/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/hidumper/lib_dump_usage/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/hidumper/utils/native/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/enterprise_device_management/edmservice_kits/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/time_native/time_service/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/time_native/time_client/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/access_token/libaccesstoken_sdk/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/access_token/libnativetoken/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/access_token/libprivacy_sdk/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/access_token/token_setproc/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/resource_management/resmgr_napi_core/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/resource_management/global_resmgr/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/graphic_chipsetsdk/surface/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/media_library/media_library/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/media_library/medialibrary/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/ability_base/zuri/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/ability_base/base/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/ability_base/want/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/ability_base/configuration/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/graphic_graphic_2d/libgraphic_utils/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/graphic_graphic_2d/libcomposer/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/graphic_graphic_2d/libvsync_module/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/graphic_graphic_2d/libvsync_client/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/graphic_graphic_2d/surface/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/graphic_graphic_2d/window_animation/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/device_usage_statistics/usagestatsinner/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/hitrace_native/hitrace_meter/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/hitrace_native/libhitrace/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/hitrace_native/libhitrace/include/hitrace) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/hicollie_native/libhicollie/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/hicollie_native/libhicollie/include/xcollie) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/battery_statistics_native/batterystats_client/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/wifi/wifi_sdk/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/core_service/libtel_common/include/preferences/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/core_service/libtel_common/include/common/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/core_service/libtel_common/include/log/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/core_service/tel_core_service_api/include/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/core_service/tel_core_service_api/include/ims/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/sensor/sensor_interface_native/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/cellular_call/tel_ims_call_callback_proxy/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/drivers_peripheral_light/hdi_light/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/storage_service/storage_manager_sa_proxy/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/appverify/libhapverify/include/provision) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/appverify/libhapverify/include/interfaces) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/appverify/libhapverify/include/common) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/webview/libnweb/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/os_account/os_account_innerkits/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/os_account/common/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/os_account/libaccountkits/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/os_account/app_account_innerkits/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/inputmethod_native/inputmethod_client/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/inputmethod_native/inputmethod/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/inputmethod_native/inputmethodengine/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/inputmethod_native/inputmethod_service/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/inputmethod_native/inputmethod_ability/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/dmsfwk_standard/common_sdk/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/dmsfwk_standard/continuation_manager/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/napi/ace_container_scope/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/napi/ace_napi/include/napi) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/device_profile_core/distributed_device_profile_client/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/hiview/libfaultlogger/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/syscap_codec/syscap_interface_shared/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/ipc/ipc_single/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/ipc/ipc_core/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/ipc/libdbinder/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/i18n/zone_util/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/i18n/intl_util/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/i18n/preferred_language/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/hichecker_native/libhichecker/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/usb_manager/usbsrv_client/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/call_manager/tel_call_manager_api/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/hiperf/hiperf_client/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/ability_runtime/ability_context_native/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/ability_runtime/ability_manager/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/ability_runtime/ability_manager/include/continuation) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/ability_runtime/abilitykit_native/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/ability_runtime/app_manager/include/appmgr) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/ability_runtime/dataobs_manager/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/ability_runtime/extension_manager/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/ability_runtime/mock) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/ability_runtime/napi_base_context/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/ability_runtime/napi_common) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/ability_runtime/runtime/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/ability_runtime/uri_permission/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/ability_runtime/wantagent_innerkits/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/appexecfwk_base/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/appexecfwk_base/include/distributed_manager) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/appexecfwk_base/include/free_install) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/appexecfwk_base/include/quick_fix) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/appexecfwk_core/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/appexecfwk_core/include/bundlemgr) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/appexecfwk_core/include/default_app) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/dataclassification/data_transit_mgr/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/bundle_framework/appexecfwk_core/include/bundlemgr) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/bundle_framework/appexecfwk_base/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/selinux/libhap_restorecon/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/selinux/librestorecon/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/selinux/libload_policy/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/selinux/libservice_checker/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/selinux/libparaperm_checker/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/drivers_peripheral_camera/metadata/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/drivers_peripheral_camera/libcamera_client/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/device_manager/devicemanagersdk/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/thermal_manager/thermalsrv_client/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/thermal_manager/thermalmgr_listener/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/display_manager_native/displaymgr/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/common_event_service/cesfwk_services/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/common_event_service/cesfwk_core/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/common_event_service/cesfwk_innerkits/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/ipc_js/rpc/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/face_auth/faceauth_framework/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/dsoftbus/softbus_client/include/transport) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/dsoftbus/softbus_client/include/discovery) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/dsoftbus/softbus_client/include/bus_center) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/dsoftbus/softbus_client/include/common) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/background_task_mgr/bgtaskmgr_innerkits/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/eventhandler/eventhandler_native/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/eventhandler/libeventhandler/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/distributed_camera/distributed_camera_sink_sdk/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/distributed_camera/distributed_camera_source_sdk/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/ace_engine/ace_uicontent/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/profiler/libhidebug/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/device_security_level/dslm_sdk/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/user_auth_framework/coauth_framework/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/user_auth_framework/userauth/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/user_auth_framework/userauth_napi/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/user_auth_framework/userauth_framework/include/common) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/user_auth_framework/userauth_framework/include/user_auth) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/user_auth_framework/useridm_framework/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/samgr_standard/lsamgr/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/samgr_standard/samgr_proxy/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/samgr_standard/samgr_common/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/power_manager_native/powermgr_client/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/drivers_peripheral_usb/usbd_client/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/hisysevent_native/libhisyseventmanager/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/hisysevent_native/libhisysevent/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/init/libbegetutil/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/init/libbegetutil/include/syspara) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/init/libbegetutil/include/fs_manager) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/init/libinit_module_engine/include/init_module_engine/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/init/libbeget_proxy/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/init/libbeget_proxy/include/syspara) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/resource_schedule_service/ressched_client/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/huks/libhukssdk/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/drivers_interface_ril/hril_innerkits/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/drivers_interface_usb/usbd_client/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/ril_adapter/hril_innerkits/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/drivers_peripheral_input/hdi_input/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/hdf_core/libhdf_host/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/hdf_core/libhdf_ipc_adapter/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/hdf_core/libhdf_utils/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/hdf_core/libhdi/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/drivers_interface_input/hdi_input/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/drivers_peripheral_vibrator/hdi_vibrator/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/drivers_peripheral_sensor/hdi_sensor/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/napi) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/napi/native_engine) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/filemanagement/file_api/interfaces/kits) -target_include_directories(mock PUBLIC ${MOCK_DIR}/innerkits/filemanagement/app_file_service/interfaces/innerkits/native/remote_file_share/include) -target_include_directories(mock PUBLIC ${MOCK_DIR}/kits) -target_include_directories(mock PUBLIC ${MOCK_DIR}/kits/ability/ability_runtime) -target_include_directories(mock PUBLIC ${MOCK_DIR}/kits/ability) -target_include_directories(mock PUBLIC ${MOCK_DIR}/kits/ability/appkit) -target_include_directories(mock PUBLIC ${MOCK_DIR}/kits/ability/appkit/ability_delegator) -target_include_directories(mock PUBLIC ${MOCK_DIR}/kits/ability/appkit/ability_delegator/runner_runtime) -target_include_directories(mock PUBLIC ${MOCK_DIR}/kits/ability/appkit/ability_runtime) -target_include_directories(mock PUBLIC ${MOCK_DIR}/kits/ability/appkit/ability_runtime/app) -target_include_directories(mock PUBLIC ${MOCK_DIR}/kits/ability/appkit/app) -target_include_directories(mock PUBLIC ${MOCK_DIR}/kits/ability/appkit/app/task) -target_include_directories(mock PUBLIC ${MOCK_DIR}/kits/ability/appkit/ability_runtime/context) -target_include_directories(mock PUBLIC ${MOCK_DIR}/kits/ability/native/ability_runtime) -target_include_directories(mock PUBLIC ${MOCK_DIR}/kits/ability/native/continuation/distributed) -target_include_directories(mock PUBLIC ${MOCK_DIR}/kits/ability/native/continuation/kits) -target_include_directories(mock PUBLIC ${MOCK_DIR}/kits/ability/native/continuation/remote_register_service) -target_include_directories(mock PUBLIC ${MOCK_DIR}/kits/ability/native/distributed_ability_runtime) -target_include_directories(mock PUBLIC ${MOCK_DIR}/kits/ability/native/form_runtime) -target_include_directories(mock PUBLIC ${MOCK_DIR}/kits/ability/native) -target_include_directories(mock PUBLIC ${MOCK_DIR}/sqlite/include) \ No newline at end of file +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/libuv/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/miscdevice/vibrator_interface_native/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/soc_perf/socperf_client/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/memmgr/memmgrclient/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/pasteboard_native/pasteboard_client/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/frame_aware_sched/frame_msg_intf/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/frame_aware_sched/frame_ui_intf/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/multimedia_image_standard/image/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/multimedia_image_standard/image_native/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/input/libmmi-client/include/event/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/input/libmmi-client/include/proxy/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/form_fwk/fmskit_native/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/form_fwk/form_manager/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/startup_l2/syspara/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/startup_l2/syspara_watchagent/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/distributed_screen/distributed_screen_sink_sdk/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/distributed_screen/distributed_screen_source_sdk/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/bluetooth/btframework/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/cellular_data/tel_cellular_data_api/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/state_registry/tel_state_registry_api/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/config_policy/configpolicy_util/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/faultloggerd/dfx_signalhandler/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/faultloggerd/libfaultloggerd/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/faultloggerd/lib_dfx_dump_catcher/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/netmanager_base/innerkits/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/netmanager_base/innerkits/netconnclient/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/netmanager_base/innerkits/netconnclient/include/proxy) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/netmanager_base/innerkits/netmanagernative/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/netmanager_base/innerkits/netpolicyclient/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/netmanager_base/innerkits/netstatsclient/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/accessibility/accessibilityconfig/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/accessibility/accessibleability/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/accessibility/accessibilityclient/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/accessibility/accessibility_common/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/safwk/system_ability_fwk/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/hilog_native/libhilog/include/hilog) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/hilog_native/libhilog/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/device_auth/deviceauth_sdk/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/window_manager/libwindow_extension_client/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/window_manager/libwm/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/window_manager/libdm/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/battery_manager_native/batterysrv_client/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/hidumper/lib_dump_usage/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/hidumper/utils/native/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/enterprise_device_management/edmservice_kits/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/time_native/time_service/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/time_native/time_client/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/access_token/libaccesstoken_sdk/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/access_token/libnativetoken/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/access_token/libprivacy_sdk/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/access_token/token_setproc/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/resource_management/resmgr_napi_core/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/resource_management/global_resmgr/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/graphic_chipsetsdk/surface/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/media_library/media_library/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/media_library/medialibrary/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/ability_base/zuri/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/ability_base/base/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/ability_base/want/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/ability_base/configuration/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/graphic_graphic_2d/libgraphic_utils/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/graphic_graphic_2d/libcomposer/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/graphic_graphic_2d/libvsync_module/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/graphic_graphic_2d/libvsync_client/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/graphic_graphic_2d/surface/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/graphic_graphic_2d/window_animation/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/device_usage_statistics/usagestatsinner/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/hitrace_native/hitrace_meter/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/hitrace_native/libhitrace/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/hitrace_native/libhitrace/include/hitrace) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/hicollie_native/libhicollie/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/hicollie_native/libhicollie/include/xcollie) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/battery_statistics_native/batterystats_client/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/wifi/wifi_sdk/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/core_service/libtel_common/include/preferences/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/core_service/libtel_common/include/common/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/core_service/libtel_common/include/log/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/core_service/tel_core_service_api/include/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/core_service/tel_core_service_api/include/ims/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/sensor/sensor_interface_native/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/cellular_call/tel_ims_call_callback_proxy/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/drivers_peripheral_light/hdi_light/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/storage_service/storage_manager_sa_proxy/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/appverify/libhapverify/include/provision) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/appverify/libhapverify/include/interfaces) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/appverify/libhapverify/include/common) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/webview/libnweb/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/os_account/os_account_innerkits/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/os_account/common/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/os_account/libaccountkits/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/os_account/app_account_innerkits/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/inputmethod_native/inputmethod_client/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/inputmethod_native/inputmethod/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/inputmethod_native/inputmethodengine/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/inputmethod_native/inputmethod_service/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/inputmethod_native/inputmethod_ability/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/dmsfwk_standard/common_sdk/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/dmsfwk_standard/continuation_manager/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/napi/ace_container_scope/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/napi/ace_napi/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/device_profile_core/distributed_device_profile_client/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/hiview/libfaultlogger/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/syscap_codec/syscap_interface_shared/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/ipc/ipc_single/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/ipc/ipc_core/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/ipc/libdbinder/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/i18n/zone_util/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/i18n/intl_util/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/i18n/preferred_language/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/hichecker_native/libhichecker/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/usb_manager/usbsrv_client/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/call_manager/tel_call_manager_api/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/hiperf/hiperf_client/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/ability_runtime/ability_context_native/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/ability_runtime/ability_manager/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/ability_runtime/ability_manager/include/continuation) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/ability_runtime/abilitykit_native/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/ability_runtime/app_manager/include/appmgr) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/ability_runtime/dataobs_manager/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/ability_runtime/extension_manager/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/ability_runtime/mock) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/ability_runtime/napi_base_context/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/ability_runtime/napi_common) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/ability_runtime/runtime/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/ability_runtime/uri_permission/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/ability_runtime/wantagent_innerkits/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/appexecfwk_base/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/appexecfwk_base/include/distributed_manager) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/appexecfwk_base/include/free_install) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/appexecfwk_base/include/quick_fix) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/appexecfwk_core/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/appexecfwk_core/include/bundlemgr) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/appexecfwk_core/include/default_app) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/dataclassification/data_transit_mgr/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/bundle_framework/appexecfwk_core/include/bundlemgr) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/bundle_framework/appexecfwk_base/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/selinux/libhap_restorecon/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/selinux/librestorecon/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/selinux/libload_policy/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/selinux/libservice_checker/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/selinux/libparaperm_checker/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/drivers_peripheral_camera/metadata/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/drivers_peripheral_camera/libcamera_client/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/device_manager/devicemanagersdk/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/thermal_manager/thermalsrv_client/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/thermal_manager/thermalmgr_listener/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/display_manager_native/displaymgr/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/common_event_service/cesfwk_services/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/common_event_service/cesfwk_core/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/common_event_service/cesfwk_innerkits/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/ipc_js/rpc/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/face_auth/faceauth_framework/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/dsoftbus/softbus_client/include/transport) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/dsoftbus/softbus_client/include/discovery) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/dsoftbus/softbus_client/include/bus_center) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/dsoftbus/softbus_client/include/common) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/background_task_mgr/bgtaskmgr_innerkits/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/eventhandler/eventhandler_native/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/eventhandler/libeventhandler/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/distributed_camera/distributed_camera_sink_sdk/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/distributed_camera/distributed_camera_source_sdk/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/ace_engine/ace_uicontent/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/profiler/libhidebug/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/device_security_level/dslm_sdk/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/user_auth_framework/coauth_framework/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/user_auth_framework/userauth/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/user_auth_framework/userauth_napi/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/user_auth_framework/userauth_framework/include/common) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/user_auth_framework/userauth_framework/include/user_auth) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/user_auth_framework/useridm_framework/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/samgr_standard/lsamgr/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/samgr_standard/samgr_proxy/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/samgr_standard/samgr_common/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/power_manager_native/powermgr_client/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/drivers_peripheral_usb/usbd_client/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/hisysevent_native/libhisyseventmanager/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/hisysevent_native/libhisysevent/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/init/libbegetutil/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/init/libbegetutil/include/syspara) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/init/libbegetutil/include/fs_manager) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/init/libinit_module_engine/include/init_module_engine/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/init/libbeget_proxy/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/init/libbeget_proxy/include/syspara) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/resource_schedule_service/ressched_client/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/huks/libhukssdk/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/drivers_interface_ril/hril_innerkits/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/drivers_interface_usb/usbd_client/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/ril_adapter/hril_innerkits/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/drivers_peripheral_input/hdi_input/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/hdf_core/libhdf_host/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/hdf_core/libhdf_ipc_adapter/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/hdf_core/libhdf_utils/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/hdf_core/libhdi/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/drivers_interface_input/hdi_input/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/drivers_peripheral_vibrator/hdi_vibrator/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/drivers_peripheral_sensor/hdi_sensor/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/napi) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/napi/native_engine) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/filemanagement/file_api/interfaces/kits) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/innerkits/filemanagement/app_file_service/interfaces/innerkits/native/remote_file_share/include) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/kits) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/kits/ability/ability_runtime) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/kits/ability) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/kits/ability/appkit) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/kits/ability/appkit/ability_delegator) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/kits/ability/appkit/ability_delegator/runner_runtime) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/kits/ability/appkit/ability_runtime) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/kits/ability/appkit/ability_runtime/app) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/kits/ability/appkit/app) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/kits/ability/appkit/app/task) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/kits/ability/appkit/ability_runtime/context) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/kits/ability/native/ability_runtime) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/kits/ability/native/continuation/distributed) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/kits/ability/native/continuation/kits) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/kits/ability/native/continuation/remote_register_service) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/kits/ability/native/distributed_ability_runtime) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/kits/ability/native/form_runtime) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/kits/ability/native) +target_include_directories(mock PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/sqlite/include) \ No newline at end of file diff --git a/mock/innerkits/ability_runtime/napi_base_context/include/napi_base_context.h b/mock/innerkits/ability_runtime/napi_base_context/include/napi_base_context.h index 2207ae25..c8508cf9 100644 --- a/mock/innerkits/ability_runtime/napi_base_context/include/napi_base_context.h +++ b/mock/innerkits/ability_runtime/napi_base_context/include/napi_base_context.h @@ -18,7 +18,7 @@ #include -#include "napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" namespace OHOS { namespace AppExecFwk { diff --git a/mock/innerkits/ability_runtime/napi_common/feature_ability_common.h b/mock/innerkits/ability_runtime/napi_common/feature_ability_common.h index f0768ff1..0986b528 100644 --- a/mock/innerkits/ability_runtime/napi_common/feature_ability_common.h +++ b/mock/innerkits/ability_runtime/napi_common/feature_ability_common.h @@ -18,9 +18,9 @@ #include "ability.h" #include "abs_shared_result_set.h" #include "data_ability_predicates.h" -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "napi_common.h" #include "napi_common_util.h" #include "pac_map.h" diff --git a/mock/innerkits/ability_runtime/napi_common/napi_common_data.h b/mock/innerkits/ability_runtime/napi_common/napi_common_data.h index a24fc7b6..b2bbafd4 100644 --- a/mock/innerkits/ability_runtime/napi_common/napi_common_data.h +++ b/mock/innerkits/ability_runtime/napi_common/napi_common_data.h @@ -22,9 +22,9 @@ #include "want.h" #include "ability.h" -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "pac_map.h" using Ability = OHOS::AppExecFwk::Ability; diff --git a/mock/innerkits/ability_runtime/napi_common/napi_common_util.h b/mock/innerkits/ability_runtime/napi_common/napi_common_util.h index cbe39cca..f0a2240b 100644 --- a/mock/innerkits/ability_runtime/napi_common/napi_common_util.h +++ b/mock/innerkits/ability_runtime/napi_common/napi_common_util.h @@ -16,9 +16,9 @@ #ifndef OHOS_ABILITY_RUNTIME_NAPI_COMMON_UTIL_H #define OHOS_ABILITY_RUNTIME_NAPI_COMMON_UTIL_H -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "napi_common_data.h" namespace OHOS { diff --git a/mock/innerkits/ipc/ipc_core/include/napi_ashmem.h b/mock/innerkits/ipc/ipc_core/include/napi_ashmem.h index c37fb87f..66aefb82 100644 --- a/mock/innerkits/ipc/ipc_core/include/napi_ashmem.h +++ b/mock/innerkits/ipc/ipc_core/include/napi_ashmem.h @@ -17,9 +17,9 @@ #ifndef NAPI_IPC_OHOS_ASHMEM_H #define NAPI_IPC_OHOS_ASHMEM_H -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "ashmem.h" #include "napi_rpc_error.h" diff --git a/mock/innerkits/ipc/ipc_core/include/napi_message_parcel.h b/mock/innerkits/ipc/ipc_core/include/napi_message_parcel.h index 625d5c85..d1011abb 100644 --- a/mock/innerkits/ipc/ipc_core/include/napi_message_parcel.h +++ b/mock/innerkits/ipc/ipc_core/include/napi_message_parcel.h @@ -18,9 +18,9 @@ #include "ipc_skeleton.h" #include "message_parcel.h" -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "securec.h" namespace OHOS { diff --git a/mock/innerkits/ipc/ipc_core/include/napi_message_sequence.h b/mock/innerkits/ipc/ipc_core/include/napi_message_sequence.h index e30dd2f7..45ac5cc5 100644 --- a/mock/innerkits/ipc/ipc_core/include/napi_message_sequence.h +++ b/mock/innerkits/ipc/ipc_core/include/napi_message_sequence.h @@ -18,9 +18,9 @@ #include "ipc_skeleton.h" #include "message_parcel.h" -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "napi_rpc_error.h" #include "securec.h" diff --git a/mock/innerkits/ipc/ipc_core/include/napi_process_skeleton.h b/mock/innerkits/ipc/ipc_core/include/napi_process_skeleton.h index 08e4e96b..0a1610bb 100644 --- a/mock/innerkits/ipc/ipc_core/include/napi_process_skeleton.h +++ b/mock/innerkits/ipc/ipc_core/include/napi_process_skeleton.h @@ -20,7 +20,7 @@ #include "iremote_object.h" #include "message_parcel.h" #include "message_option.h" -#include "napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" namespace OHOS { napi_value NAPI_getCallingPid(napi_env env, napi_callback_info info); diff --git a/mock/innerkits/ipc/ipc_core/include/napi_remote_object_holder.h b/mock/innerkits/ipc/ipc_core/include/napi_remote_object_holder.h index eb8137de..6464c0a8 100644 --- a/mock/innerkits/ipc/ipc_core/include/napi_remote_object_holder.h +++ b/mock/innerkits/ipc/ipc_core/include/napi_remote_object_holder.h @@ -21,7 +21,7 @@ #include "napi_remote_object_internal.h" -#include "napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" namespace OHOS { class NAPIRemoteObjectHolder : public RefBase { diff --git a/mock/innerkits/ipc/ipc_core/include/napi_remote_object_internal.h b/mock/innerkits/ipc/ipc_core/include/napi_remote_object_internal.h index b9a1f74f..c1a5e482 100644 --- a/mock/innerkits/ipc/ipc_core/include/napi_remote_object_internal.h +++ b/mock/innerkits/ipc/ipc_core/include/napi_remote_object_internal.h @@ -20,7 +20,7 @@ #include "iremote_object.h" #include "message_parcel.h" #include "message_option.h" -#include "napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" #include "napi_remote_object.h" namespace OHOS { diff --git a/mock/innerkits/ipc/ipc_core/include/napi_remote_proxy_holder.h b/mock/innerkits/ipc/ipc_core/include/napi_remote_proxy_holder.h index 868b05fc..1934d42b 100644 --- a/mock/innerkits/ipc/ipc_core/include/napi_remote_proxy_holder.h +++ b/mock/innerkits/ipc/ipc_core/include/napi_remote_proxy_holder.h @@ -22,7 +22,7 @@ #include "napi_remote_object_internal.h" -#include "napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" namespace OHOS { class NAPIDeathRecipient : public IRemoteObject::DeathRecipient { diff --git a/mock/innerkits/ipc/ipc_core/include/napi_rpc_error.h b/mock/innerkits/ipc/ipc_core/include/napi_rpc_error.h index e6fedc14..759ad163 100644 --- a/mock/innerkits/ipc/ipc_core/include/napi_rpc_error.h +++ b/mock/innerkits/ipc/ipc_core/include/napi_rpc_error.h @@ -19,7 +19,7 @@ #include #include -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { enum errorDesc { diff --git a/mock/innerkits/ipc_js/rpc/include/napi_remote_object.h b/mock/innerkits/ipc_js/rpc/include/napi_remote_object.h index 331f4b61..11c6eee3 100644 --- a/mock/innerkits/ipc_js/rpc/include/napi_remote_object.h +++ b/mock/innerkits/ipc_js/rpc/include/napi_remote_object.h @@ -17,8 +17,8 @@ #define NAPI_IPC_OHOS_REMOTE_OBJECT_H #include "iremote_object.h" -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "refbase.h" constexpr size_t TRACESIZE = 64; diff --git a/mock/innerkits/media_library/medialibrary/include/album_napi.h b/mock/innerkits/media_library/medialibrary/include/album_napi.h index f497d955..afed5741 100644 --- a/mock/innerkits/media_library/medialibrary/include/album_napi.h +++ b/mock/innerkits/media_library/medialibrary/include/album_napi.h @@ -29,8 +29,8 @@ #include "fetch_result.h" #include "medialibrary_napi_utils.h" #include "media_data_ability_const.h" -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "result_set.h" #include "uri.h" #include "values_bucket.h" diff --git a/mock/innerkits/media_library/medialibrary/include/fetch_file_result_napi.h b/mock/innerkits/media_library/medialibrary/include/fetch_file_result_napi.h index 39d632ec..90618dda 100644 --- a/mock/innerkits/media_library/medialibrary/include/fetch_file_result_napi.h +++ b/mock/innerkits/media_library/medialibrary/include/fetch_file_result_napi.h @@ -19,8 +19,8 @@ #include "fetch_result.h" #include "file_asset_napi.h" #include "medialibrary_napi_utils.h" -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace Media { diff --git a/mock/innerkits/media_library/medialibrary/include/file_asset_napi.h b/mock/innerkits/media_library/medialibrary/include/file_asset_napi.h index e41d9fff..947c680b 100644 --- a/mock/innerkits/media_library/medialibrary/include/file_asset_napi.h +++ b/mock/innerkits/media_library/medialibrary/include/file_asset_napi.h @@ -19,8 +19,8 @@ #include "file_asset.h" #include "media_lib_service_const.h" #include "media_thumbnail_helper.h" -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "pixel_map_napi.h" #include "values_bucket.h" #include "napi_remote_object.h" diff --git a/mock/innerkits/media_library/medialibrary/include/media_library_napi.h b/mock/innerkits/media_library/medialibrary/include/media_library_napi.h index 8ecc07e5..57767e13 100644 --- a/mock/innerkits/media_library/medialibrary/include/media_library_napi.h +++ b/mock/innerkits/media_library/medialibrary/include/media_library_napi.h @@ -24,8 +24,8 @@ #include "fetch_file_result_napi.h" #include "file_asset_napi.h" #include "napi_base_context.h" -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "smart_album_asset.h" #include "values_bucket.h" #include "napi_remote_object.h" diff --git a/mock/innerkits/media_library/medialibrary/include/media_scanner_napi.h b/mock/innerkits/media_library/medialibrary/include/media_scanner_napi.h index ce49541f..06178809 100644 --- a/mock/innerkits/media_library/medialibrary/include/media_scanner_napi.h +++ b/mock/innerkits/media_library/medialibrary/include/media_scanner_napi.h @@ -18,8 +18,8 @@ #include #include "medialibrary_napi_utils.h" -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "imedia_scanner_app_callback.h" #include "datashare_helper.h" diff --git a/mock/innerkits/media_library/medialibrary/include/medialibrary_napi_utils.h b/mock/innerkits/media_library/medialibrary/include/medialibrary_napi_utils.h index 17f33c03..14acabb8 100644 --- a/mock/innerkits/media_library/medialibrary/include/medialibrary_napi_utils.h +++ b/mock/innerkits/media_library/medialibrary/include/medialibrary_napi_utils.h @@ -19,8 +19,8 @@ #include #include #include -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "hitrace_meter.h" #include "medialibrary_napi_log.h" #include "media_lib_service_const.h" diff --git a/mock/innerkits/media_library/medialibrary/include/smart_album_napi.h b/mock/innerkits/media_library/medialibrary/include/smart_album_napi.h index c3ee177b..2062736b 100644 --- a/mock/innerkits/media_library/medialibrary/include/smart_album_napi.h +++ b/mock/innerkits/media_library/medialibrary/include/smart_album_napi.h @@ -29,8 +29,8 @@ #include "smart_album_asset.h" #include "medialibrary_napi_utils.h" #include "media_data_ability_const.h" -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "result_set.h" #include "uri.h" #include "values_bucket.h" diff --git a/mock/innerkits/multimedia_image_standard/image/include/image_packer_napi.h b/mock/innerkits/multimedia_image_standard/image/include/image_packer_napi.h index 37015ea5..7cec3057 100644 --- a/mock/innerkits/multimedia_image_standard/image/include/image_packer_napi.h +++ b/mock/innerkits/multimedia_image_standard/image/include/image_packer_napi.h @@ -28,8 +28,8 @@ #include "image_packer.h" #include "image_type.h" #include "image_source.h" -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "pixel_map.h" #include "image_source_napi.h" diff --git a/mock/innerkits/multimedia_image_standard/image/include/image_source_napi.h b/mock/innerkits/multimedia_image_standard/image/include/image_source_napi.h index 60c2f84b..5c21e09a 100644 --- a/mock/innerkits/multimedia_image_standard/image/include/image_source_napi.h +++ b/mock/innerkits/multimedia_image_standard/image/include/image_source_napi.h @@ -19,8 +19,8 @@ #include "pixel_map.h" #include "image_type.h" #include "image_source.h" -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "pixel_map_napi.h" #include "incremental_pixel_map.h" diff --git a/mock/innerkits/multimedia_image_standard/image/include/native_module_ohos_image.h b/mock/innerkits/multimedia_image_standard/image/include/native_module_ohos_image.h index 5ef01b6e..7438eb68 100644 --- a/mock/innerkits/multimedia_image_standard/image/include/native_module_ohos_image.h +++ b/mock/innerkits/multimedia_image_standard/image/include/native_module_ohos_image.h @@ -16,7 +16,7 @@ #ifndef INTERFACES_KITS_JS_COMMON_INCLUDE_NATIVE_MODULE_OHOS_IMAGE_H_ #define INTERFACES_KITS_JS_COMMON_INCLUDE_NATIVE_MODULE_OHOS_IMAGE_H_ -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "image_source_napi.h" #include "pixel_map_napi.h" #include "image_packer_napi.h" diff --git a/mock/innerkits/multimedia_image_standard/image/include/pixel_map_napi.h b/mock/innerkits/multimedia_image_standard/image/include/pixel_map_napi.h index d339ac91..1bc27215 100644 --- a/mock/innerkits/multimedia_image_standard/image/include/pixel_map_napi.h +++ b/mock/innerkits/multimedia_image_standard/image/include/pixel_map_napi.h @@ -19,8 +19,8 @@ #include "pixel_map.h" #include "image_type.h" #include "image_source.h" -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace Media { diff --git a/mock/innerkits/napi/ace_napi/include/napi/common.h b/mock/innerkits/napi/ace_napi/include/napi/common.h new file mode 100644 index 00000000..15a9ef90 --- /dev/null +++ b/mock/innerkits/napi/ace_napi/include/napi/common.h @@ -0,0 +1,26 @@ +/* +* Copyright (c) 2023 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 FOUNDATION_ACE_NAPI_INTERFACES_KITS_NAPI_COMMON_H +#define FOUNDATION_ACE_NAPI_INTERFACES_KITS_NAPI_COMMON_H + +typedef enum { + napi_qos_background = 0, + napi_qos_utility = 1, + napi_qos_default = 2, + napi_qos_user_initiated = 3, +} napi_qos_t; + +#endif /* FOUNDATION_ACE_NAPI_INTERFACES_KITS_NAPI_NATIVE_API_H */ \ No newline at end of file diff --git a/mock/innerkits/napi/ace_napi/include/napi/native_api.h b/mock/innerkits/napi/ace_napi/include/napi/native_api.h index 72fa2671..f4e3eb46 100644 --- a/mock/innerkits/napi/ace_napi/include/napi/native_api.h +++ b/mock/innerkits/napi/ace_napi/include/napi/native_api.h @@ -1,17 +1,17 @@ /* - * 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. - */ +* 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 FOUNDATION_ACE_NAPI_INTERFACES_KITS_NAPI_NATIVE_API_H #define FOUNDATION_ACE_NAPI_INTERFACES_KITS_NAPI_NATIVE_API_H @@ -24,7 +24,8 @@ #define NAPI_EXPERIMENTAL #endif -#include +#include "common.h" +#include "node_api.h" #ifdef NAPI_TEST #ifdef _WIN32 @@ -41,161 +42,89 @@ #endif NAPI_INNER_EXTERN napi_status napi_set_instance_data(napi_env env, - void* data, - napi_finalize finalize_cb, - void* finalize_hint); + void* data, + napi_finalize finalize_cb, + void* finalize_hint); NAPI_INNER_EXTERN napi_status napi_get_instance_data(napi_env env, - void** data); + void** data); NAPI_INNER_EXTERN napi_status napi_fatal_exception(napi_env env, napi_value err); NAPI_INNER_EXTERN napi_status napi_add_env_cleanup_hook(napi_env env, - void (*fun)(void* arg), - void* arg); + void (*fun)(void* arg), + void* arg); NAPI_INNER_EXTERN napi_status napi_remove_env_cleanup_hook(napi_env env, - void (*fun)(void* arg), - void* arg); + void (*fun)(void* arg), + void* arg); NAPI_INNER_EXTERN napi_status napi_add_async_cleanup_hook( - napi_env env, - napi_async_cleanup_hook hook, - void* arg, - napi_async_cleanup_hook_handle* remove_handle); + napi_env env, + napi_async_cleanup_hook hook, + void* arg, + napi_async_cleanup_hook_handle* remove_handle); NAPI_INNER_EXTERN napi_status napi_remove_async_cleanup_hook( - napi_async_cleanup_hook_handle remove_handle); - -NAPI_INNER_EXTERN napi_status napi_create_buffer(napi_env env, - size_t length, - void** data, - napi_value* result); - -NAPI_INNER_EXTERN napi_status napi_create_buffer_copy(napi_env env, - size_t length, - const void* data, - void** result_data, - napi_value* result); - - -NAPI_INNER_EXTERN napi_status napi_create_external_buffer(napi_env env, - size_t length, - void* data, - napi_finalize finalize_cb, - void* finalize_hint, - napi_value* result); - -NAPI_INNER_EXTERN napi_status napi_create_bigint_int64(napi_env env, - int64_t value, - napi_value* result); - -NAPI_EXTERN napi_status napi_create_bigint_uint64(napi_env env, uint64_t value, napi_value* result); - -NAPI_INNER_EXTERN napi_status napi_create_bigint_words(napi_env env, - int sign_bit, - size_t word_count, - const uint64_t* words, - napi_value* result); - -NAPI_INNER_EXTERN napi_status napi_create_string_utf16(napi_env env, - const char16_t* str, - size_t length, - napi_value* result); - -NAPI_INNER_EXTERN napi_status napi_get_buffer_info(napi_env env, - napi_value value, - void** data, - size_t* length); - -NAPI_INNER_EXTERN napi_status napi_get_value_bigint_int64(napi_env env, - napi_value value, - int64_t* result, - bool* lossless); - -NAPI_EXTERN napi_status napi_get_value_bigint_uint64(napi_env env, napi_value value, uint64_t* result, bool* lossless); - -NAPI_INNER_EXTERN napi_status napi_get_value_bigint_words(napi_env env, - napi_value value, - int* sign_bit, - size_t* word_count, - uint64_t* words); - -NAPI_INNER_EXTERN napi_status napi_get_value_string_utf16(napi_env env, - napi_value value, - char16_t* buf, - size_t bufsize, - size_t* result); - -NAPI_INNER_EXTERN napi_status napi_is_buffer(napi_env env, - napi_value value, - bool* result); - -NAPI_INNER_EXTERN napi_status napi_detach_arraybuffer(napi_env env, - napi_value arraybuffer); - -NAPI_INNER_EXTERN napi_status napi_is_detached_arraybuffer(napi_env env, - napi_value value, - bool* result); - -NAPI_INNER_EXTERN napi_status napi_get_all_property_names(napi_env env, - napi_value object, - napi_key_collection_mode key_mode, - napi_key_filter key_filter, - napi_key_conversion key_conversion, - napi_value* result); - -NAPI_EXTERN napi_status napi_object_freeze(napi_env env, napi_value object); - -NAPI_INNER_EXTERN napi_status napi_object_seal(napi_env env, - napi_value object); - -NAPI_INNER_EXTERN napi_status napi_type_tag_object(napi_env env, - napi_value value, - const napi_type_tag* type_tag); - -NAPI_INNER_EXTERN napi_status napi_check_object_type_tag(napi_env env, - napi_value value, - const napi_type_tag* type_tag, - bool* result); + napi_async_cleanup_hook_handle remove_handle); + +NAPI_EXTERN napi_status napi_create_string_utf16(napi_env env, + const char16_t* str, + size_t length, + napi_value* result); + +NAPI_EXTERN napi_status napi_get_value_string_utf16(napi_env env, + napi_value value, + char16_t* buf, + size_t bufsize, + size_t* result); + +NAPI_EXTERN napi_status napi_type_tag_object(napi_env env, + napi_value value, + const napi_type_tag* type_tag); + +NAPI_EXTERN napi_status napi_check_object_type_tag(napi_env env, + napi_value value, + const napi_type_tag* type_tag, + bool* result); NAPI_INNER_EXTERN napi_status napi_add_finalizer(napi_env env, - napi_value js_object, - void* native_object, - napi_finalize finalize_cb, - void* finalize_hint, - napi_ref* result); + napi_value js_object, + void* native_object, + napi_finalize finalize_cb, + void* finalize_hint, + napi_ref* result); NAPI_INNER_EXTERN napi_status napi_async_init(napi_env env, - napi_value async_resource, - napi_value async_resource_name, - napi_async_context* result); + napi_value async_resource, + napi_value async_resource_name, + napi_async_context* result); NAPI_INNER_EXTERN napi_status napi_async_destroy(napi_env env, - napi_async_context async_context); - -NAPI_INNER_EXTERN napi_status napi_make_callback(napi_env env, - napi_async_context async_context, - napi_value recv, - napi_value func, - size_t argc, - const napi_value* argv, - napi_value* result); + napi_async_context async_context); NAPI_INNER_EXTERN napi_status napi_open_callback_scope(napi_env env, - napi_value resource_object, - napi_async_context context, - napi_callback_scope* result); + napi_value resource_object, + napi_async_context context, + napi_callback_scope* result); NAPI_INNER_EXTERN napi_status napi_close_callback_scope(napi_env env, - napi_callback_scope scope); + napi_callback_scope scope); NAPI_INNER_EXTERN napi_status napi_adjust_external_memory(napi_env env, - int64_t change_in_bytes, - int64_t* adjusted_value); + int64_t change_in_bytes, + int64_t* adjusted_value); NAPI_INNER_EXTERN napi_status node_api_get_module_file_name(napi_env env, const char** result); +#ifdef __cplusplus +extern "C" { +#endif + NAPI_EXTERN napi_status napi_run_script_path(napi_env env, const char* path, napi_value* result); +NAPI_EXTERN napi_status napi_queue_async_work_with_qos(napi_env env, napi_async_work work, napi_qos_t qos); +#ifdef __cplusplus +} +#endif #endif /* FOUNDATION_ACE_NAPI_INTERFACES_KITS_NAPI_NATIVE_API_H */ diff --git a/mock/innerkits/napi/ace_napi/include/napi/native_common.h b/mock/innerkits/napi/ace_napi/include/napi/native_common.h index 67330178..caf69f48 100644 --- a/mock/innerkits/napi/ace_napi/include/napi/native_common.h +++ b/mock/innerkits/napi/ace_napi/include/napi/native_common.h @@ -1,17 +1,17 @@ /* - * 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. - */ +* 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 FOUNDATION_ACE_NAPI_INTERFACES_KITS_NAPI_NATIVE_COMMON_H #define FOUNDATION_ACE_NAPI_INTERFACES_KITS_NAPI_NATIVE_COMMON_H @@ -19,80 +19,85 @@ #define NAPI_RETVAL_NOTHING #define GET_AND_THROW_LAST_ERROR(env) \ - do { \ - const napi_extended_error_info* errorInfo = nullptr; \ - napi_get_last_error_info((env), &errorInfo); \ - bool isPending = false; \ - napi_is_exception_pending((env), &isPending); \ - if (!isPending && errorInfo != nullptr) { \ - const char* errorMessage = \ - errorInfo->error_message != nullptr ? errorInfo->error_message : "empty error message"; \ - napi_throw_error((env), nullptr, errorMessage); \ - } \ - } while (0) + do { \ + const napi_extended_error_info* errorInfo = nullptr; \ + napi_get_last_error_info((env), &errorInfo); \ + bool isPending = false; \ + napi_is_exception_pending((env), &isPending); \ + if (!isPending && errorInfo != nullptr) { \ + const char* errorMessage = \ + errorInfo->error_message != nullptr ? errorInfo->error_message : "empty error message"; \ + napi_throw_error((env), nullptr, errorMessage); \ + } \ + } while (0) #define NAPI_ASSERT_BASE(env, assertion, message, retVal) \ - do { \ - if (!(assertion)) { \ - napi_throw_error((env), nullptr, "assertion (" #assertion ") failed: " message); \ - return retVal; \ - } \ - } while (0) + do { \ + if (!(assertion)) { \ + napi_throw_error((env), nullptr, "assertion (" #assertion ") failed: " message); \ + return retVal; \ + } \ + } while (0) #define NAPI_ASSERT(env, assertion, message) NAPI_ASSERT_BASE(env, assertion, message, nullptr) #define NAPI_ASSERT_RETURN_VOID(env, assertion, message) NAPI_ASSERT_BASE(env, assertion, message, NAPI_RETVAL_NOTHING) #define NAPI_CALL_BASE(env, theCall, retVal) \ - do { \ - if ((theCall) != napi_ok) { \ - GET_AND_THROW_LAST_ERROR((env)); \ - return retVal; \ - } \ - } while (0) + do { \ + if ((theCall) != napi_ok) { \ + GET_AND_THROW_LAST_ERROR((env)); \ + return retVal; \ + } \ + } while (0) #define NAPI_CALL(env, theCall) NAPI_CALL_BASE(env, theCall, nullptr) #define NAPI_CALL_RETURN_VOID(env, theCall) NAPI_CALL_BASE(env, theCall, NAPI_RETVAL_NOTHING) #define DECLARE_NAPI_PROPERTY(name, val) \ - { \ - (name), nullptr, nullptr, nullptr, nullptr, val, napi_default, nullptr \ - } + { \ + (name), nullptr, nullptr, nullptr, nullptr, val, napi_default, nullptr \ + } #define DECLARE_NAPI_STATIC_PROPERTY(name, val) \ - { \ - (name), nullptr, nullptr, nullptr, nullptr, val, napi_static, nullptr \ - } + { \ + (name), nullptr, nullptr, nullptr, nullptr, val, napi_static, nullptr \ + } #define DECLARE_NAPI_FUNCTION(name, func) \ - { \ - (name), nullptr, (func), nullptr, nullptr, nullptr, napi_default, nullptr \ - } + { \ + (name), nullptr, (func), nullptr, nullptr, nullptr, napi_default, nullptr \ + } + +#define DECLARE_NAPI_DEFAULT_PROPERTY_FUNCTION(name, func) \ + { \ + (name), nullptr, (func), nullptr, nullptr, nullptr, napi_default_jsproperty, nullptr \ + } #define DECLARE_NAPI_FUNCTION_WITH_DATA(name, func, data) \ - { \ - (name), nullptr, (func), nullptr, nullptr, nullptr, napi_default, data \ - } + { \ + (name), nullptr, (func), nullptr, nullptr, nullptr, napi_default, data \ + } #define DECLARE_NAPI_STATIC_FUNCTION(name, func) \ - { \ - (name), nullptr, (func), nullptr, nullptr, nullptr, napi_static, nullptr \ - } + { \ + (name), nullptr, (func), nullptr, nullptr, nullptr, napi_static, nullptr \ + } #define DECLARE_NAPI_GETTER(name, getter) \ - { \ - (name), nullptr, nullptr, (getter), nullptr, nullptr, napi_default, nullptr \ - } + { \ + (name), nullptr, nullptr, (getter), nullptr, nullptr, napi_default, nullptr \ + } #define DECLARE_NAPI_SETTER(name, setter) \ - { \ - (name), nullptr, nullptr, nullptr, (setter), nullptr, napi_default, nullptr \ - } + { \ + (name), nullptr, nullptr, nullptr, (setter), nullptr, napi_default, nullptr \ + } #define DECLARE_NAPI_GETTER_SETTER(name, getter, setter) \ - { \ - (name), nullptr, nullptr, (getter), (setter), nullptr, napi_default, nullptr \ - } + { \ + (name), nullptr, nullptr, (getter), (setter), nullptr, napi_default, nullptr \ + } -#endif /* FOUNDATION_ACE_NAPI_INTERFACES_KITS_NAPI_NATIVE_COMMON_H */ +#endif /* FOUNDATION_ACE_NAPI_INTERFACES_KITS_NAPI_NATIVE_COMMON_H */ \ No newline at end of file diff --git a/mock/innerkits/napi/ace_napi/include/napi/native_node_api.h b/mock/innerkits/napi/ace_napi/include/napi/native_node_api.h index 286fbdbc..95d8fa10 100644 --- a/mock/innerkits/napi/ace_napi/include/napi/native_node_api.h +++ b/mock/innerkits/napi/ace_napi/include/napi/native_node_api.h @@ -1,37 +1,64 @@ /* - * Copyright (c) 2021-2022 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. - */ +* Copyright (c) 2021-2022 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 FOUNDATION_ACE_NAPI_INTERFACES_KITS_NAPI_NATIVE_NODE_API_H #define FOUNDATION_ACE_NAPI_INTERFACES_KITS_NAPI_NATIVE_NODE_API_H #include +#include #include -#include +#include "napi/src/js_native_api.h" +#include "napi/src/node_api.h" -#include "napi/native_common.h" +#include "native_common.h" +typedef void (*NAPIGetJSCode)(const char** buf, int* bufLen); +typedef struct napi_module_with_js { + int nm_version = 0; + unsigned int nm_flags = 0; + const char* nm_filename = nullptr; + napi_addon_register_func nm_register_func = nullptr; + const char* nm_modname = nullptr; + void* nm_priv = nullptr; + NAPIGetJSCode nm_get_abc_code = nullptr; + NAPIGetJSCode nm_get_js_code = nullptr; +} napi_module_with_js; + +NAPI_EXTERN void napi_module_with_js_register(napi_module_with_js* mod); NAPI_EXTERN napi_status napi_is_callable(napi_env env, napi_value value, bool* result); NAPI_EXTERN napi_status napi_create_runtime(napi_env env, napi_env* result_env); NAPI_EXTERN napi_status napi_serialize(napi_env env, napi_value object, napi_value transfer_list, napi_value* result); NAPI_EXTERN napi_status napi_deserialize(napi_env env, napi_value recorder, napi_value* object); NAPI_EXTERN napi_status napi_delete_serialization_data(napi_env env, napi_value value); -NAPI_EXTERN napi_status napi_get_exception_info_for_worker(napi_env env, napi_value obj); NAPI_EXTERN napi_status napi_run_buffer_script(napi_env env, std::vector& buffer, napi_value* result); NAPI_EXTERN napi_status napi_run_actor(napi_env env, std::vector& buffer, - const char* descriptor, napi_value* result); + const char* descriptor, napi_value* result); +NAPI_EXTERN napi_status napi_wrap_with_size(napi_env env, + napi_value js_object, + void* native_object, + napi_finalize finalize_cb, + void* finalize_hint, + napi_ref* result, + size_t native_binding_size); +NAPI_EXTERN napi_status napi_create_external_with_size(napi_env env, + void* data, + napi_finalize finalize_cb, + void* finalize_hint, + napi_value* result, + size_t native_binding_size); NAPI_EXTERN napi_status napi_set_promise_rejection_callback(napi_env env, napi_ref ref, napi_ref checkRef); NAPI_EXTERN napi_status napi_is_arguments_object(napi_env env, napi_value value, bool* result); @@ -55,4 +82,13 @@ NAPI_EXTERN napi_status napi_is_symbol_object(napi_env env, napi_value value, bo NAPI_EXTERN napi_status napi_is_weak_map(napi_env env, napi_value value, bool* result); NAPI_EXTERN napi_status napi_is_weak_set(napi_env env, napi_value value, bool* result); +NAPI_EXTERN napi_status napi_is_big_int64_array(napi_env env, napi_value value, bool* result); +NAPI_EXTERN napi_status napi_is_big_uint64_array(napi_env env, napi_value value, bool* result); +NAPI_EXTERN napi_status napi_is_shared_array_buffer(napi_env env, napi_value value, bool* result); +NAPI_EXTERN napi_status napi_get_stack_trace(napi_env env, std::string& stack); +NAPI_EXTERN napi_status napi_get_own_property_descriptor(napi_env env, + napi_value object, + const char* utf8name, + napi_value* result); +NAPI_EXTERN napi_status napi_object_get_keys(napi_env env, napi_value data, napi_value* result); #endif /* FOUNDATION_ACE_NAPI_INTERFACES_KITS_NAPI_NATIVE_NODE_API_H */ diff --git a/mock/innerkits/napi/native_engine/native_api_internal.h b/mock/innerkits/napi/native_engine/native_api_internal.h index 895a934b..ae7269ea 100644 --- a/mock/innerkits/napi/native_engine/native_api_internal.h +++ b/mock/innerkits/napi/native_engine/native_api_internal.h @@ -18,7 +18,7 @@ #include "native_engine.h" -#include "napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" static inline napi_status napi_clear_last_error(napi_env env) { diff --git a/mock/innerkits/napi/native_node_api.h b/mock/innerkits/napi/native_node_api.h index 286fbdbc..231b81c8 100644 --- a/mock/innerkits/napi/native_node_api.h +++ b/mock/innerkits/napi/native_node_api.h @@ -21,7 +21,7 @@ #include -#include "napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" NAPI_EXTERN napi_status napi_is_callable(napi_env env, napi_value value, bool* result); NAPI_EXTERN napi_status napi_create_runtime(napi_env env, napi_env* result_env); diff --git a/mock/innerkits/resmgr_standard/resmgr_napi_core/include/resource_manager_addon.h b/mock/innerkits/resmgr_standard/resmgr_napi_core/include/resource_manager_addon.h index 5b926447..2ef95c01 100644 --- a/mock/innerkits/resmgr_standard/resmgr_napi_core/include/resource_manager_addon.h +++ b/mock/innerkits/resmgr_standard/resmgr_napi_core/include/resource_manager_addon.h @@ -19,8 +19,8 @@ #include #include -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "resource_manager.h" namespace OHOS { diff --git a/mock/innerkits/resource_management/resmgr_napi_core/include/resource_manager_addon.h b/mock/innerkits/resource_management/resmgr_napi_core/include/resource_manager_addon.h index 377fe1e0..b6f6e831 100644 --- a/mock/innerkits/resource_management/resmgr_napi_core/include/resource_manager_addon.h +++ b/mock/innerkits/resource_management/resmgr_napi_core/include/resource_manager_addon.h @@ -20,8 +20,8 @@ #include #include "foundation/ability/ability_runtime/interfaces/kits/native/appkit/ability_runtime/context/context.h" -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "resource_manager.h" namespace OHOS { diff --git a/mock/innerkits/user_auth_framework/userauth/include/auth_build.h b/mock/innerkits/user_auth_framework/userauth/include/auth_build.h index 86c1f2b0..0ebb54ae 100644 --- a/mock/innerkits/user_auth_framework/userauth/include/auth_build.h +++ b/mock/innerkits/user_auth_framework/userauth/include/auth_build.h @@ -16,8 +16,8 @@ #ifndef FACERECOGNITION_AUTH_BUILD_H #define FACERECOGNITION_AUTH_BUILD_H -#include "napi/native_api.h" -#include "napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" #include "nocopyable.h" #include "auth_common.h" #include "result_convert.h" diff --git a/mock/innerkits/user_auth_framework/userauth/include/auth_common.h b/mock/innerkits/user_auth_framework/userauth/include/auth_common.h index bf15589d..6ed91351 100644 --- a/mock/innerkits/user_auth_framework/userauth/include/auth_common.h +++ b/mock/innerkits/user_auth_framework/userauth/include/auth_common.h @@ -18,8 +18,8 @@ #include #include -#include "napi/native_api.h" -#include "napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" #include "userauth_info.h" namespace OHOS { diff --git a/mock/innerkits/user_auth_framework/userauth/include/authapi_callback.h b/mock/innerkits/user_auth_framework/userauth/include/authapi_callback.h index 91c3f9a6..4f09fae7 100644 --- a/mock/innerkits/user_auth_framework/userauth/include/authapi_callback.h +++ b/mock/innerkits/user_auth_framework/userauth/include/authapi_callback.h @@ -16,8 +16,8 @@ #ifndef AUTHAPI_CALLBACK_H #define AUTHAPI_CALLBACK_H -#include "napi/native_api.h" -#include "napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" #include "userauth_callback.h" #include "userauth_info.h" #include "auth_common.h" diff --git a/mock/innerkits/user_auth_framework/userauth/include/result_convert.h b/mock/innerkits/user_auth_framework/userauth/include/result_convert.h index ce56b795..fcbd553e 100644 --- a/mock/innerkits/user_auth_framework/userauth/include/result_convert.h +++ b/mock/innerkits/user_auth_framework/userauth/include/result_convert.h @@ -18,8 +18,8 @@ #include #include -#include "napi/native_api.h" -#include "napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" #include "nocopyable.h" #include "userauth_info.h" #include "auth_common.h" diff --git a/mock/innerkits/user_auth_framework/userauth/include/user_auth_impl.h b/mock/innerkits/user_auth_framework/userauth/include/user_auth_impl.h index 59deec5c..73c662e0 100644 --- a/mock/innerkits/user_auth_framework/userauth/include/user_auth_impl.h +++ b/mock/innerkits/user_auth_framework/userauth/include/user_auth_impl.h @@ -16,7 +16,7 @@ #ifndef FACERECOGNITION_USER_AUTH_H #define FACERECOGNITION_USER_AUTH_H -#include "napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" #include "auth_build.h" #include "auth_common.h" diff --git a/mock/innerkits/user_auth_framework/userauth_napi/include/auth_build.h b/mock/innerkits/user_auth_framework/userauth_napi/include/auth_build.h index 86c1f2b0..0ebb54ae 100644 --- a/mock/innerkits/user_auth_framework/userauth_napi/include/auth_build.h +++ b/mock/innerkits/user_auth_framework/userauth_napi/include/auth_build.h @@ -16,8 +16,8 @@ #ifndef FACERECOGNITION_AUTH_BUILD_H #define FACERECOGNITION_AUTH_BUILD_H -#include "napi/native_api.h" -#include "napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" #include "nocopyable.h" #include "auth_common.h" #include "result_convert.h" diff --git a/mock/innerkits/user_auth_framework/userauth_napi/include/auth_common.h b/mock/innerkits/user_auth_framework/userauth_napi/include/auth_common.h index bf15589d..6ed91351 100644 --- a/mock/innerkits/user_auth_framework/userauth_napi/include/auth_common.h +++ b/mock/innerkits/user_auth_framework/userauth_napi/include/auth_common.h @@ -18,8 +18,8 @@ #include #include -#include "napi/native_api.h" -#include "napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" #include "userauth_info.h" namespace OHOS { diff --git a/mock/innerkits/user_auth_framework/userauth_napi/include/authapi_callback.h b/mock/innerkits/user_auth_framework/userauth_napi/include/authapi_callback.h index 91c3f9a6..4f09fae7 100644 --- a/mock/innerkits/user_auth_framework/userauth_napi/include/authapi_callback.h +++ b/mock/innerkits/user_auth_framework/userauth_napi/include/authapi_callback.h @@ -16,8 +16,8 @@ #ifndef AUTHAPI_CALLBACK_H #define AUTHAPI_CALLBACK_H -#include "napi/native_api.h" -#include "napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" #include "userauth_callback.h" #include "userauth_info.h" #include "auth_common.h" diff --git a/mock/innerkits/user_auth_framework/userauth_napi/include/result_convert.h b/mock/innerkits/user_auth_framework/userauth_napi/include/result_convert.h index ce56b795..fcbd553e 100644 --- a/mock/innerkits/user_auth_framework/userauth_napi/include/result_convert.h +++ b/mock/innerkits/user_auth_framework/userauth_napi/include/result_convert.h @@ -18,8 +18,8 @@ #include #include -#include "napi/native_api.h" -#include "napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" #include "nocopyable.h" #include "userauth_info.h" #include "auth_common.h" diff --git a/mock/innerkits/user_auth_framework/userauth_napi/include/user_auth_helper.h b/mock/innerkits/user_auth_framework/userauth_napi/include/user_auth_helper.h index 987e6b18..a829cc5b 100644 --- a/mock/innerkits/user_auth_framework/userauth_napi/include/user_auth_helper.h +++ b/mock/innerkits/user_auth_framework/userauth_napi/include/user_auth_helper.h @@ -16,8 +16,8 @@ #ifndef FACERECOGNITION_USER_AUTH_HELPER_H #define FACERECOGNITION_USER_AUTH_HELPER_H -#include "napi/native_api.h" -#include "napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" namespace OHOS { namespace UserIAM { diff --git a/mock/innerkits/user_auth_framework/userauth_napi/include/user_auth_impl.h b/mock/innerkits/user_auth_framework/userauth_napi/include/user_auth_impl.h index 59deec5c..73c662e0 100644 --- a/mock/innerkits/user_auth_framework/userauth_napi/include/user_auth_impl.h +++ b/mock/innerkits/user_auth_framework/userauth_napi/include/user_auth_impl.h @@ -16,7 +16,7 @@ #ifndef FACERECOGNITION_USER_AUTH_H #define FACERECOGNITION_USER_AUTH_H -#include "napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" #include "auth_build.h" #include "auth_common.h" diff --git a/mock/napi/native_api.h b/mock/napi/native_api.h deleted file mode 100644 index d1c720cd..00000000 --- a/mock/napi/native_api.h +++ /dev/null @@ -1,31 +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 FOUNDATION_ACE_NAPI_INTERFACES_KITS_NAPI_NATIVE_API_H -#define FOUNDATION_ACE_NAPI_INTERFACES_KITS_NAPI_NATIVE_API_H - -#include "native_common.h" - -#include - -DEPRECATED napi_status napi_create_string_utf16(napi_env env, const char16_t* str, size_t length, napi_value* result); -DEPRECATED napi_status napi_get_value_string_utf16(napi_env env, - napi_value value, - char16_t* buf, - size_t bufsize, - size_t* result); -DEPRECATED napi_status napi_adjust_external_memory(napi_env env, int64_t change_in_bytes, int64_t* adjusted_value); - -#endif /* FOUNDATION_ACE_NAPI_INTERFACES_KITS_NAPI_NATIVE_API_H */ diff --git a/mock/napi/native_common.h b/mock/napi/native_common.h deleted file mode 100644 index 06d4d094..00000000 --- a/mock/napi/native_common.h +++ /dev/null @@ -1,97 +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 FOUNDATION_ACE_NAPI_INTERFACES_KITS_NAPI_NATIVE_COMMON_H -#define FOUNDATION_ACE_NAPI_INTERFACES_KITS_NAPI_NATIVE_COMMON_H - -#define DEPRECATED __attribute__((__deprecated__)) -#ifndef NAPI_VERSION -#define NAPI_VERSION 8 -#endif -#define NAPI_RETVAL_NOTHING - -#define GET_AND_THROW_LAST_ERROR(env) \ - do { \ - const napi_extended_error_info* errorInfo = nullptr; \ - napi_get_last_error_info((env), &errorInfo); \ - bool isPending = false; \ - napi_is_exception_pending((env), &isPending); \ - if (!isPending && errorInfo != nullptr) { \ - const char* errorMessage = \ - errorInfo->error_message != nullptr ? errorInfo->error_message : "empty error message"; \ - napi_throw_error((env), nullptr, errorMessage); \ - } \ - } while (0) - -#define NAPI_ASSERT_BASE(env, assertion, message, retVal) \ - do { \ - if (!(assertion)) { \ - napi_throw_error((env), nullptr, "assertion (" #assertion ") failed: " message); \ - return retVal; \ - } \ - } while (0) - -#define NAPI_ASSERT(env, assertion, message) NAPI_ASSERT_BASE(env, assertion, message, nullptr) - -#define NAPI_ASSERT_RETURN_VOID(env, assertion, message) NAPI_ASSERT_BASE(env, assertion, message, NAPI_RETVAL_NOTHING) - -#define NAPI_CALL_BASE(env, theCall, retVal) \ - do { \ - if ((theCall) != napi_ok) { \ - GET_AND_THROW_LAST_ERROR((env)); \ - return retVal; \ - } \ - } while (0) - -#define NAPI_CALL(env, theCall) NAPI_CALL_BASE(env, theCall, nullptr) - -#define NAPI_CALL_RETURN_VOID(env, theCall) NAPI_CALL_BASE(env, theCall, NAPI_RETVAL_NOTHING) - -#define DECLARE_NAPI_PROPERTY(name, val) \ - { \ - (name), nullptr, nullptr, nullptr, nullptr, val, napi_default, nullptr \ - } - -#define DECLARE_NAPI_STATIC_PROPERTY(name, val) \ - { \ - (name), nullptr, nullptr, nullptr, nullptr, val, napi_static, nullptr \ - } - -#define DECLARE_NAPI_FUNCTION(name, func) \ - { \ - (name), nullptr, (func), nullptr, nullptr, nullptr, napi_default, nullptr \ - } - -#define DECLARE_NAPI_STATIC_FUNCTION(name, func) \ - { \ - (name), nullptr, (func), nullptr, nullptr, nullptr, napi_static, nullptr \ - } - -#define DECLARE_NAPI_GETTER(name, getter) \ - { \ - (name), nullptr, nullptr, (getter), nullptr, nullptr, napi_default, nullptr \ - } - -#define DECLARE_NAPI_SETTER(name, setter) \ - { \ - (name), nullptr, nullptr, nullptr, (setter), nullptr, napi_default, nullptr \ - } - -#define DECLARE_NAPI_GETTER_SETTER(name, getter, setter) \ - { \ - (name), nullptr, nullptr, (getter), (setter), nullptr, napi_default, nullptr \ - } - -#endif /* FOUNDATION_ACE_NAPI_INTERFACES_KITS_NAPI_NATIVE_COMMON_H */ diff --git a/mock/napi/native_node_api.h b/mock/napi/native_node_api.h deleted file mode 100644 index 22aa47df..00000000 --- a/mock/napi/native_node_api.h +++ /dev/null @@ -1,50 +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 FOUNDATION_ACE_NAPI_INTERFACES_KITS_NAPI_NATIVE_NODE_API_H -#define FOUNDATION_ACE_NAPI_INTERFACES_KITS_NAPI_NATIVE_NODE_API_H - -#include "native_common.h" - -#include - -DEPRECATED napi_status napi_async_init(napi_env env, - napi_value async_resource, - napi_value async_resource_name, - napi_async_context* result); -DEPRECATED napi_status napi_async_destroy(napi_env env, napi_async_context async_context); -DEPRECATED napi_status napi_make_callback(napi_env env, - napi_async_context async_context, - napi_value recv, - napi_value func, - size_t argc, - const napi_value* argv, - napi_value* result); -DEPRECATED napi_status napi_create_buffer(napi_env env, size_t length, void** data, napi_value* result); -DEPRECATED napi_status napi_create_external_buffer(napi_env env, - size_t length, - void* data, - napi_finalize finalize_cb, - void* finalize_hint, - napi_value* result); -DEPRECATED napi_status napi_create_buffer_copy(napi_env env, - size_t length, - const void* data, - void** result_data, - napi_value* result); -DEPRECATED napi_status napi_is_buffer(napi_env env, napi_value value, bool* result); -DEPRECATED napi_status napi_get_buffer_info(napi_env env, napi_value value, void** data, size_t* length); - -#endif /* FOUNDATION_ACE_NAPI_INTERFACES_KITS_NAPI_NATIVE_NODE_API_H */ diff --git a/mock/src/mock_js_napi.cpp b/mock/src/mock_js_napi.cpp index 9b6e0a78..6c5ce146 100644 --- a/mock/src/mock_js_napi.cpp +++ b/mock/src/mock_js_napi.cpp @@ -12,9 +12,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include extern "C" { napi_status napi_get_named_property(napi_env env, napi_value object, const char *utf8name, napi_value *result) diff --git a/preferences/frameworks/js/napi/common/include/js_ability.h b/preferences/frameworks/js/napi/common/include/js_ability.h index fb114b55..938a0d94 100644 --- a/preferences/frameworks/js/napi/common/include/js_ability.h +++ b/preferences/frameworks/js/napi/common/include/js_ability.h @@ -19,9 +19,9 @@ #include #include "ability.h" -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "napi_base_context.h" namespace OHOS { diff --git a/preferences/frameworks/js/napi/common/include/js_utils.h b/preferences/frameworks/js/napi/common/include/js_utils.h index 1b15d858..c5a3e9e9 100644 --- a/preferences/frameworks/js/napi/common/include/js_utils.h +++ b/preferences/frameworks/js/napi/common/include/js_utils.h @@ -23,9 +23,9 @@ #include #include -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace PreferencesJsKit { diff --git a/preferences/frameworks/js/napi/common/include/napi_async_call.h b/preferences/frameworks/js/napi/common/include/napi_async_call.h index 577e989d..ab71f14b 100644 --- a/preferences/frameworks/js/napi/common/include/napi_async_call.h +++ b/preferences/frameworks/js/napi/common/include/napi_async_call.h @@ -20,9 +20,9 @@ #include "log_print.h" #include "js_utils.h" -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "napi_preferences_error.h" namespace OHOS { diff --git a/preferences/frameworks/js/napi/common/include/napi_preferences_observer.h b/preferences/frameworks/js/napi/common/include/napi_preferences_observer.h index fb28af3c..d1f2eb98 100644 --- a/preferences/frameworks/js/napi/common/include/napi_preferences_observer.h +++ b/preferences/frameworks/js/napi/common/include/napi_preferences_observer.h @@ -16,7 +16,7 @@ #ifndef DISTRIBUTEDDATAMGR_PREFERENCES_NAPI_PREFERENCES_OBSERVER_H #define DISTRIBUTEDDATAMGR_PREFERENCES_NAPI_PREFERENCES_OBSERVER_H -#include "napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" #include "preferences_observer.h" #include "js_observer.h" diff --git a/preferences/frameworks/js/napi/common/include/uv_queue.h b/preferences/frameworks/js/napi/common/include/uv_queue.h index 14c7fbdf..3a63b4d1 100644 --- a/preferences/frameworks/js/napi/common/include/uv_queue.h +++ b/preferences/frameworks/js/napi/common/include/uv_queue.h @@ -15,9 +15,9 @@ #ifndef OHOS_UV_QUEUE_H #define OHOS_UV_QUEUE_H #include -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "uv.h" namespace OHOS::PreferencesJsKit { diff --git a/preferences/frameworks/js/napi/common/mock/cross_platform/include/js_ability.h b/preferences/frameworks/js/napi/common/mock/cross_platform/include/js_ability.h index d6b864cd..908df88c 100644 --- a/preferences/frameworks/js/napi/common/mock/cross_platform/include/js_ability.h +++ b/preferences/frameworks/js/napi/common/mock/cross_platform/include/js_ability.h @@ -19,9 +19,9 @@ #include #include "context.h" -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "napi_base_context.h" namespace OHOS { diff --git a/preferences/frameworks/js/napi/common/mock/include/js_ability.h b/preferences/frameworks/js/napi/common/mock/include/js_ability.h index 14b37a47..eedc5e76 100644 --- a/preferences/frameworks/js/napi/common/mock/include/js_ability.h +++ b/preferences/frameworks/js/napi/common/mock/include/js_ability.h @@ -18,9 +18,9 @@ #include #include -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace PreferencesJsKit { diff --git a/preferences/frameworks/js/napi/preferences/include/napi_preferences.h b/preferences/frameworks/js/napi/preferences/include/napi_preferences.h index 326a5303..b7719c9c 100644 --- a/preferences/frameworks/js/napi/preferences/include/napi_preferences.h +++ b/preferences/frameworks/js/napi/preferences/include/napi_preferences.h @@ -22,9 +22,9 @@ #include "js_observer.h" #include "js_utils.h" -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "napi_preferences_observer.h" #include "preferences.h" #include "preferences_helper.h" diff --git a/preferences/frameworks/js/napi/preferences/include/napi_preferences_helper.h b/preferences/frameworks/js/napi/preferences/include/napi_preferences_helper.h index 15686d2b..9925e1f3 100644 --- a/preferences/frameworks/js/napi/preferences/include/napi_preferences_helper.h +++ b/preferences/frameworks/js/napi/preferences/include/napi_preferences_helper.h @@ -15,9 +15,9 @@ #ifndef PREFERENCES_JSKIT_NAPI_PREFERENCE_HELPER_H #define PREFERENCES_JSKIT_NAPI_PREFERENCE_HELPER_H -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace PreferencesJsKit { diff --git a/preferences/frameworks/js/napi/preferences/src/entry_point.cpp b/preferences/frameworks/js/napi/preferences/src/entry_point.cpp index 7d61e3c4..ad8b6601 100644 --- a/preferences/frameworks/js/napi/preferences/src/entry_point.cpp +++ b/preferences/frameworks/js/napi/preferences/src/entry_point.cpp @@ -12,8 +12,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "napi_preferences.h" #include "napi_preferences_helper.h" diff --git a/preferences/frameworks/js/napi/storage/include/napi_storage.h b/preferences/frameworks/js/napi/storage/include/napi_storage.h index ffc8c2a9..37b780a0 100644 --- a/preferences/frameworks/js/napi/storage/include/napi_storage.h +++ b/preferences/frameworks/js/napi/storage/include/napi_storage.h @@ -21,9 +21,9 @@ #include #include "js_observer.h" -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "napi_preferences_observer.h" #include "preferences.h" #include "preferences_helper.h" diff --git a/preferences/frameworks/js/napi/storage/include/napi_storage_helper.h b/preferences/frameworks/js/napi/storage/include/napi_storage_helper.h index 34957ee0..2a60c69d 100644 --- a/preferences/frameworks/js/napi/storage/include/napi_storage_helper.h +++ b/preferences/frameworks/js/napi/storage/include/napi_storage_helper.h @@ -15,9 +15,9 @@ #ifndef PREFERENCES_JSKIT_NAPI_STORAGE_HELPER_H #define PREFERENCES_JSKIT_NAPI_STORAGE_HELPER_H -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace StorageJsKit { diff --git a/preferences/frameworks/js/napi/storage/src/entry_point_storage.cpp b/preferences/frameworks/js/napi/storage/src/entry_point_storage.cpp index aa784427..6d99039a 100644 --- a/preferences/frameworks/js/napi/storage/src/entry_point_storage.cpp +++ b/preferences/frameworks/js/napi/storage/src/entry_point_storage.cpp @@ -12,8 +12,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "napi_storage.h" #include "napi_storage_helper.h" diff --git a/preferences/frameworks/js/napi/system_storage/include/napi_system_storage.h b/preferences/frameworks/js/napi/system_storage/include/napi_system_storage.h index 6543d0d9..e6883f79 100644 --- a/preferences/frameworks/js/napi/system_storage/include/napi_system_storage.h +++ b/preferences/frameworks/js/napi/system_storage/include/napi_system_storage.h @@ -15,9 +15,9 @@ #ifndef PREFERENCES_JSKIT_NAPI_SYSTEM_STORAGE_H #define PREFERENCES_JSKIT_NAPI_SYSTEM_STORAGE_H -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace PreferencesJsKit { diff --git a/preferences/frameworks/js/napi/system_storage/src/entry_point_system_storage.cpp b/preferences/frameworks/js/napi/system_storage/src/entry_point_system_storage.cpp index 79263993..af91bce2 100644 --- a/preferences/frameworks/js/napi/system_storage/src/entry_point_system_storage.cpp +++ b/preferences/frameworks/js/napi/system_storage/src/entry_point_system_storage.cpp @@ -12,8 +12,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "napi_system_storage.h" EXTERN_C_START diff --git a/relational_store/CMakeLists.txt b/relational_store/CMakeLists.txt index 0f85ca91..4cf500e7 100644 --- a/relational_store/CMakeLists.txt +++ b/relational_store/CMakeLists.txt @@ -31,8 +31,6 @@ aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/frameworks/native/rdb_device_ma include_directories(${CMAKE_CURRENT_SOURCE_DIR}/frameworks/common/include) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/frameworks/js/napi/common/include) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/frameworks/js/napi/dataability/include) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/frameworks/js/napi/relationalstore/include) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/frameworks/js/napi/rdb/include) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/frameworks/native/dataability/src) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/frameworks/native/rdb/include) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/frameworks/native/rdb_device_manager_adapter/include) @@ -59,12 +57,15 @@ target_include_directories(relational_store PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/i add_library(js_relational_store SHARED ${js_common_src} ${js_relational_store_src}) target_link_libraries(js_relational_store ${links} relational_store) +target_include_directories(js_relational_store PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/frameworks/js/napi/relationalstore/include) add_library(js_rdb_store SHARED ${js_common_src} ${js_rdb_store_src}) target_link_libraries(js_rdb_store ${links} relational_store) +target_include_directories(js_rdb_store PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/frameworks/js/napi/rdb/include) add_library(js_dataability SHARED ${js_common_src} ${js_dataability_src}) -target_link_libraries(js_dataability mock relational_store rdb_data_ability_adapter js_rdb_store) +target_link_libraries(js_dataability mock relational_store js_rdb_store) +target_include_directories(js_dataability PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/frameworks/js/napi/rdb/include) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/frameworks/native/cloud_data/include) diff --git a/relational_store/frameworks/js/napi/cloud_data/include/js_const_properties.h b/relational_store/frameworks/js/napi/cloud_data/include/js_const_properties.h index 6245a158..9a100577 100644 --- a/relational_store/frameworks/js/napi/cloud_data/include/js_const_properties.h +++ b/relational_store/frameworks/js/napi/cloud_data/include/js_const_properties.h @@ -15,9 +15,9 @@ #ifndef LDBPROJ_JS_CONST_PROPERTIES_H #define LDBPROJ_JS_CONST_PROPERTIES_H -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS::CloudData { napi_status InitConstProperties(napi_env env, napi_value exports); diff --git a/relational_store/frameworks/js/napi/cloud_data/include/js_error_utils.h b/relational_store/frameworks/js/napi/cloud_data/include/js_error_utils.h index 93d9d5d0..b5395ad5 100644 --- a/relational_store/frameworks/js/napi/cloud_data/include/js_error_utils.h +++ b/relational_store/frameworks/js/napi/cloud_data/include/js_error_utils.h @@ -21,7 +21,7 @@ #include "cloud_service.h" #include "js_native_api.h" -#include "napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" namespace OHOS { namespace CloudData { diff --git a/relational_store/frameworks/js/napi/cloud_data/include/napi_queue.h b/relational_store/frameworks/js/napi/cloud_data/include/napi_queue.h index b1f8b045..ed7c7e7f 100644 --- a/relational_store/frameworks/js/napi/cloud_data/include/napi_queue.h +++ b/relational_store/frameworks/js/napi/cloud_data/include/napi_queue.h @@ -21,9 +21,9 @@ #include #include "logger.h" -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS::CloudData { using namespace OHOS::Rdb; diff --git a/relational_store/frameworks/js/napi/common/include/js_ability.h b/relational_store/frameworks/js/napi/common/include/js_ability.h index 91ca1e2b..a1d858f3 100644 --- a/relational_store/frameworks/js/napi/common/include/js_ability.h +++ b/relational_store/frameworks/js/napi/common/include/js_ability.h @@ -19,9 +19,9 @@ #include #include "ability.h" -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "napi_base_context.h" namespace OHOS { diff --git a/relational_store/frameworks/js/napi/common/include/js_utils.h b/relational_store/frameworks/js/napi/common/include/js_utils.h index e39af577..aa039420 100644 --- a/relational_store/frameworks/js/napi/common/include/js_utils.h +++ b/relational_store/frameworks/js/napi/common/include/js_utils.h @@ -24,9 +24,9 @@ #include #include #include -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace AppDataMgrJsKit { diff --git a/relational_store/frameworks/js/napi/common/include/js_uv_queue.h b/relational_store/frameworks/js/napi/common/include/js_uv_queue.h index f9fb07c8..49c6af80 100644 --- a/relational_store/frameworks/js/napi/common/include/js_uv_queue.h +++ b/relational_store/frameworks/js/napi/common/include/js_uv_queue.h @@ -15,9 +15,9 @@ #ifndef DISTRIBUTEDDATAMGR_APPDATAMGR_UV_QUEUE_H #define DISTRIBUTEDDATAMGR_APPDATAMGR_UV_QUEUE_H #include -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "uv.h" namespace OHOS::AppDataMgrJsKit { diff --git a/relational_store/frameworks/js/napi/common/mock/include/js_ability.h b/relational_store/frameworks/js/napi/common/mock/include/js_ability.h index 490fe2c3..f722295d 100644 --- a/relational_store/frameworks/js/napi/common/mock/include/js_ability.h +++ b/relational_store/frameworks/js/napi/common/mock/include/js_ability.h @@ -21,9 +21,9 @@ #if defined(ANDROID_PLATFORM) || defined(IOS_PLATFORM) #include "context.h" #endif -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace AppDataMgrJsKit { diff --git a/relational_store/frameworks/js/napi/common/mock/include/napi_async_proxy.h b/relational_store/frameworks/js/napi/common/mock/include/napi_async_proxy.h index e3ac9bc5..50a12940 100644 --- a/relational_store/frameworks/js/napi/common/mock/include/napi_async_proxy.h +++ b/relational_store/frameworks/js/napi/common/mock/include/napi_async_proxy.h @@ -16,9 +16,9 @@ #define PREFERENCES_JSKIT_NAPI_ASYNC_PROXY_H #include -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace AppDataMgrJsKit { diff --git a/relational_store/frameworks/js/napi/dataability/include/napi_async_proxy.h b/relational_store/frameworks/js/napi/dataability/include/napi_async_proxy.h index 9faad503..844d9950 100644 --- a/relational_store/frameworks/js/napi/dataability/include/napi_async_proxy.h +++ b/relational_store/frameworks/js/napi/dataability/include/napi_async_proxy.h @@ -16,9 +16,9 @@ #define PREFERENCES_JSKIT_NAPI_ASYNC_PROXY_H #include -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "securec.h" namespace OHOS { diff --git a/relational_store/frameworks/js/napi/dataability/include/napi_data_ability_predicates.h b/relational_store/frameworks/js/napi/dataability/include/napi_data_ability_predicates.h index 983ded14..b826edbd 100644 --- a/relational_store/frameworks/js/napi/dataability/include/napi_data_ability_predicates.h +++ b/relational_store/frameworks/js/napi/dataability/include/napi_data_ability_predicates.h @@ -18,9 +18,9 @@ #include #include "data_ability_predicates.h" -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace DataAbilityJsKit { diff --git a/relational_store/frameworks/js/napi/dataability/include/napi_predicates_utils.h b/relational_store/frameworks/js/napi/dataability/include/napi_predicates_utils.h index 4c4ee48b..7c1e04ad 100644 --- a/relational_store/frameworks/js/napi/dataability/include/napi_predicates_utils.h +++ b/relational_store/frameworks/js/napi/dataability/include/napi_predicates_utils.h @@ -16,9 +16,9 @@ #ifndef APPDATAMGR_NAPI_PREDICATES_UTILS_H #define APPDATAMGR_NAPI_PREDICATES_UTILS_H -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace DataAbilityJsKit { diff --git a/relational_store/frameworks/js/napi/dataability/src/entry_point.cpp b/relational_store/frameworks/js/napi/dataability/src/entry_point.cpp index 4401f491..770181fa 100644 --- a/relational_store/frameworks/js/napi/dataability/src/entry_point.cpp +++ b/relational_store/frameworks/js/napi/dataability/src/entry_point.cpp @@ -13,8 +13,8 @@ * limitations under the License. */ -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "napi_data_ability_predicates.h" #include "napi_predicates_utils.h" diff --git a/relational_store/frameworks/js/napi/rdb/include/napi_async_call.h b/relational_store/frameworks/js/napi/rdb/include/napi_async_call.h index 8ca32471..8314db2f 100644 --- a/relational_store/frameworks/js/napi/rdb/include/napi_async_call.h +++ b/relational_store/frameworks/js/napi/rdb/include/napi_async_call.h @@ -20,9 +20,9 @@ #include "js_utils.h" #include "logger.h" -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "napi_rdb_error.h" namespace OHOS { diff --git a/relational_store/frameworks/js/napi/rdb/include/napi_rdb_const_properties.h b/relational_store/frameworks/js/napi/rdb/include/napi_rdb_const_properties.h index bfdad8a9..3e4599a5 100644 --- a/relational_store/frameworks/js/napi/rdb/include/napi_rdb_const_properties.h +++ b/relational_store/frameworks/js/napi/rdb/include/napi_rdb_const_properties.h @@ -16,9 +16,9 @@ #ifndef NAPI_RDB_CONST_PROPERTIES_H #define NAPI_RDB_CONST_PROPERTIES_H -#include "napi/native_common.h" -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS::RdbJsKit { napi_status InitConstProperties(napi_env env, napi_value exports); diff --git a/relational_store/frameworks/js/napi/rdb/include/napi_rdb_error.h b/relational_store/frameworks/js/napi/rdb/include/napi_rdb_error.h index 4b81bc0a..e9ff9aed 100644 --- a/relational_store/frameworks/js/napi/rdb/include/napi_rdb_error.h +++ b/relational_store/frameworks/js/napi/rdb/include/napi_rdb_error.h @@ -15,6 +15,7 @@ #ifndef RDB_JS_NAPI_ERROR_H #define RDB_JS_NAPI_ERROR_H +#include #include "logger.h" namespace OHOS { diff --git a/relational_store/frameworks/js/napi/rdb/include/napi_rdb_predicates.h b/relational_store/frameworks/js/napi/rdb/include/napi_rdb_predicates.h index 81ba767f..95cb30b3 100644 --- a/relational_store/frameworks/js/napi/rdb/include/napi_rdb_predicates.h +++ b/relational_store/frameworks/js/napi/rdb/include/napi_rdb_predicates.h @@ -18,9 +18,9 @@ #include -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "napi_rdb_error.h" #include "rdb_predicates.h" diff --git a/relational_store/frameworks/js/napi/rdb/include/napi_rdb_store.h b/relational_store/frameworks/js/napi/rdb/include/napi_rdb_store.h index 7cfcc6fb..a406083d 100644 --- a/relational_store/frameworks/js/napi/rdb/include/napi_rdb_store.h +++ b/relational_store/frameworks/js/napi/rdb/include/napi_rdb_store.h @@ -19,9 +19,9 @@ #include #include -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "napi_rdb_error.h" #include "napi_rdb_store_observer.h" #include "rdb_helper.h" diff --git a/relational_store/frameworks/js/napi/rdb/include/napi_rdb_store_helper.h b/relational_store/frameworks/js/napi/rdb/include/napi_rdb_store_helper.h index cab34be9..9d735d42 100644 --- a/relational_store/frameworks/js/napi/rdb/include/napi_rdb_store_helper.h +++ b/relational_store/frameworks/js/napi/rdb/include/napi_rdb_store_helper.h @@ -20,9 +20,9 @@ #include #include -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace RdbJsKit { diff --git a/relational_store/frameworks/js/napi/rdb/include/napi_result_set.h b/relational_store/frameworks/js/napi/rdb/include/napi_result_set.h index 22f532aa..8c7340e6 100644 --- a/relational_store/frameworks/js/napi/rdb/include/napi_result_set.h +++ b/relational_store/frameworks/js/napi/rdb/include/napi_result_set.h @@ -19,9 +19,9 @@ #include #include "abs_shared_result_set.h" -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "napi_rdb_error.h" #include "result_set_bridge.h" diff --git a/relational_store/frameworks/js/napi/rdb/include/napi_uv_queue.h b/relational_store/frameworks/js/napi/rdb/include/napi_uv_queue.h index b59c1cb2..61464980 100644 --- a/relational_store/frameworks/js/napi/rdb/include/napi_uv_queue.h +++ b/relational_store/frameworks/js/napi/rdb/include/napi_uv_queue.h @@ -18,9 +18,9 @@ #include -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS::RdbJsKit { class NapiUvQueue { diff --git a/relational_store/frameworks/js/napi/rdb/include/napi_values_bucket.h b/relational_store/frameworks/js/napi/rdb/include/napi_values_bucket.h index a67d08b2..71d0e173 100644 --- a/relational_store/frameworks/js/napi/rdb/include/napi_values_bucket.h +++ b/relational_store/frameworks/js/napi/rdb/include/napi_values_bucket.h @@ -16,9 +16,9 @@ #ifndef APPDATAMGR_NAPI_VALUES_BUCKET_H #define APPDATAMGR_NAPI_VALUES_BUCKET_H -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "values_bucket.h" EXTERN_C_START diff --git a/relational_store/frameworks/js/napi/rdb/mock/include/napi_rdb_predicates.h b/relational_store/frameworks/js/napi/rdb/mock/include/napi_rdb_predicates.h index c452312a..708d1a3c 100644 --- a/relational_store/frameworks/js/napi/rdb/mock/include/napi_rdb_predicates.h +++ b/relational_store/frameworks/js/napi/rdb/mock/include/napi_rdb_predicates.h @@ -18,9 +18,9 @@ #include -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "napi_rdb_error.h" #include "rdb_predicates.h" diff --git a/relational_store/frameworks/js/napi/rdb/mock/include/napi_rdb_store.h b/relational_store/frameworks/js/napi/rdb/mock/include/napi_rdb_store.h index f0f862bb..e2170748 100644 --- a/relational_store/frameworks/js/napi/rdb/mock/include/napi_rdb_store.h +++ b/relational_store/frameworks/js/napi/rdb/mock/include/napi_rdb_store.h @@ -19,9 +19,9 @@ #include #include -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "napi_rdb_error.h" #include "rdb_helper.h" diff --git a/relational_store/frameworks/js/napi/rdb/mock/include/napi_result_set.h b/relational_store/frameworks/js/napi/rdb/mock/include/napi_result_set.h index 3be1867e..c3fa6083 100644 --- a/relational_store/frameworks/js/napi/rdb/mock/include/napi_result_set.h +++ b/relational_store/frameworks/js/napi/rdb/mock/include/napi_result_set.h @@ -18,9 +18,9 @@ #include -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "napi_rdb_error.h" #include "result_set.h" diff --git a/relational_store/frameworks/js/napi/relationalstore/include/napi_async_call.h b/relational_store/frameworks/js/napi/relationalstore/include/napi_async_call.h index 16e01901..cc08320e 100644 --- a/relational_store/frameworks/js/napi/relationalstore/include/napi_async_call.h +++ b/relational_store/frameworks/js/napi/relationalstore/include/napi_async_call.h @@ -20,9 +20,9 @@ #include "js_utils.h" #include "logger.h" -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "napi_rdb_error.h" namespace OHOS { diff --git a/relational_store/frameworks/js/napi/relationalstore/include/napi_rdb_const_properties.h b/relational_store/frameworks/js/napi/relationalstore/include/napi_rdb_const_properties.h index 41316245..0c68d0df 100644 --- a/relational_store/frameworks/js/napi/relationalstore/include/napi_rdb_const_properties.h +++ b/relational_store/frameworks/js/napi/relationalstore/include/napi_rdb_const_properties.h @@ -16,9 +16,9 @@ #ifndef NAPI_RDB_CONST_PROPERTIES_H #define NAPI_RDB_CONST_PROPERTIES_H -#include "napi/native_common.h" -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS::RelationalStoreJsKit { napi_status InitConstProperties(napi_env env, napi_value exports); diff --git a/relational_store/frameworks/js/napi/relationalstore/include/napi_rdb_predicates.h b/relational_store/frameworks/js/napi/relationalstore/include/napi_rdb_predicates.h index 5317cbf1..9087707b 100644 --- a/relational_store/frameworks/js/napi/relationalstore/include/napi_rdb_predicates.h +++ b/relational_store/frameworks/js/napi/relationalstore/include/napi_rdb_predicates.h @@ -18,9 +18,9 @@ #include -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "napi_rdb_error.h" #include "rdb_predicates.h" diff --git a/relational_store/frameworks/js/napi/relationalstore/include/napi_rdb_store.h b/relational_store/frameworks/js/napi/relationalstore/include/napi_rdb_store.h index b9b8408d..a259ea8a 100644 --- a/relational_store/frameworks/js/napi/relationalstore/include/napi_rdb_store.h +++ b/relational_store/frameworks/js/napi/relationalstore/include/napi_rdb_store.h @@ -20,9 +20,9 @@ #include #include "js_uv_queue.h" -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "napi_rdb_error.h" #include "napi_rdb_store_observer.h" #include "rdb_helper.h" diff --git a/relational_store/frameworks/js/napi/relationalstore/include/napi_rdb_store_helper.h b/relational_store/frameworks/js/napi/relationalstore/include/napi_rdb_store_helper.h index b301c759..0a9308cb 100644 --- a/relational_store/frameworks/js/napi/relationalstore/include/napi_rdb_store_helper.h +++ b/relational_store/frameworks/js/napi/relationalstore/include/napi_rdb_store_helper.h @@ -20,9 +20,9 @@ #include #include -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace RelationalStoreJsKit { diff --git a/relational_store/frameworks/js/napi/relationalstore/include/napi_result_set.h b/relational_store/frameworks/js/napi/relationalstore/include/napi_result_set.h index d9d8b6d9..8a4225d4 100644 --- a/relational_store/frameworks/js/napi/relationalstore/include/napi_result_set.h +++ b/relational_store/frameworks/js/napi/relationalstore/include/napi_result_set.h @@ -19,9 +19,9 @@ #include #include "asset_value.h" -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "napi_rdb_error.h" #include "result_set.h" #include "result_set_bridge.h" diff --git a/relational_store/frameworks/js/napi/relationalstore/include/napi_uv_queue.h b/relational_store/frameworks/js/napi/relationalstore/include/napi_uv_queue.h index 5f3d618b..f4df00d6 100644 --- a/relational_store/frameworks/js/napi/relationalstore/include/napi_uv_queue.h +++ b/relational_store/frameworks/js/napi/relationalstore/include/napi_uv_queue.h @@ -18,9 +18,9 @@ #include -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS::RelationalStoreJsKit { class NapiUvQueue { diff --git a/relational_store/frameworks/js/napi/relationalstore/mock/include/napi_rdb_predicates.h b/relational_store/frameworks/js/napi/relationalstore/mock/include/napi_rdb_predicates.h index 92167bc6..c4867578 100644 --- a/relational_store/frameworks/js/napi/relationalstore/mock/include/napi_rdb_predicates.h +++ b/relational_store/frameworks/js/napi/relationalstore/mock/include/napi_rdb_predicates.h @@ -18,9 +18,9 @@ #include -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "napi_rdb_error.h" #include "rdb_predicates.h" diff --git a/relational_store/frameworks/js/napi/relationalstore/mock/include/napi_rdb_store.h b/relational_store/frameworks/js/napi/relationalstore/mock/include/napi_rdb_store.h index 71aae8c5..d56815be 100644 --- a/relational_store/frameworks/js/napi/relationalstore/mock/include/napi_rdb_store.h +++ b/relational_store/frameworks/js/napi/relationalstore/mock/include/napi_rdb_store.h @@ -20,9 +20,9 @@ #include #include "js_uv_queue.h" -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "napi_rdb_error.h" #include "rdb_helper.h" diff --git a/relational_store/frameworks/js/napi/relationalstore/mock/include/napi_result_set.h b/relational_store/frameworks/js/napi/relationalstore/mock/include/napi_result_set.h index 4d3ab59a..991bd447 100644 --- a/relational_store/frameworks/js/napi/relationalstore/mock/include/napi_result_set.h +++ b/relational_store/frameworks/js/napi/relationalstore/mock/include/napi_result_set.h @@ -18,9 +18,9 @@ #include -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "result_set.h" namespace OHOS { diff --git a/relational_store/frameworks/js/napi/relationalstore/src/entry_point.cpp b/relational_store/frameworks/js/napi/relationalstore/src/entry_point.cpp index bd71af43..91fcb6b6 100644 --- a/relational_store/frameworks/js/napi/relationalstore/src/entry_point.cpp +++ b/relational_store/frameworks/js/napi/relationalstore/src/entry_point.cpp @@ -17,7 +17,7 @@ #include "napi_rdb_store.h" #include "napi_rdb_store_helper.h" #include "napi_rdb_const_properties.h" -#include "napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" using namespace OHOS::RelationalStoreJsKit; diff --git a/relational_store/frameworks/native/rdb/include/rdb_service_proxy.h b/relational_store/frameworks/native/rdb/include/rdb_service_proxy.h index acc1ee9e..8dbdd573 100644 --- a/relational_store/frameworks/native/rdb/include/rdb_service_proxy.h +++ b/relational_store/frameworks/native/rdb/include/rdb_service_proxy.h @@ -32,6 +32,12 @@ public: SubscribeOption subscribeOption{ SubscribeMode::REMOTE }; }; using Observers = ConcurrentMap>; + struct SyncAgent { + Observers observers; + bool AddObserver(const std::string &storeName, const ObserverParam ¶m); + std::pair RemoveObserver( + const std::string &storeName, RdbStoreObserver *observer); + }; explicit RdbServiceProxy(const sptr& object); @@ -89,8 +95,8 @@ private: std::string RemoveSuffix(const std::string& name); std::atomic seqNum_ {}; - ConcurrentMap syncCallbacks_; + SyncAgent syncAgent_; Observers observers_; sptr notifier_; diff --git a/relational_store/frameworks/native/rdb/src/rdb_service_proxy.cpp b/relational_store/frameworks/native/rdb/src/rdb_service_proxy.cpp index 6054d533..4b290a45 100644 --- a/relational_store/frameworks/native/rdb/src/rdb_service_proxy.cpp +++ b/relational_store/frameworks/native/rdb/src/rdb_service_proxy.cpp @@ -246,20 +246,11 @@ int32_t RdbServiceProxy::Subscribe(const RdbSyncerParam ¶m, const SubscribeO LOG_ERROR("subscribe mode invalid"); return RDB_ERROR; } - if (DoSubscribe(param, option) != RDB_OK) { - return RDB_ERROR; - } auto name = RemoveSuffix(param.storeName_); - observers_.Compute(name, [observer, ¶m, &option](const auto &key, std::list &value) { - for (const auto &element : value) { - if (element.observer == observer) { - LOG_ERROR("duplicate observer"); - return true; - } - } - value.push_back({ observer, param.bundleName_, option }); - return true; - }); + auto isCreate = syncAgent_.AddObserver(name, { observer, param.bundleName_, option }); + if (isCreate && DoSubscribe(param, option) != RDB_OK) { + syncAgent_.RemoveObserver(name, observer); + } return RDB_OK; } @@ -282,18 +273,12 @@ int32_t RdbServiceProxy::UnSubscribe(const RdbSyncerParam ¶m, const Subscrib LOG_ERROR("observer is null"); return RDB_ERROR; } - if (DoUnSubscribe(param) != RDB_OK) { + auto name = RemoveSuffix(param.storeName_); + auto [observerParam, isDestroy] = syncAgent_.RemoveObserver(name, observer); + if (isDestroy && DoUnSubscribe(param) != RDB_OK) { + syncAgent_.AddObserver(name, observerParam); return RDB_ERROR; } - auto name = RemoveSuffix(param.storeName_); - observers_.ComputeIfPresent(name, [observer](const auto &key, std::list &value) { - LOG_INFO("before remove size=%{public}d", static_cast(value.size())); - value.remove_if([observer](const ObserverParam ¶m) { - return param.observer == observer; - }); - LOG_INFO("after remove size=%{public}d", static_cast(value.size())); - return !(value.empty()); - }); return RDB_OK; } @@ -369,4 +354,44 @@ int32_t RdbServiceProxy::Delete(const RdbSyncerParam ¶m) } return status; } + +bool RdbServiceProxy::SyncAgent::AddObserver(const std::string &storeName, const ObserverParam ¶m) +{ + bool isCreate = false; + observers.Compute(storeName, [¶m, &isCreate](const auto &key, std::list &value) { + for (const auto &element : value) { + if (element.observer == param.observer) { + LOG_ERROR("duplicate observer, storeName:%{public}s", SqliteUtils::Anonymous(key).c_str()); + return true; + } + } + value.push_back(param); + isCreate = value.size() == 1; + return true; + }); + return isCreate; +} + +std::pair RdbServiceProxy::SyncAgent::RemoveObserver( + const std::string &storeName, RdbStoreObserver *observer) +{ + RdbServiceProxy::ObserverParam observerParam; + bool isDestroy = false; + observers.ComputeIfPresent( + storeName, [observer, &observerParam, &isDestroy](const auto &key, std::list &value) { + LOG_INFO("before remove size=%{public}d", static_cast(value.size())); + value.remove_if([observer, &observerParam, &isDestroy](const ObserverParam ¶m) { + if (param.observer == observer) { + isDestroy = true; + observerParam = param; + return true; + } + return false; + }); + LOG_INFO("after remove size=%{public}d", static_cast(value.size())); + isDestroy = isDestroy && value.empty(); + return !(value.empty()); + }); + return { observerParam, isDestroy }; +} } // namespace OHOS::DistributedRdb \ No newline at end of file diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 9b79c18f..0e771472 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.11.2) project(LDBTest) set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_FLAGS "-std=c++1y -fno-rtti -fvisibility=default -D_GNU_SOURCE") +set(CMAKE_CXX_FLAGS "-std=c++1y -fvisibility=default -D_GNU_SOURCE") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdata-sections -fPIC -fpic -ffunction-sections -D_GLIBC_MOCK") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,--no-as-needed -ldl") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wformat=0 -fpermissive") @@ -50,7 +50,7 @@ aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/../datamgr_service/services/dis aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/../datamgr_service/services/distributeddataservice/adapter/account/test DataMgrTestSrc) aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/../datamgr_service/services/distributeddataservice/adapter/communicator/test/unittest DataMgrTestSrc) aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/../datamgr_service/services/distributeddataservice/service/test/mock DataMgrTestSrc) -list(REMOVE_ITEM DataMgrTestSrc "${CMAKE_CURRENT_SOURCE_DIR}/../datamgr_service/services/distributeddataservice/service/test/mock/adapter_mock.cpp") +list(REMOVE_ITEM DataMgrTestSrc "../datamgr_service/services/distributeddataservice/service/test/unittest/cloud/device_manger_adapter_mock.cpp") aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/../datamgr_service/services/distributeddataservice/service/test DataMgrTestSrc) aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/../datamgr_service/services/distributeddataservice/framework/test DataMgrTestSrc) aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/../datamgr_service/services/distributeddataservice/adapter/test DataMgrTestSrc) @@ -71,7 +71,7 @@ target_include_directories(DataMgrServiceTest PRIVATE ${CMAKE_CURRENT_SOURCE_DIR target_include_directories(DataMgrServiceTest PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../datamgr_service/services/distributeddataservice/service/udmf/store) target_include_directories(DataMgrServiceTest PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../datamgr_service/services/distributeddataservice/service/crypto/include) target_include_directories(DataMgrServiceTest PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../datamgr_service/services/distributeddataservice/app/src/) - +target_include_directories(DataMgrServiceTest PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../relational_store/frameworks/native/rdb/include/) #************************************************DataMgrServiceTest start************************************************# #************************************************RDBTest start************************************************# @@ -132,6 +132,18 @@ target_link_libraries(UdmfTest ${links} gtest_main gcov udmf) target_include_directories(UdmfTest PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../udmf/framework/common) #************************************************UdmfTest end************************************************# +aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/../datamgr_service/services/distributeddataservice/service/test/mock CloudTestSrc) +aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/../datamgr_service/services/distributeddataservice/service/test/unittest/cloud CloudTestSrc) +add_executable(CloudTest ${CloudTestSrc} ${mainSrc} ${serviceSrc}) +target_link_libraries(CloudTest gtest_main gcov svcFwk distributeddb kvdb service app) +target_include_directories(CloudTest PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../datamgr_service/services/distributeddataservice/service/test) +target_include_directories(CloudTest PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../datamgr_service/services/distributeddataservice/service/backup/include) +target_include_directories(CloudTest PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../datamgr_service/services/distributeddataservice/service/bootstrap/include) +target_include_directories(CloudTest PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../datamgr_service/services/distributeddataservice/service/config/include) +target_include_directories(CloudTest PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../datamgr_service/services/distributeddataservice/service/crypto/include) +target_include_directories(CloudTest PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../datamgr_service/services/distributeddataservice/service/directory/include) +target_include_directories(CloudTest PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../datamgr_service/services/distributeddataservice/service/matrix/include) + include_directories(AFTER ${CMAKE_CURRENT_SOURCE_DIR}/../datamgr_service/services/distributeddataservice/app/src/) include_directories(AFTER ${CMAKE_CURRENT_SOURCE_DIR}/../kv_store/frameworks/innerkitsimpl/distributeddatafwk/include) include_directories(AFTER ${CMAKE_CURRENT_SOURCE_DIR}/../kv_store/frameworks/innerkitsimpl/distributeddatafwk/src) diff --git a/udmf/interfaces/jskits/common/napi_data_utils.h b/udmf/interfaces/jskits/common/napi_data_utils.h index bc19dd56..01b28c23 100644 --- a/udmf/interfaces/jskits/common/napi_data_utils.h +++ b/udmf/interfaces/jskits/common/napi_data_utils.h @@ -23,9 +23,9 @@ #include #include -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "napi_common_want.h" #include "securec.h" diff --git a/udmf/interfaces/jskits/common/napi_error_utils.h b/udmf/interfaces/jskits/common/napi_error_utils.h index 51a52640..c75ac461 100644 --- a/udmf/interfaces/jskits/common/napi_error_utils.h +++ b/udmf/interfaces/jskits/common/napi_error_utils.h @@ -21,7 +21,7 @@ #include #include "js_native_api.h" -#include "napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" #include "error_code.h" #include "logger.h" diff --git a/udmf/interfaces/jskits/common/napi_queue.h b/udmf/interfaces/jskits/common/napi_queue.h index 093ef7b5..e2c78c75 100644 --- a/udmf/interfaces/jskits/common/napi_queue.h +++ b/udmf/interfaces/jskits/common/napi_queue.h @@ -20,9 +20,9 @@ #include #include -#include "napi/native_api.h" -#include "napi/native_common.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_common.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" #include "napi_error_utils.h" namespace OHOS { diff --git a/udmf/interfaces/jskits/data/application_defined_record_napi.h b/udmf/interfaces/jskits/data/application_defined_record_napi.h index ff12f1c2..4791117a 100644 --- a/udmf/interfaces/jskits/data/application_defined_record_napi.h +++ b/udmf/interfaces/jskits/data/application_defined_record_napi.h @@ -18,8 +18,8 @@ #include -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace UDMF { diff --git a/udmf/interfaces/jskits/data/audio_napi.h b/udmf/interfaces/jskits/data/audio_napi.h index 89b0fc69..eee3cad0 100644 --- a/udmf/interfaces/jskits/data/audio_napi.h +++ b/udmf/interfaces/jskits/data/audio_napi.h @@ -18,8 +18,8 @@ #include -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace UDMF { diff --git a/udmf/interfaces/jskits/data/file_napi.h b/udmf/interfaces/jskits/data/file_napi.h index b76eb679..527133b1 100644 --- a/udmf/interfaces/jskits/data/file_napi.h +++ b/udmf/interfaces/jskits/data/file_napi.h @@ -18,8 +18,8 @@ #include -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace UDMF { diff --git a/udmf/interfaces/jskits/data/folder_napi.h b/udmf/interfaces/jskits/data/folder_napi.h index 39199115..49cc3b66 100644 --- a/udmf/interfaces/jskits/data/folder_napi.h +++ b/udmf/interfaces/jskits/data/folder_napi.h @@ -18,8 +18,8 @@ #include -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace UDMF { diff --git a/udmf/interfaces/jskits/data/html_napi.h b/udmf/interfaces/jskits/data/html_napi.h index 8807a26b..69920f7f 100644 --- a/udmf/interfaces/jskits/data/html_napi.h +++ b/udmf/interfaces/jskits/data/html_napi.h @@ -18,8 +18,8 @@ #include -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace UDMF { diff --git a/udmf/interfaces/jskits/data/image_napi.h b/udmf/interfaces/jskits/data/image_napi.h index fb7589ff..02962536 100644 --- a/udmf/interfaces/jskits/data/image_napi.h +++ b/udmf/interfaces/jskits/data/image_napi.h @@ -18,8 +18,8 @@ #include -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace UDMF { diff --git a/udmf/interfaces/jskits/data/link_napi.h b/udmf/interfaces/jskits/data/link_napi.h index 081457d1..d3db14e1 100644 --- a/udmf/interfaces/jskits/data/link_napi.h +++ b/udmf/interfaces/jskits/data/link_napi.h @@ -18,8 +18,8 @@ #include -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace UDMF { diff --git a/udmf/interfaces/jskits/data/plain_text_napi.h b/udmf/interfaces/jskits/data/plain_text_napi.h index 67620600..b0b48bfa 100644 --- a/udmf/interfaces/jskits/data/plain_text_napi.h +++ b/udmf/interfaces/jskits/data/plain_text_napi.h @@ -18,8 +18,8 @@ #include -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace UDMF { diff --git a/udmf/interfaces/jskits/data/summary_napi.h b/udmf/interfaces/jskits/data/summary_napi.h index 069cabf8..d4f70336 100644 --- a/udmf/interfaces/jskits/data/summary_napi.h +++ b/udmf/interfaces/jskits/data/summary_napi.h @@ -18,8 +18,8 @@ #include -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace UDMF { diff --git a/udmf/interfaces/jskits/data/system_defined_appitem_napi.h b/udmf/interfaces/jskits/data/system_defined_appitem_napi.h index deef6081..5f641ba4 100644 --- a/udmf/interfaces/jskits/data/system_defined_appitem_napi.h +++ b/udmf/interfaces/jskits/data/system_defined_appitem_napi.h @@ -18,8 +18,8 @@ #include -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace UDMF { diff --git a/udmf/interfaces/jskits/data/system_defined_form_napi.h b/udmf/interfaces/jskits/data/system_defined_form_napi.h index 191ba59a..01d77565 100644 --- a/udmf/interfaces/jskits/data/system_defined_form_napi.h +++ b/udmf/interfaces/jskits/data/system_defined_form_napi.h @@ -18,8 +18,8 @@ #include -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace UDMF { diff --git a/udmf/interfaces/jskits/data/system_defined_pixelmap_napi.h b/udmf/interfaces/jskits/data/system_defined_pixelmap_napi.h index eb64b3ba..58258090 100644 --- a/udmf/interfaces/jskits/data/system_defined_pixelmap_napi.h +++ b/udmf/interfaces/jskits/data/system_defined_pixelmap_napi.h @@ -18,8 +18,8 @@ #include -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace UDMF { diff --git a/udmf/interfaces/jskits/data/system_defined_record_napi.h b/udmf/interfaces/jskits/data/system_defined_record_napi.h index 8881c49c..16594273 100644 --- a/udmf/interfaces/jskits/data/system_defined_record_napi.h +++ b/udmf/interfaces/jskits/data/system_defined_record_napi.h @@ -18,8 +18,8 @@ #include -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace UDMF { diff --git a/udmf/interfaces/jskits/data/text_napi.h b/udmf/interfaces/jskits/data/text_napi.h index 110f12d4..8c5fd6c4 100644 --- a/udmf/interfaces/jskits/data/text_napi.h +++ b/udmf/interfaces/jskits/data/text_napi.h @@ -18,8 +18,8 @@ #include -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace UDMF { diff --git a/udmf/interfaces/jskits/data/unified_data_channel_napi.h b/udmf/interfaces/jskits/data/unified_data_channel_napi.h index 81534559..718fc86a 100644 --- a/udmf/interfaces/jskits/data/unified_data_channel_napi.h +++ b/udmf/interfaces/jskits/data/unified_data_channel_napi.h @@ -18,8 +18,8 @@ #include -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace UDMF { diff --git a/udmf/interfaces/jskits/data/unified_data_napi.h b/udmf/interfaces/jskits/data/unified_data_napi.h index f9cd9bed..c2c5d6d5 100644 --- a/udmf/interfaces/jskits/data/unified_data_napi.h +++ b/udmf/interfaces/jskits/data/unified_data_napi.h @@ -18,7 +18,7 @@ #include -#include "napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" namespace OHOS { namespace UDMF { diff --git a/udmf/interfaces/jskits/data/unified_record_napi.h b/udmf/interfaces/jskits/data/unified_record_napi.h index c3833df7..4c001936 100644 --- a/udmf/interfaces/jskits/data/unified_record_napi.h +++ b/udmf/interfaces/jskits/data/unified_record_napi.h @@ -18,8 +18,8 @@ #include -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace UDMF { diff --git a/udmf/interfaces/jskits/data/uniform_type_descriptor_napi.h b/udmf/interfaces/jskits/data/uniform_type_descriptor_napi.h index 3553fcfb..2f005441 100644 --- a/udmf/interfaces/jskits/data/uniform_type_descriptor_napi.h +++ b/udmf/interfaces/jskits/data/uniform_type_descriptor_napi.h @@ -18,8 +18,8 @@ #include -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace UDMF { diff --git a/udmf/interfaces/jskits/data/video_napi.h b/udmf/interfaces/jskits/data/video_napi.h index a848f04d..4d154527 100644 --- a/udmf/interfaces/jskits/data/video_napi.h +++ b/udmf/interfaces/jskits/data/video_napi.h @@ -18,8 +18,8 @@ #include -#include "napi/native_api.h" -#include "napi/native_node_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_api.h" +#include "innerkits/napi/ace_napi/include/napi/native_node_api.h" namespace OHOS { namespace UDMF { -- Gitee