Add methods 88/202288/4
authorJunghoon Park <jh9216.park@samsung.com>
Wed, 27 Mar 2019 00:38:57 +0000 (09:38 +0900)
committerJunghoon Park <jh9216.park@samsung.com>
Wed, 27 Mar 2019 01:18:20 +0000 (10:18 +0900)
 - GetSharedPath(), DeleteAll(), GetCount()

Change-Id: If319126f5b52d19aa8ba82e760b3e9746bcf6e83
Signed-off-by: Junghoon Park <jh9216.park@samsung.com>
notification-ex/abstract_item.cc
notification-ex/abstract_item.h
notification-ex/chat_message_item.cc
notification-ex/chat_message_item.h
notification-ex/group_item.cc
notification-ex/group_item.h
notification-ex/manager.cc
notification-ex/manager.h
notification-ex/reporter.cc
notification-ex/reporter.h

index cccdfe5..a676553 100644 (file)
@@ -310,6 +310,10 @@ string AbstractItem::GetId() const {
   return impl_->id_;
 }
 
+std::list<std::string> AbstractItem::GetSharedPath() const {
+  return {};
+}
+
 shared_ptr<AbstractAction> AbstractItem::GetAction() const {
   return impl_->action_;
 }
index 98d3ad2..cb136a8 100644 (file)
@@ -226,6 +226,7 @@ class EXPORT_API AbstractItem {
   virtual AbstractItem& FindByID(std::string id) = 0;
   virtual int GetType() const = 0;
   static int GetType(Bundle b);
+  virtual std::list<std::string> GetSharedPath() const;
   std::string GetId() const;
   void SetId(std::string id);
   std::shared_ptr<AbstractAction> GetAction() const;
index b93a518..11e5c4f 100644 (file)
@@ -55,6 +55,33 @@ int ChatMessageItem::GetType() const {
   return AbstractItem::ChatMessage;
 }
 
+std::list<std::string> ChatMessageItem::GetSharedPath() const {
+  std::list<std::string> ret;
+
+  auto name = impl_->name_->GetSharedPath();
+  auto text = impl_->text_->GetSharedPath();
+  auto image = impl_->image_->GetSharedPath();
+  auto time = impl_->time_->GetSharedPath();
+
+  for (auto& i : name) {
+    ret.push_back(std::move(i));
+  }
+
+  for (auto& i : text) {
+    ret.push_back(std::move(i));
+  }
+
+  for (auto& i : image) {
+    ret.push_back(std::move(i));
+  }
+
+  for (auto& i : time) {
+    ret.push_back(std::move(i));
+  }
+
+  return ret;
+}
+
 Bundle ChatMessageItem::Serialize() const {
   Bundle b;
   b = AbstractItem::Serialize();
index 368bb75..ca4a2aa 100644 (file)
@@ -49,6 +49,7 @@ class EXPORT_API ChatMessageItem : public AbstractItem {
   Bundle Serialize() const override;
   void Deserialize(Bundle b) override;
   AbstractItem& FindByID(std::string id) override;
+  std::list<std::string> GetSharedPath() const override;
   TextItem& GetNameItem() const;
   TextItem& GetTextItem() const;
   ImageItem& GetImageItem() const;
index db2a7ec..4022c73 100644 (file)
@@ -114,6 +114,19 @@ AbstractItem& GroupItem::FindByID(std::string id) {
   return FactoryManager::GetInst().GetNullItem();
 }
 
+list<string> GroupItem::GetSharedPath() const {
+  list<string> ret;
+
+  for (auto& i : impl_->children_list_) {
+    auto s = i->GetSharedPath();
+    for (auto& j : s) {
+      ret.push_back(move(j));
+    }
+  }
+
+  return ret;
+}
+
 void GroupItem::AddChild(shared_ptr<AbstractItem> child) {
   impl_->children_list_.emplace_back(child);
 }
index 2989c74..5702376 100644 (file)
@@ -34,10 +34,11 @@ class EXPORT_API GroupItem : public AbstractItem {
   virtual ~GroupItem();
 
  public:
-  virtual Bundle Serialize() const override;
-  virtual void Deserialize(Bundle b) override;
-  virtual AbstractItem& FindByID(std::string id) override;
+  Bundle Serialize() const override;
+  void Deserialize(Bundle b) override;
+  AbstractItem& FindByID(std::string id) override;
   int GetType() const override;
+  std::list<std::string> GetSharedPath() const override;
 
   void SetDirection(bool vertical);
   bool IsVertical();
index b99d6e9..d1c9e57 100644 (file)
@@ -87,6 +87,16 @@ int Manager::Delete(shared_ptr<item::AbstractItem> noti) {
   return impl_->SendNotify(noti, EventInfo::Delete);
 }
 
+int Manager::DeleteAll() {
+  //TODO
+  return -1;
+}
+
+int Manager::GetCount() const {
+  //TODO
+  return -1;
+}
+
 int Manager::Hide(shared_ptr<item::AbstractItem> noti) {
   ((IItemInfoInternal*)noti->GetInfo().get())->AddHideViewer(util::GetAppId());
   return impl_->SendNotify(noti, EventInfo::Update);
index 78ef797..6672076 100644 (file)
@@ -42,12 +42,14 @@ class EXPORT_API Manager : public IEventObserver {
   std::list<std::shared_ptr<item::AbstractItem>> Get();
   int Update(std::shared_ptr<item::AbstractItem> noti);
   int Delete(std::shared_ptr<item::AbstractItem> noti);
+  int DeleteAll();
   int Hide(std::shared_ptr<item::AbstractItem> noti);
   std::shared_ptr<item::AbstractItem> FindByRootID(std::string id);
   int SendEvent(const IEventInfo& info, std::shared_ptr<item::AbstractItem> noti);
   void OnEvent(const IEventInfo& info, std::list<Bundle> serialized) override;
   std::list<Bundle> OnRequest(const IEventInfo& info) override;
   void SendError(const IEventInfo& info, NotificationError error);
+  int GetCount() const;
   static std::string GetPath();
 
  protected:
index d4daf35..5bfbaec 100644 (file)
@@ -96,6 +96,11 @@ int Reporter::Delete(std::shared_ptr<AbstractItem> noti) {
   return impl_->SendNotify(noti, EventInfo::Delete);
 }
 
+int Reporter::DeleteAll() {
+  //TODO
+  return -1;
+}
+
 std::shared_ptr<AbstractItem> Reporter::FindByRootID(std::string id) {
   Bundle serialized;
   EventInfo info(EventInfo::Get, util::GetAppId(), "", id);
index 5980643..77620dc 100644 (file)
@@ -46,6 +46,7 @@ class EXPORT_API Reporter : public IEventObserver {
   int Post(std::list<std::shared_ptr<item::AbstractItem>> notiList);
   int Update(std::shared_ptr<item::AbstractItem> noti);
   int Delete(std::shared_ptr<item::AbstractItem> noti);
+  int DeleteAll();
   std::shared_ptr<item::AbstractItem> FindByRootID(std::string id);
   virtual void OnEvent(const IEventInfo& info,
       std::list<std::shared_ptr<item::AbstractItem>> notiList);