Register package event listener as ThemeInfoProxy object
authorSangyoon Jang <jeremy.jang@samsung.com>
Wed, 13 May 2020 07:08:37 +0000 (16:08 +0900)
committerSangyoon Jang <jeremy.jang@samsung.com>
Mon, 25 May 2020 04:28:15 +0000 (13:28 +0900)
To register itself at constructor, the type of parameter of
DbManager::AddPackageEventListener() was changed.

Change-Id: I923a9e2cc0c2617422653cef93a4aefce4ab55d8
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
src/theme_provider/db_manager.cc
src/theme_provider/db_manager.h
src/theme_provider/theme_info_proxy.cc

index fa6e3d73282f858c52e98af4e1ab611539cea1b9..4ed4e1e5b51496b60ad8b23d578d5803c563bdab 100644 (file)
@@ -201,8 +201,7 @@ bool DbManager::UpdateCurrentId(const std::string& id) {
   return true;
 }
 
-void DbManager::AddPackageEventListener(
-    std::shared_ptr<IThemePackageEvent> listener) {
+void DbManager::AddPackageEventListener(IThemePackageEvent* listener) {
   listeners_.emplace_back(listener);
 }
 
index 5e2495f64f2a00ab9206f0a1431c67d053982c60..1de8bfcf9a350eb67f7498189ef776f059170828 100644 (file)
@@ -31,11 +31,11 @@ class DbManager {
   bool Delete(const std::string& id);
   tizen_base::Bundle Select(const std::string& id);
   bool UpdateCurrentId(const std::string& id);
-  void AddPackageEventListener(std::shared_ptr<IThemePackageEvent> listener);
+  void AddPackageEventListener(IThemePackageEvent* listener);
 
  private:
   std::shared_ptr<SQLiteConnection> conn_;
-  std::vector<std::shared_ptr<IThemePackageEvent>> listeners_;
+  std::vector<IThemePackageEvent*> listeners_;
 };
 
 }  // namespace provider
index 03b021443d9c6eeeb90edc774acbf2828bfd0880..e3a60e70016e77c61cb4422e63b1a30361520eb6 100644 (file)
@@ -14,6 +14,7 @@ namespace provider {
 
 ThemeInfoProxy::ThemeInfoProxy(const std::string& db_path) {
   db_manager_.reset(new DbManager(db_path));
+  db_manager_->AddPackageEventListener(this);
 }
 
 std::shared_ptr<loader::ThemeInfo> ThemeInfoProxy::LoadTheme(