diff --git a/frameworks/ans/test/moduletest/mock/distributed_kv_data_manager.cpp b/frameworks/ans/test/moduletest/mock/distributed_kv_data_manager.cpp index d755b0151ac19b60f4e18e540bc2c2488c1895fc..a223023419e97b69fc8f937e22dd52c81e14b98c 100644 --- a/frameworks/ans/test/moduletest/mock/distributed_kv_data_manager.cpp +++ b/frameworks/ans/test/moduletest/mock/distributed_kv_data_manager.cpp @@ -28,22 +28,20 @@ DistributedKvDataManager::DistributedKvDataManager() DistributedKvDataManager::~DistributedKvDataManager() {} -void DistributedKvDataManager::GetSingleKvStore(const Options &options, const AppId &appId, const StoreId &storeId, - std::function)> callback) +Status DistributedKvDataManager::GetSingleKvStore(const Options &options, const AppId &appId, const StoreId &storeId, + std::shared_ptr &kvStore) { std::string storeIdTmp = Constant::TrimCopy(storeId.storeId); - Status status = Status::SUCCESS; - std::unique_ptr proxyTmp = std::make_unique(); - callback(status, std::move(proxyTmp)); + kvStore = std::make_shared(); + return Status::SUCCESS; } -Status DistributedKvDataManager::CloseKvStore( - const AppId &appId, const StoreId &storeId, std::unique_ptr kvStorePtr) +Status DistributedKvDataManager::CloseKvStore(const AppId &appId, const StoreId &storeId) { return Status::SUCCESS; } -Status DistributedKvDataManager::CloseKvStore(const AppId &appId, std::unique_ptr kvStorePtr) +Status DistributedKvDataManager::CloseKvStore(const AppId &appId, std::shared_ptr &kvStorePtr) { return Status::SUCCESS; } diff --git a/frameworks/ans/test/moduletest/mock/include/mock_single_kv_store.h b/frameworks/ans/test/moduletest/mock/include/mock_single_kv_store.h index 59a5d5c0498ff53c455d313e343c31a284accd9a..0e2a140f2c8f19afc81a41cd9829d941912890b7 100644 --- a/frameworks/ans/test/moduletest/mock/include/mock_single_kv_store.h +++ b/frameworks/ans/test/moduletest/mock/include/mock_single_kv_store.h @@ -29,7 +29,6 @@ namespace OHOS { namespace DistributedKv { - class AnsTestSingleKvStore : public SingleKvStore { public: virtual Status GetEntries(const Key &prefixKey, std::vector &entries) const override; @@ -38,16 +37,15 @@ public: virtual Status GetEntriesWithQuery(const DataQuery &query, std::vector &entries) const override; - virtual void GetResultSet( - const Key &prefixKey, std::function)> callback) const override; + virtual Status GetResultSet(const Key &prefixKey, std::shared_ptr &resultSet) const override; - virtual void GetResultSetWithQuery(const std::string &query, - std::function)> callback) const override; + virtual Status GetResultSetWithQuery(const std::string &query, + std::shared_ptr &resultSet) const override; - virtual void GetResultSetWithQuery( - const DataQuery &query, std::function)> callback) const override; + virtual Status GetResultSetWithQuery(const DataQuery &query, + std::shared_ptr &resultSet) const override; - virtual Status CloseResultSet(std::unique_ptr resultSet) override; + virtual Status CloseResultSet(std::shared_ptr &resultSet) override; virtual Status GetCountWithQuery(const std::string &query, int &result) const override; @@ -95,8 +93,14 @@ public: virtual Status GetSecurityLevel(SecurityLevel &securityLevel) const override; + Status GetKvStoreSnapshot(std::shared_ptr observer, + std::shared_ptr &snapshot) const override; + + Status ReleaseKvStoreSnapshot(std::shared_ptr &snapshot) override; + + Status Clear() override; protected: - KVSTORE_API virtual Status Control(KvControlCmd cmd, const KvParam &inputParam, sptr &output) override; + KVSTORE_API virtual Status Control(KvControlCmd cmd, const KvParam &inputParam, KvParam &output) override; }; } // namespace DistributedKv } // namespace OHOS diff --git a/frameworks/ans/test/moduletest/mock/mock_single_kv_store.cpp b/frameworks/ans/test/moduletest/mock/mock_single_kv_store.cpp index 85aed3fef5427378195420cc7428132c0a21d60d..bc79b1906abc1e2fef3eccc0efe1c24426bd0a35 100644 --- a/frameworks/ans/test/moduletest/mock/mock_single_kv_store.cpp +++ b/frameworks/ans/test/moduletest/mock/mock_single_kv_store.cpp @@ -34,19 +34,24 @@ Status AnsTestSingleKvStore::GetEntriesWithQuery(const DataQuery &query, std::ve return Status::SUCCESS; } -void AnsTestSingleKvStore::GetResultSet( - const Key &prefixKey, std::function)> callback) const -{} +Status AnsTestSingleKvStore::GetResultSet(const Key &prefixKey, std::shared_ptr &resultSet) const +{ + return Status::SUCCESS; +} -void AnsTestSingleKvStore::GetResultSetWithQuery( - const std::string &query, std::function)> callback) const -{} +Status AnsTestSingleKvStore::GetResultSetWithQuery(const std::string &query, + std::shared_ptr &resultSet) const +{ + return Status::SUCCESS; +} -void AnsTestSingleKvStore::GetResultSetWithQuery( - const DataQuery &query, std::function)> callback) const -{} +Status AnsTestSingleKvStore::GetResultSetWithQuery(const DataQuery &query, + std::shared_ptr &resultSet) const +{ + return Status::SUCCESS; +} -Status AnsTestSingleKvStore::CloseResultSet(std::unique_ptr resultSet) +Status AnsTestSingleKvStore::CloseResultSet(std::shared_ptr &resultSet) { return Status::SUCCESS; } @@ -165,10 +170,25 @@ Status AnsTestSingleKvStore::GetSecurityLevel(SecurityLevel &securityLevel) cons return Status::SUCCESS; } -Status AnsTestSingleKvStore::Control(KvControlCmd cmd, const KvParam &inputParam, sptr &output) +Status AnsTestSingleKvStore::Control(KvControlCmd cmd, const KvParam &inputParam, KvParam &output) { return Status::SUCCESS; } +Status AnsTestSingleKvStore::GetKvStoreSnapshot(std::shared_ptr observer, + std::shared_ptr &snapshot) const +{ + return Status::NOT_SUPPORT; +} + +Status AnsTestSingleKvStore::ReleaseKvStoreSnapshot(std::shared_ptr &snapshot) +{ + return Status::NOT_SUPPORT; +} + +Status AnsTestSingleKvStore::Clear() +{ + return Status::NOT_SUPPORT; +} } // namespace DistributedKv } // namespace OHOS \ No newline at end of file diff --git a/services/ans/include/notification_preferences_database.h b/services/ans/include/notification_preferences_database.h index 9b6526db799f003aba88d41abcad9e2d7f8f02b3..d037fe4718fc08c45d9c067d33f8e1c1fba6c33b 100644 --- a/services/ans/include/notification_preferences_database.h +++ b/services/ans/include/notification_preferences_database.h @@ -139,7 +139,7 @@ private: const DistributedKv::AppId appId_ {APP_ID}; const DistributedKv::StoreId storeId_ {STORE_ID}; - std::unique_ptr kvStorePtr_ = nullptr; + std::shared_ptr kvStorePtr_ = nullptr; DistributedKv::DistributedKvDataManager dataManager_; }; diff --git a/services/ans/src/notification_preferences_database.cpp b/services/ans/src/notification_preferences_database.cpp index 1243e40711eaab7ec5101967b78057308ea7fc93..a839e1440b3017e446e1343e691dfca4ad3209e3 100644 --- a/services/ans/src/notification_preferences_database.cpp +++ b/services/ans/src/notification_preferences_database.cpp @@ -140,35 +140,24 @@ void NotificationPreferencesDatabase::TryTwice(const std::function - singleKvStore) { - status = paramStatus; - if (status != OHOS::DistributedKv::Status::SUCCESS) { - ANS_LOGE("Return error: %{public}d.", status); - return; - } - { - kvStorePtr_ = std::move(singleKvStore); - } - ANS_LOGD("Get kvStore success."); - }); + auto status = dataManager_.GetSingleKvStore(options, appId_, storeId_, kvStorePtr_); + if (status != OHOS::DistributedKv::Status::SUCCESS) { + ANS_LOGE("Return error: %{public}d.", status); + } else { + ANS_LOGD("Get kvStore success."); + } return status; } void NotificationPreferencesDatabase::CloseKvStore() { - dataManager_.CloseKvStore(appId_, std::move(kvStorePtr_)); + dataManager_.CloseKvStore(appId_, kvStorePtr_); } bool NotificationPreferencesDatabase::CheckKvStore() diff --git a/services/ans/test/unittest/mock/distributed_kv_data_manager.cpp b/services/ans/test/unittest/mock/distributed_kv_data_manager.cpp index d755b0151ac19b60f4e18e540bc2c2488c1895fc..a223023419e97b69fc8f937e22dd52c81e14b98c 100644 --- a/services/ans/test/unittest/mock/distributed_kv_data_manager.cpp +++ b/services/ans/test/unittest/mock/distributed_kv_data_manager.cpp @@ -28,22 +28,20 @@ DistributedKvDataManager::DistributedKvDataManager() DistributedKvDataManager::~DistributedKvDataManager() {} -void DistributedKvDataManager::GetSingleKvStore(const Options &options, const AppId &appId, const StoreId &storeId, - std::function)> callback) +Status DistributedKvDataManager::GetSingleKvStore(const Options &options, const AppId &appId, const StoreId &storeId, + std::shared_ptr &kvStore) { std::string storeIdTmp = Constant::TrimCopy(storeId.storeId); - Status status = Status::SUCCESS; - std::unique_ptr proxyTmp = std::make_unique(); - callback(status, std::move(proxyTmp)); + kvStore = std::make_shared(); + return Status::SUCCESS; } -Status DistributedKvDataManager::CloseKvStore( - const AppId &appId, const StoreId &storeId, std::unique_ptr kvStorePtr) +Status DistributedKvDataManager::CloseKvStore(const AppId &appId, const StoreId &storeId) { return Status::SUCCESS; } -Status DistributedKvDataManager::CloseKvStore(const AppId &appId, std::unique_ptr kvStorePtr) +Status DistributedKvDataManager::CloseKvStore(const AppId &appId, std::shared_ptr &kvStorePtr) { return Status::SUCCESS; } diff --git a/services/ans/test/unittest/mock/include/mock_single_kv_store.h b/services/ans/test/unittest/mock/include/mock_single_kv_store.h index f32d46b6d956a2f74d36fe83ab828276143b4c3a..811ef9051c7d1534da71110e1bc0191538add7d6 100644 --- a/services/ans/test/unittest/mock/include/mock_single_kv_store.h +++ b/services/ans/test/unittest/mock/include/mock_single_kv_store.h @@ -39,16 +39,15 @@ public: virtual Status GetEntriesWithQuery(const DataQuery &query, std::vector &entries) const override; - virtual void GetResultSet( - const Key &prefixKey, std::function)> callback) const override; + virtual Status GetResultSet(const Key &prefixKey, std::shared_ptr &resultSet) const override; - virtual void GetResultSetWithQuery(const std::string &query, - std::function)> callback) const override; + virtual Status GetResultSetWithQuery(const std::string &query, + std::shared_ptr &resultSet) const override; - virtual void GetResultSetWithQuery( - const DataQuery &query, std::function)> callback) const override; + virtual Status GetResultSetWithQuery(const DataQuery &query, + std::shared_ptr &resultSet) const override; - virtual Status CloseResultSet(std::unique_ptr resultSet) override; + virtual Status CloseResultSet(std::shared_ptr &resultSet) override; virtual Status GetCountWithQuery(const std::string &query, int &result) const override; @@ -96,8 +95,14 @@ public: virtual Status GetSecurityLevel(SecurityLevel &securityLevel) const override; + Status GetKvStoreSnapshot(std::shared_ptr observer, + std::shared_ptr &snapshot) const override; + + Status ReleaseKvStoreSnapshot(std::shared_ptr &snapshot) override; + + Status Clear() override; protected: - KVSTORE_API virtual Status Control(KvControlCmd cmd, const KvParam &inputParam, sptr &output) override; + KVSTORE_API virtual Status Control(KvControlCmd cmd, const KvParam &inputParam, KvParam &output) override; }; } // namespace DistributedKv } // namespace OHOS diff --git a/services/ans/test/unittest/mock/mock_single_kv_store.cpp b/services/ans/test/unittest/mock/mock_single_kv_store.cpp index 85aed3fef5427378195420cc7428132c0a21d60d..bc79b1906abc1e2fef3eccc0efe1c24426bd0a35 100644 --- a/services/ans/test/unittest/mock/mock_single_kv_store.cpp +++ b/services/ans/test/unittest/mock/mock_single_kv_store.cpp @@ -34,19 +34,24 @@ Status AnsTestSingleKvStore::GetEntriesWithQuery(const DataQuery &query, std::ve return Status::SUCCESS; } -void AnsTestSingleKvStore::GetResultSet( - const Key &prefixKey, std::function)> callback) const -{} +Status AnsTestSingleKvStore::GetResultSet(const Key &prefixKey, std::shared_ptr &resultSet) const +{ + return Status::SUCCESS; +} -void AnsTestSingleKvStore::GetResultSetWithQuery( - const std::string &query, std::function)> callback) const -{} +Status AnsTestSingleKvStore::GetResultSetWithQuery(const std::string &query, + std::shared_ptr &resultSet) const +{ + return Status::SUCCESS; +} -void AnsTestSingleKvStore::GetResultSetWithQuery( - const DataQuery &query, std::function)> callback) const -{} +Status AnsTestSingleKvStore::GetResultSetWithQuery(const DataQuery &query, + std::shared_ptr &resultSet) const +{ + return Status::SUCCESS; +} -Status AnsTestSingleKvStore::CloseResultSet(std::unique_ptr resultSet) +Status AnsTestSingleKvStore::CloseResultSet(std::shared_ptr &resultSet) { return Status::SUCCESS; } @@ -165,10 +170,25 @@ Status AnsTestSingleKvStore::GetSecurityLevel(SecurityLevel &securityLevel) cons return Status::SUCCESS; } -Status AnsTestSingleKvStore::Control(KvControlCmd cmd, const KvParam &inputParam, sptr &output) +Status AnsTestSingleKvStore::Control(KvControlCmd cmd, const KvParam &inputParam, KvParam &output) { return Status::SUCCESS; } +Status AnsTestSingleKvStore::GetKvStoreSnapshot(std::shared_ptr observer, + std::shared_ptr &snapshot) const +{ + return Status::NOT_SUPPORT; +} + +Status AnsTestSingleKvStore::ReleaseKvStoreSnapshot(std::shared_ptr &snapshot) +{ + return Status::NOT_SUPPORT; +} + +Status AnsTestSingleKvStore::Clear() +{ + return Status::NOT_SUPPORT; +} } // namespace DistributedKv } // namespace OHOS \ No newline at end of file diff --git a/services/test/moduletest/mock/distributed_kv_data_manager.cpp b/services/test/moduletest/mock/distributed_kv_data_manager.cpp index d755b0151ac19b60f4e18e540bc2c2488c1895fc..a223023419e97b69fc8f937e22dd52c81e14b98c 100644 --- a/services/test/moduletest/mock/distributed_kv_data_manager.cpp +++ b/services/test/moduletest/mock/distributed_kv_data_manager.cpp @@ -28,22 +28,20 @@ DistributedKvDataManager::DistributedKvDataManager() DistributedKvDataManager::~DistributedKvDataManager() {} -void DistributedKvDataManager::GetSingleKvStore(const Options &options, const AppId &appId, const StoreId &storeId, - std::function)> callback) +Status DistributedKvDataManager::GetSingleKvStore(const Options &options, const AppId &appId, const StoreId &storeId, + std::shared_ptr &kvStore) { std::string storeIdTmp = Constant::TrimCopy(storeId.storeId); - Status status = Status::SUCCESS; - std::unique_ptr proxyTmp = std::make_unique(); - callback(status, std::move(proxyTmp)); + kvStore = std::make_shared(); + return Status::SUCCESS; } -Status DistributedKvDataManager::CloseKvStore( - const AppId &appId, const StoreId &storeId, std::unique_ptr kvStorePtr) +Status DistributedKvDataManager::CloseKvStore(const AppId &appId, const StoreId &storeId) { return Status::SUCCESS; } -Status DistributedKvDataManager::CloseKvStore(const AppId &appId, std::unique_ptr kvStorePtr) +Status DistributedKvDataManager::CloseKvStore(const AppId &appId, std::shared_ptr &kvStorePtr) { return Status::SUCCESS; } diff --git a/services/test/moduletest/mock/include/mock_single_kv_store.h b/services/test/moduletest/mock/include/mock_single_kv_store.h index f32d46b6d956a2f74d36fe83ab828276143b4c3a..811ef9051c7d1534da71110e1bc0191538add7d6 100644 --- a/services/test/moduletest/mock/include/mock_single_kv_store.h +++ b/services/test/moduletest/mock/include/mock_single_kv_store.h @@ -39,16 +39,15 @@ public: virtual Status GetEntriesWithQuery(const DataQuery &query, std::vector &entries) const override; - virtual void GetResultSet( - const Key &prefixKey, std::function)> callback) const override; + virtual Status GetResultSet(const Key &prefixKey, std::shared_ptr &resultSet) const override; - virtual void GetResultSetWithQuery(const std::string &query, - std::function)> callback) const override; + virtual Status GetResultSetWithQuery(const std::string &query, + std::shared_ptr &resultSet) const override; - virtual void GetResultSetWithQuery( - const DataQuery &query, std::function)> callback) const override; + virtual Status GetResultSetWithQuery(const DataQuery &query, + std::shared_ptr &resultSet) const override; - virtual Status CloseResultSet(std::unique_ptr resultSet) override; + virtual Status CloseResultSet(std::shared_ptr &resultSet) override; virtual Status GetCountWithQuery(const std::string &query, int &result) const override; @@ -96,8 +95,14 @@ public: virtual Status GetSecurityLevel(SecurityLevel &securityLevel) const override; + Status GetKvStoreSnapshot(std::shared_ptr observer, + std::shared_ptr &snapshot) const override; + + Status ReleaseKvStoreSnapshot(std::shared_ptr &snapshot) override; + + Status Clear() override; protected: - KVSTORE_API virtual Status Control(KvControlCmd cmd, const KvParam &inputParam, sptr &output) override; + KVSTORE_API virtual Status Control(KvControlCmd cmd, const KvParam &inputParam, KvParam &output) override; }; } // namespace DistributedKv } // namespace OHOS diff --git a/services/test/moduletest/mock/mock_single_kv_store.cpp b/services/test/moduletest/mock/mock_single_kv_store.cpp index 85aed3fef5427378195420cc7428132c0a21d60d..bc79b1906abc1e2fef3eccc0efe1c24426bd0a35 100644 --- a/services/test/moduletest/mock/mock_single_kv_store.cpp +++ b/services/test/moduletest/mock/mock_single_kv_store.cpp @@ -34,19 +34,24 @@ Status AnsTestSingleKvStore::GetEntriesWithQuery(const DataQuery &query, std::ve return Status::SUCCESS; } -void AnsTestSingleKvStore::GetResultSet( - const Key &prefixKey, std::function)> callback) const -{} +Status AnsTestSingleKvStore::GetResultSet(const Key &prefixKey, std::shared_ptr &resultSet) const +{ + return Status::SUCCESS; +} -void AnsTestSingleKvStore::GetResultSetWithQuery( - const std::string &query, std::function)> callback) const -{} +Status AnsTestSingleKvStore::GetResultSetWithQuery(const std::string &query, + std::shared_ptr &resultSet) const +{ + return Status::SUCCESS; +} -void AnsTestSingleKvStore::GetResultSetWithQuery( - const DataQuery &query, std::function)> callback) const -{} +Status AnsTestSingleKvStore::GetResultSetWithQuery(const DataQuery &query, + std::shared_ptr &resultSet) const +{ + return Status::SUCCESS; +} -Status AnsTestSingleKvStore::CloseResultSet(std::unique_ptr resultSet) +Status AnsTestSingleKvStore::CloseResultSet(std::shared_ptr &resultSet) { return Status::SUCCESS; } @@ -165,10 +170,25 @@ Status AnsTestSingleKvStore::GetSecurityLevel(SecurityLevel &securityLevel) cons return Status::SUCCESS; } -Status AnsTestSingleKvStore::Control(KvControlCmd cmd, const KvParam &inputParam, sptr &output) +Status AnsTestSingleKvStore::Control(KvControlCmd cmd, const KvParam &inputParam, KvParam &output) { return Status::SUCCESS; } +Status AnsTestSingleKvStore::GetKvStoreSnapshot(std::shared_ptr observer, + std::shared_ptr &snapshot) const +{ + return Status::NOT_SUPPORT; +} + +Status AnsTestSingleKvStore::ReleaseKvStoreSnapshot(std::shared_ptr &snapshot) +{ + return Status::NOT_SUPPORT; +} + +Status AnsTestSingleKvStore::Clear() +{ + return Status::NOT_SUPPORT; +} } // namespace DistributedKv } // namespace OHOS \ No newline at end of file