diff --git a/services/distributeddataservice/service/object/include/object_manager.h b/services/distributeddataservice/service/object/include/object_manager.h index 7be1336b1a7f57d54f8faf9d3af98981f42cf27e..a5026a5d0293799115bce2972454ebada6e23dfd 100644 --- a/services/distributeddataservice/service/object/include/object_manager.h +++ b/services/distributeddataservice/service/object/include/object_manager.h @@ -215,7 +215,7 @@ private: std::recursive_mutex kvStoreMutex_; std::shared_ptr kvStoreDelegateManager_ = nullptr; DistributedDB::KvStoreNbDelegate *delegate_ = nullptr; - ObjectDataListener *objectDataListener_ = nullptr; + ObjectDataListener objectDataListener_; sptr objectAssetsRecvListener_ = nullptr; sptr objectAssetsSendListener_ = nullptr; uint32_t syncCount_ = 0; diff --git a/services/distributeddataservice/service/object/src/object_manager.cpp b/services/distributeddataservice/service/object/src/object_manager.cpp index a09bdce435eb5d04d0ae5c4099233a444b6b2dfd..3c769deaa79f4792f141f022146895ba0af94971 100644 --- a/services/distributeddataservice/service/object/src/object_manager.cpp +++ b/services/distributeddataservice/service/object/src/object_manager.cpp @@ -71,9 +71,6 @@ DistributedDB::KvStoreNbDelegate *ObjectStoreManager::OpenObjectKvStore() option.createDirByStoreIdOnly = true; option.syncDualTupleMode = true; option.secOption = { DistributedDB::S1, DistributedDB::ECE }; - if (objectDataListener_ == nullptr) { - objectDataListener_ = new ObjectDataListener(); - } ZLOGD("start GetKvStore"); kvStoreDelegateManager_->GetKvStore(ObjectCommon::OBJECTSTORE_DB_STOREID, option, [&store, this](DistributedDB::DBStatus dbStatus, DistributedDB::KvStoreNbDelegate *kvStoreNbDelegate) { @@ -86,7 +83,7 @@ DistributedDB::KvStoreNbDelegate *ObjectStoreManager::OpenObjectKvStore() std::vector tmpKey; DistributedDB::DBStatus status = store->RegisterObserver(tmpKey, DistributedDB::ObserverMode::OBSERVER_CHANGES_FOREIGN, - objectDataListener_); + &objectDataListener_); if (status != DistributedDB::DBStatus::OK) { ZLOGE("RegisterObserver err %{public}d", status); } @@ -910,10 +907,6 @@ void ObjectStoreManager::FlushClosedStore() return; } delegate_ = nullptr; - if (objectDataListener_ != nullptr) { - delete objectDataListener_; - objectDataListener_ = nullptr; - } } } diff --git a/services/distributeddataservice/service/test/object_manager_test.cpp b/services/distributeddataservice/service/test/object_manager_test.cpp index e2d9e0ce447b6d506a39c6c3e48de0958b4c435b..e68fbf26231f77019030f7ad1e71315e6b6c1838 100644 --- a/services/distributeddataservice/service/test/object_manager_test.cpp +++ b/services/distributeddataservice/service/test/object_manager_test.cpp @@ -487,23 +487,6 @@ HWTEST_F(ObjectManagerTest, DeleteSnapshot001, TestSize.Level0) manager->DeleteSnapshot(bundleName_, sessionId_); } -/** -* @tc.name: OpenObjectKvStore001 -* @tc.desc: OpenObjectKvStore test. -* @tc.type: FUNC -* @tc.require: -* @tc.author: wangbin -*/ -HWTEST_F(ObjectManagerTest, OpenObjectKvStore001, TestSize.Level0) -{ - auto manager = ObjectStoreManager::GetInstance(); - manager->objectDataListener_ = nullptr; - ASSERT_EQ(manager->objectDataListener_, nullptr); - manager->OpenObjectKvStore(); - ASSERT_NE(manager->objectDataListener_, nullptr); - manager->OpenObjectKvStore(); -} - /** * @tc.name: FlushClosedStore001 * @tc.desc: FlushClosedStore test.