Release version 0.7.18
[platform/core/api/notification.git] / notification-ex / text_item.cc
index 64b0773..b25cdbe 100644 (file)
@@ -20,7 +20,7 @@
 
 #include "notification-ex/text_item.h"
 #include "notification-ex/text_item_implementation.h"
-#include "notification-ex/item_factory.h"
+#include "notification-ex/factory_manager.h"
 
 #ifdef LOG_TAG
 #undef LOG_TAG
 #define TEXT_CONTENTS_KEY "__TEXT_CONTENTS_KEY__"
 #define TEXT_HYPERLINK_KEY "__TEXT_HYPERLINK_KEY__"
 
+using namespace tizen_base;
+
 namespace notification {
 namespace item {
-TextItem::TextItem(std::string text, std::shared_ptr<AbstractAction> action)
-  : AbstractItem(AbstractItem::Type::Text), impl_(new Impl(text)) {
-}
-
-TextItem::TextItem(std::string id, std::string text,
-      std::shared_ptr<AbstractAction> action)
-  : AbstractItem(id, AbstractItem::Type::Text), impl_(new Impl(text)) {
+TextItem::TextItem(std::string id, std::string text, std::string hyperlink,
+    std::shared_ptr<AbstractAction> action)
+    : AbstractItem(id, action), impl_(new Impl(this, text, hyperlink)) {
 }
 
-TextItem::Impl::Impl(std::string text)
-  : text_(text) {
+TextItem::Impl::Impl(TextItem* parent, std::string text, std::string hyperlink)
+    : parent_(parent), text_(text), hyperlink_(hyperlink) {
   LOGI("TextItem created");
 }
 
 TextItem::~TextItem() = default;
 TextItem::Impl::~Impl() = default;
 
-Bundle TextItem::Serialize() {
+int TextItem::GetType() const {
+  return AbstractItem::Text;
+}
+
+Bundle TextItem::Serialize() const {
   Bundle b;
   b = AbstractItem::Serialize();
 
@@ -68,10 +70,10 @@ void TextItem::Deserialize(Bundle b) {
   impl_->hyperlink_ = b.GetString(TEXT_HYPERLINK_KEY);
 }
 
-AbstractItem& TextItem::FindByID(std::string id) {
-  if (GetId() == id)
-    return *this;
-  return ItemFactory::GetNullItem();
+bool TextItem::IsItemTypeExist(int type) {
+  if (GetType() == type)
+    return true;
+  return false;
 }
 
 void TextItem::SetContents(std::string contents) {
@@ -87,4 +89,4 @@ std::string TextItem::GetHyperLink() const {
 }
 
 }  // namespace item
-}  // namespace notification
\ No newline at end of file
+}  // namespace notification