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 fa6e3d7..4ed4e1e 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 5e2495f..1de8bfc 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 03b0214..e3a60e7 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(