[messaging] Replace MessageFolder class with plain json part 1. 84/218984/7
authorMichal Michalski <m.michalski2@partner.samsung.com>
Fri, 29 Nov 2019 08:34:43 +0000 (09:34 +0100)
committerMichal Michalski <m.michalski2@partner.samsung.com>
Fri, 6 Dec 2019 08:28:41 +0000 (09:28 +0100)
+ MessageFolder::filterFolders() method converted to function and removed from the header.
+ Replace MessageUtils::folderToJson() with MessageFolder::toJSON() method.
+ Replace all MessageFolder attributes with single picojson object.
+ Move folder-related methods and types from messaging_util to message_folder module.
+ Replace jsonToFolder() method with MessageFolder(picojson::value) constructor.

[Verification] tct-messaging-*-tizen-tests 100% pass.

Signed-off-by: Michal Michalski <m.michalski2@partner.samsung.com>
Change-Id: I08143e5fa65978a6979b4a9a1753cfba8adaa3ed

src/messaging/DBus/MessageProxy.cpp
src/messaging/folders_change_callback.cc
src/messaging/folders_change_callback.h
src/messaging/message_folder.cc
src/messaging/message_folder.h
src/messaging/message_storage_email.cc
src/messaging/message_storage_short_msg.cc
src/messaging/messaging_instance.cc
src/messaging/messaging_util.cc
src/messaging/messaging_util.h

index b3205dc..91d01f4 100644 (file)
@@ -251,7 +251,7 @@ PlatformResult MessageProxy::handleMailboxEvent(int account_id, int mailbox_id,
   EventFolders* eventFolder = new EventFolders();
   eventFolder->service_type = MessageType::EMAIL;
   eventFolder->service_id = account_id;
-  FolderPtr folder;
+  std::shared_ptr<MessageFolder> folder;
   if (event == NOTI_MAILBOX_DELETE) {
     // this event is triggered after mailbox is removed
     // so we just create folder with id
index 97f19a0..8484f58 100644 (file)
@@ -30,6 +30,38 @@ const char* FOLDERSADDED = "foldersadded";
 const char* FOLDERSUPDATED = "foldersupdated";
 const char* FOLDERSREMOVED = "foldersremoved";
 
+namespace {
+
+FolderPtrVector filterFolders(tizen::AbstractFilterPtr filter,
+                              const FolderPtrVector& source_folders) {
+  ScopeLogger();
+
+  if (!filter) {
+    LoggerW("Filer is null.");
+    return source_folders;
+  }
+
+  FolderPtrVector filtered_folders;
+  FolderPtrVector::const_iterator it = source_folders.begin();
+  FolderPtrVector::const_iterator end_it = source_folders.end();
+
+  for (int i = 0; it != end_it; ++i, ++it) {
+    const FolderPtr& folder = *it;
+    const bool matched = filter->isMatching(folder.get());
+    if (matched) {
+      filtered_folders.push_back(folder);
+    }
+
+    LoggerD("[%d] folder id:%s", i, folder->getId().c_str());
+    LoggerD("[%d] folder name:%s", i, folder->getName().c_str());
+    LoggerD("[%d] matched filter: %s", i, matched ? "YES" : "NO");
+  }
+
+  return filtered_folders;
+}
+
+}  // namespace
+
 FoldersChangeCallback::FoldersChangeCallback(int service_id, MessageType service_type,
                                              MessagingInstance& instance)
     : m_id(service_id), m_msg_type(service_type), m_is_act(true), m_messaging_instance(instance) {
@@ -40,33 +72,6 @@ FoldersChangeCallback::~FoldersChangeCallback() {
   ScopeLogger();
 }
 
-FolderPtrVector FoldersChangeCallback::filterFolders(tizen::AbstractFilterPtr filter,
-                                                     const FolderPtrVector& source_folders) {
-  ScopeLogger();
-  if (filter) {
-    LoggerD("filter pointer is valid");
-    FolderPtrVector filtered_folders;
-    FolderPtrVector::const_iterator it = source_folders.begin();
-    FolderPtrVector::const_iterator end_it = source_folders.end();
-
-    for (int i = 0; it != end_it; ++i, ++it) {
-      const FolderPtr& folder = *it;
-      const bool matched = filter->isMatching(folder.get());
-      if (matched) {
-        filtered_folders.push_back(folder);
-      }
-
-      LoggerD("[%d] folder id:%s", i, folder->getId().c_str());
-      LoggerD("[%d] folder name:%s", i, folder->getName().c_str());
-      LoggerD("[%d] matched filter: %s", i, matched ? "YES" : "NO");
-    }
-
-    return filtered_folders;
-  } else {
-    return source_folders;
-  }
-}
-
 void FoldersChangeCallback::Handler(const FolderPtrVector& folders, const char* action) {
   ScopeLogger("action: %s, folders.size() = %zu", action, folders.size());
   if (!m_is_act) {
@@ -80,9 +85,7 @@ void FoldersChangeCallback::Handler(const FolderPtrVector& folders, const char*
   }
 
   picojson::array array;
-  auto each = [&array](std::shared_ptr<MessageFolder> f) -> void {
-    array.push_back(MessagingUtil::folderToJson(f));
-  };
+  auto each = [&array](std::shared_ptr<MessageFolder> f) -> void { array.push_back(f->toJSON()); };
   for_each(filtered.begin(), filtered.end(), each);
 
   LoggerD("Calling:%s with:%zu added folders", action, filtered.size());
index b3d0d01..77fe73e 100644 (file)
@@ -48,9 +48,6 @@ class FoldersChangeCallback {
   MessageType getServiceType() const;
 
  private:
-  static FolderPtrVector filterFolders(tizen::AbstractFilterPtr filter,
-                                       const FolderPtrVector& source_folders);
-
   tizen::AbstractFilterPtr m_filter;
   int m_id;
   MessageType m_msg_type;
index c0e9889..9be347d 100644 (file)
@@ -23,119 +23,146 @@ namespace messaging {
 
 using namespace tizen;
 
-MessageFolder::MessageFolder(std::string id, std::string parent_id, std::string service_id,
-                             std::string content_type, std::string name, std::string path,
-                             MessageFolderType type, bool synchronizable)
-    : m_id(id),
-      m_parent_id(parent_id),
-      m_parent_id_set(true),
-      m_service_id(service_id),
-      m_content_type(content_type),
-      m_name(name),
-      m_path(path),
-      m_type(type),
-      m_synchronizable(synchronizable) {
+namespace {
+const std::string FOLDER_TYPE_INBOX = "INBOX";
+const std::string FOLDER_TYPE_OUTBOX = "OUTBOX";
+const std::string FOLDER_TYPE_DRAFTS = "DRAFTS";
+const std::string FOLDER_TYPE_SENTBOX = "SENTBOX";
+
+MessageFolderType convertPlatformFolderType(email_mailbox_type_e folderType) {
+  ScopeLogger();
+  switch (folderType) {
+    case email_mailbox_type_e::EMAIL_MAILBOX_TYPE_INBOX:
+      return MessageFolderType::MESSAGE_FOLDER_TYPE_INBOX;
+    case email_mailbox_type_e::EMAIL_MAILBOX_TYPE_SENTBOX:
+      return MessageFolderType::MESSAGE_FOLDER_TYPE_SENTBOX;
+    case email_mailbox_type_e::EMAIL_MAILBOX_TYPE_DRAFT:
+      return MessageFolderType::MESSAGE_FOLDER_TYPE_DRAFTS;
+    case email_mailbox_type_e::EMAIL_MAILBOX_TYPE_OUTBOX:
+      return MessageFolderType::MESSAGE_FOLDER_TYPE_OUTBOX;
+    case email_mailbox_type_e::EMAIL_MAILBOX_TYPE_ALL_EMAILS:
+      return MessageFolderType::MESSAGE_FOLDER_TYPE_NOTSTANDARD;
+    default:
+      return MessageFolderType::MESSAGE_FOLDER_TYPE_NOTSTANDARD;
+  }
+}
+}  // namespace
+
+std::string messageFolderTypeToString(MessageFolderType type) {
   ScopeLogger();
+  switch (type) {
+    case MessageFolderType::MESSAGE_FOLDER_TYPE_INBOX:
+      return FOLDER_TYPE_INBOX;
+    case MessageFolderType::MESSAGE_FOLDER_TYPE_OUTBOX:
+      return FOLDER_TYPE_OUTBOX;
+    case MessageFolderType::MESSAGE_FOLDER_TYPE_DRAFTS:
+      return FOLDER_TYPE_DRAFTS;
+    case MessageFolderType::MESSAGE_FOLDER_TYPE_SENTBOX:
+      return FOLDER_TYPE_SENTBOX;
+    default:
+      return "";
+  }
 }
 
-MessageFolder::MessageFolder(email_mailbox_t mailbox) {
+MessageFolderType stringToMessageFolderType(const std::string& type) {
   ScopeLogger();
-  m_id = std::to_string(mailbox.mailbox_id);
-  m_parent_id_set = false;
-  m_service_id = std::to_string(mailbox.account_id);
-  m_content_type = MessagingUtil::messageTypeToString(EMAIL);
-  m_name = mailbox.alias;
-  m_path = mailbox.mailbox_name;
-  m_type = convertPlatformFolderType(mailbox.mailbox_type);
-  if (0 == mailbox.local) {
-    m_synchronizable = true;
-  } else {
-    m_synchronizable = false;
+  if (FOLDER_TYPE_INBOX == type) {
+    return MessageFolderType::MESSAGE_FOLDER_TYPE_INBOX;
+  }
+  if (FOLDER_TYPE_OUTBOX == type) {
+    return MessageFolderType::MESSAGE_FOLDER_TYPE_OUTBOX;
   }
+  if (FOLDER_TYPE_DRAFTS == type) {
+    return MessageFolderType::MESSAGE_FOLDER_TYPE_DRAFTS;
+  }
+  if (FOLDER_TYPE_SENTBOX == type) {
+    return MessageFolderType::MESSAGE_FOLDER_TYPE_SENTBOX;
+  }
+  return MessageFolderType::MESSAGE_FOLDER_TYPE_NOTSTANDARD;
+}
+
+MessageFolder::MessageFolder(const std::string& id, const std::string& parent_id,
+                             const std::string& service_id, const std::string& content_type,
+                             const std::string& name, const std::string& path,
+                             MessageFolderType type, bool synchronizable) {
+  ScopeLogger();
+  attributes["id"] = picojson::value(id);
+  attributes["parentId"] = picojson::value(parent_id);
+  attributes["serviceId"] = picojson::value(service_id);
+  attributes["contentType"] = picojson::value(content_type);
+  attributes["name"] = picojson::value(name);
+  attributes["path"] = picojson::value(path);
+  attributes["type"] = picojson::value(static_cast<double>(type));
+  attributes["synchronizable"] = picojson::value(synchronizable);
+}
+
+MessageFolder::MessageFolder(email_mailbox_t mailbox)
+    : MessageFolder(std::to_string(mailbox.mailbox_id), "", std::to_string(mailbox.account_id),
+                    MessagingUtil::messageTypeToString(EMAIL), mailbox.alias, mailbox.mailbox_name,
+                    convertPlatformFolderType(mailbox.mailbox_type), mailbox.local == 0) {
+  ScopeLogger("from email_mailbox_t");
+}
+
+MessageFolder::MessageFolder(const picojson::value& json) {
+  ScopeLogger("from json");
+  attributes = json.get<picojson::object>();
 }
 
 std::string MessageFolder::getId() const {
-  return m_id;
+  return attributes.at("id").get<std::string>();
 }
 
 std::string MessageFolder::getParentId() const {
-  return m_parent_id;
+  return attributes.at("parentId").get<std::string>();
 }
 
 bool MessageFolder::isParentIdSet() const {
-  return m_parent_id_set;
+  return attributes.at("parentId").is<std::string>() &&
+         not attributes.at("parentId").get<std::string>().empty();
 }
 
 void MessageFolder::setParentId(const std::string& parentId) {
-  m_parent_id = parentId;
-  m_parent_id_set = true;
+  attributes["parentId"] = picojson::value(parentId);
 }
 
 std::string MessageFolder::getServiceId() const {
-  return m_service_id;
+  return attributes.at("serviceId").get<std::string>();
 }
 
 std::string MessageFolder::getContentType() const {
-  return m_content_type;
+  return attributes.at("contentType").get<std::string>();
 }
 
 std::string MessageFolder::getName() const {
-  return m_name;
+  return attributes.at("name").get<std::string>();
+}
+
+void MessageFolder::setName(const std::string& value) {
+  attributes["name"] = picojson::value(value);
 }
 
 std::string MessageFolder::getPath() const {
-  return m_path;
+  return attributes.at("path").get<std::string>();
 }
 
 MessageFolderType MessageFolder::getType() const {
-  return m_type;
+  return static_cast<MessageFolderType>(static_cast<int>(attributes.at("type").get<double>()));
 }
 
 bool MessageFolder::getSynchronizable() const {
-  return m_synchronizable;
-}
-
-void MessageFolder::setName(const std::string& value) {
-  m_name = value;
+  return attributes.at("synchronizable").get<bool>();
 }
 
 void MessageFolder::setSynchronizable(const bool& value) {
-  m_synchronizable = value;
+  attributes.at("synchronizable") = picojson::value(value);
 }
 
-MessageFolderType MessageFolder::convertPlatformFolderType(email_mailbox_type_e folderType) {
-  ScopeLogger();
-  switch (folderType) {
-    case email_mailbox_type_e::EMAIL_MAILBOX_TYPE_INBOX:
-      return MessageFolderType::MESSAGE_FOLDER_TYPE_INBOX;
-    case email_mailbox_type_e::EMAIL_MAILBOX_TYPE_SENTBOX:
-      return MessageFolderType::MESSAGE_FOLDER_TYPE_SENTBOX;
-    case email_mailbox_type_e::EMAIL_MAILBOX_TYPE_DRAFT:
-      return MessageFolderType::MESSAGE_FOLDER_TYPE_DRAFTS;
-    case email_mailbox_type_e::EMAIL_MAILBOX_TYPE_OUTBOX:
-      return MessageFolderType::MESSAGE_FOLDER_TYPE_OUTBOX;
-    case email_mailbox_type_e::EMAIL_MAILBOX_TYPE_ALL_EMAILS:
-      return MessageFolderType::MESSAGE_FOLDER_TYPE_NOTSTANDARD;
-    default:
-      return MessageFolderType::MESSAGE_FOLDER_TYPE_NOTSTANDARD;
-  }
+picojson::value MessageFolder::toJSON() const {
+  picojson::value json(attributes);
+  json.get<picojson::object>()["type"] = picojson::value(messageFolderTypeToString(getType()));
+  return json;
 }
 
-/**
- *
- *  Attribute      | Attribute filter| Attribute range filter
- *                 | supported       | supported
- * ----------------+-----------------+------------------------
- *  id             | Yes             | No
- *  parentId       | Yes             | No
- *  serviceId      | Yes             | No
- *  contentType    | Yes             | No
- *  name           | Yes             | No
- *  path           | Yes             | No
- *  type           | Yes             | No
- *  synchronizable | Yes             | No
- */
-
 bool MessageFolder::isMatchingAttribute(const std::string& attribute_name,
                                         const common::AttributeMatchFlag match_flag,
                                         AnyPtr match_value) const {
@@ -144,8 +171,7 @@ bool MessageFolder::isMatchingAttribute(const std::string& attribute_name,
           common::AttributeMatchFlagToString(match_flag).c_str(), match_value->toString().c_str());
 
   if (common::AttributeMatchFlag::kExists == match_flag) {
-    return m_message_folder_filterable_attributes.find(attribute_name) !=
-           m_message_folder_filterable_attributes.end();
+    return attributes.find(attribute_name) != attributes.end();
   }
 
   if (MESSAGE_FOLDER_ATTRIBUTE_ID == attribute_name) {
@@ -161,8 +187,7 @@ bool MessageFolder::isMatchingAttribute(const std::string& attribute_name,
   } else if (MESSAGE_FOLDER_ATTRIBUTE_PATH == attribute_name) {
     return FilterUtils::isMatching(*match_value, getPath(), match_flag);
   } else if (MESSAGE_FOLDER_ATTRIBUTE_TYPE == attribute_name) {
-    return FilterUtils::isMatching(*match_value,
-                                   MessagingUtil::messageFolderTypeToString(getType()), match_flag);
+    return FilterUtils::isMatching(*match_value, messageFolderTypeToString(getType()), match_flag);
   } else if (MESSAGE_FOLDER_ATTRIBUTE_SYNCHRONIZABLE == attribute_name) {
     return FilterUtils::isMatching(*match_value, getSynchronizable(), match_flag);
   }
@@ -178,17 +203,5 @@ bool MessageFolder::isMatchingAttributeRange(const std::string& attribute_name,
   return false;
 }
 
-// clang-format off
-const std::set<std::string> MessageFolder::m_message_folder_filterable_attributes = {
-    MESSAGE_FOLDER_ATTRIBUTE_ID,
-    MESSAGE_FOLDER_ATTRIBUTE_PARENT_ID,
-    MESSAGE_FOLDER_ATTRIBUTE_SERVICE_ID,
-    MESSAGE_FOLDER_ATTRIBUTE_CONTENT_TYPE,
-    MESSAGE_FOLDER_ATTRIBUTE_NAME,
-    MESSAGE_FOLDER_ATTRIBUTE_PATH,
-    MESSAGE_FOLDER_ATTRIBUTE_TYPE,
-    MESSAGE_FOLDER_ATTRIBUTE_SYNCHRONIZABLE};
-// clang-format on
-
 }  // messaging
 }  // extension
index e88e54c..6969953 100644 (file)
@@ -37,22 +37,14 @@ enum MessageFolderType {
   MESSAGE_FOLDER_TYPE_NOTSTANDARD
 };
 
-class MessageFolder;
-
-struct MessageFolderHolder {
-  std::shared_ptr<MessageFolder> ptr;
-};
-
-typedef std::shared_ptr<MessageFolder> FolderPtr;
-
-typedef std::vector<FolderPtr> FolderPtrVector;
-
 class MessageFolder : public tizen::FilterableObject {
  public:
-  MessageFolder(std::string id, std::string parent_id, std::string service_id,
-                std::string content_type, std::string name, std::string path,
+  MessageFolder(const std::string& id, const std::string& parent_id, const std::string& service_id,
+                const std::string& content_type, const std::string& name, const std::string& path,
                 MessageFolderType type, bool synchronizable);
+
   MessageFolder(email_mailbox_t mailbox);
+  MessageFolder(const picojson::value& json);
 
   std::string getId() const;
   std::string getParentId() const;
@@ -66,30 +58,24 @@ class MessageFolder : public tizen::FilterableObject {
   MessageFolderType getType() const;
   bool getSynchronizable() const;
   void setSynchronizable(const bool& value);
+  picojson::value toJSON() const;
 
-  // tizen::FilterableObject
   virtual bool isMatchingAttribute(const std::string& attribute_name,
                                    const common::AttributeMatchFlag match_flag,
-                                   tizen::AnyPtr match_value) const;
-
+                                   tizen::AnyPtr match_value) const override;
   virtual bool isMatchingAttributeRange(const std::string& attribute_name,
-                                        tizen::AnyPtr initial_value, tizen::AnyPtr end_value) const;
+                                        tizen::AnyPtr initial_value,
+                                        tizen::AnyPtr end_value) const override;
 
  private:
-  MessageFolderType convertPlatformFolderType(email_mailbox_type_e folderType);
+  picojson::object attributes;
+};
 
-  std::string m_id;
-  std::string m_parent_id;
-  bool m_parent_id_set;
-  std::string m_service_id;
-  std::string m_content_type;
-  std::string m_name;
-  std::string m_path;
-  MessageFolderType m_type;
-  bool m_synchronizable;
+typedef std::shared_ptr<MessageFolder> FolderPtr;
+typedef std::vector<FolderPtr> FolderPtrVector;
 
-  static const std::set<std::string> m_message_folder_filterable_attributes;
-};
+std::string messageFolderTypeToString(MessageFolderType);
+MessageFolderType stringToMessageFolderType(std::string type);
 
 }  // messaging
 }  // extension
index c0b7160..49be823 100644 (file)
@@ -231,7 +231,7 @@ static gboolean FindFoldersGlibTask(void* data) {
   auto& folders_list = json.get<picojson::array>();
   for (const auto& folder : folders) {
     if (params->filter->isMatching(&folder)) {
-      folders_list.push_back(MessagingUtil::folderToJson(folder));
+      folders_list.push_back(folder.toJSON());
     }
   }
 
index b653c92..c1dd350 100644 (file)
@@ -209,18 +209,17 @@ static gboolean findFoldersCB(void* data) {
   std::unique_ptr<FindFoldersTaskParams> params(static_cast<FindFoldersTaskParams*>(data));
 
   std::string content_type = params->message_type;
-  FolderPtr folder;
+  std::shared_ptr<MessageFolder> folder;
   picojson::object response;
 
   picojson::array array;
   for (int i = MESSAGE_FOLDER_TYPE_INBOX; i < MESSAGE_FOLDER_TYPE_NOTSTANDARD; ++i) {
-    MessageFolder folder(
-        std::to_string(i), "", std::to_string(params->account_id), content_type,
-        MessagingUtil::messageFolderTypeToString(static_cast<MessageFolderType>(i)), "",
-        static_cast<MessageFolderType>(i), false);
+    MessageFolder folder(std::to_string(i), "", std::to_string(params->account_id), content_type,
+                         messageFolderTypeToString(static_cast<MessageFolderType>(i)), "",
+                         static_cast<MessageFolderType>(i), false);
 
     if (params->filter->isMatching(&folder)) {
-      array.push_back(MessagingUtil::folderToJson(folder));
+      array.push_back(folder.toJSON());
     }
   }
 
index 91551a4..1b4c291 100644 (file)
@@ -345,7 +345,7 @@ void MessagingInstance::MessageServiceSyncFolder(const picojson::value& args,
 
   SyncFolderCallbackData* callback = new SyncFolderCallbackData(queue_, callbackId, *this);
   callback->setAccountId(id);
-  callback->setMessageFolder(MessagingUtil::jsonToMessageFolder(v_folder));
+  callback->setMessageFolder(std::make_shared<MessageFolder>(v_folder));
   callback->setLimit(limit);
 
   callback->AddToQueue();
index 85a9ab0..acee56a 100644 (file)
@@ -143,46 +143,8 @@ const std::map<std::string, MessageType> stringToTypeMap = {
 const std::map<MessageType, std::string> typeToStringMap = {
     {MessageType::SMS, TYPE_SMS}, {MessageType::MMS, TYPE_MMS}, {MessageType::EMAIL, TYPE_EMAIL}};
 
-const std::string FOLDER_TYPE_INBOX = "INBOX";
-const std::string FOLDER_TYPE_OUTBOX = "OUTBOX";
-const std::string FOLDER_TYPE_DRAFTS = "DRAFTS";
-const std::string FOLDER_TYPE_SENTBOX = "SENTBOX";
-
 }  // namespace
 
-std::string MessagingUtil::messageFolderTypeToString(MessageFolderType type) {
-  ScopeLogger();
-  switch (type) {
-    case MessageFolderType::MESSAGE_FOLDER_TYPE_INBOX:
-      return FOLDER_TYPE_INBOX;
-    case MessageFolderType::MESSAGE_FOLDER_TYPE_OUTBOX:
-      return FOLDER_TYPE_OUTBOX;
-    case MessageFolderType::MESSAGE_FOLDER_TYPE_DRAFTS:
-      return FOLDER_TYPE_DRAFTS;
-    case MessageFolderType::MESSAGE_FOLDER_TYPE_SENTBOX:
-      return FOLDER_TYPE_SENTBOX;
-    default:
-      return "";
-  }
-}
-
-MessageFolderType MessagingUtil::stringToMessageFolderType(std::string type) {
-  ScopeLogger();
-  if (FOLDER_TYPE_INBOX == type) {
-    return MessageFolderType::MESSAGE_FOLDER_TYPE_INBOX;
-  }
-  if (FOLDER_TYPE_OUTBOX == type) {
-    return MessageFolderType::MESSAGE_FOLDER_TYPE_OUTBOX;
-  }
-  if (FOLDER_TYPE_DRAFTS == type) {
-    return MessageFolderType::MESSAGE_FOLDER_TYPE_DRAFTS;
-  }
-  if (FOLDER_TYPE_SENTBOX == type) {
-    return MessageFolderType::MESSAGE_FOLDER_TYPE_SENTBOX;
-  }
-  return MessageFolderType::MESSAGE_FOLDER_TYPE_NOTSTANDARD;
-}
-
 PlatformResult MessagingUtil::stringToMessageType(const std::string& str, MessageType* out) {
   ScopeLogger();
   const auto it = stringToTypeMap.find(str);
@@ -668,26 +630,6 @@ picojson::value MessagingUtil::conversationToJson(
   return v;
 }
 
-picojson::value MessagingUtil::folderToJson(const MessageFolder& folder) {
-  ScopeLogger();
-  picojson::object o;
-  o[MESSAGE_FOLDER_ATTRIBUTE_ID] = picojson::value(folder.getId());
-  o[MESSAGE_FOLDER_ATTRIBUTE_PARENT_ID] =
-      folder.isParentIdSet() ? picojson::value(folder.getParentId()) : picojson::value();
-  o[MESSAGE_FOLDER_ATTRIBUTE_SERVICE_ID] = picojson::value(folder.getServiceId());
-  o[MESSAGE_FOLDER_ATTRIBUTE_CONTENT_TYPE] = picojson::value(folder.getContentType());
-  o[MESSAGE_FOLDER_ATTRIBUTE_NAME] = picojson::value(folder.getName());
-  o[MESSAGE_FOLDER_ATTRIBUTE_PATH] = picojson::value(folder.getPath());
-  o[MESSAGE_FOLDER_ATTRIBUTE_TYPE] =
-      picojson::value(MessagingUtil::messageFolderTypeToString(folder.getType()));
-  o[MESSAGE_FOLDER_ATTRIBUTE_SYNCHRONIZABLE] = picojson::value(folder.getSynchronizable());
-  return picojson::value(o);
-}
-
-picojson::value MessagingUtil::folderToJson(std::shared_ptr<MessageFolder> folder) {
-  return folderToJson(*folder);
-}
-
 PlatformResult MessagingUtil::jsonToMessage(const picojson::value& json,
                                             std::shared_ptr<Message>* result_message,
                                             MessagingInstance& instance) {
@@ -852,48 +794,6 @@ std::shared_ptr<MessageBody> MessagingUtil::jsonToMessageBody(const picojson::va
   return body;
 }
 
-std::shared_ptr<MessageFolder> MessagingUtil::jsonToMessageFolder(const picojson::value& json) {
-  ScopeLogger();
-
-  picojson::object data = json.get<picojson::object>();
-
-  std::string id =
-      MessagingUtil::getValueFromJSONObject<std::string>(data, MESSAGE_FOLDER_ATTRIBUTE_ID).c_str();
-
-  std::string parent_id =
-      MessagingUtil::getValueFromJSONObject<std::string>(data, MESSAGE_FOLDER_ATTRIBUTE_PARENT_ID)
-          .c_str();
-
-  std::string service_id =
-      MessagingUtil::getValueFromJSONObject<std::string>(data, MESSAGE_FOLDER_ATTRIBUTE_SERVICE_ID)
-          .c_str();
-
-  std::string content_type = MessagingUtil::getValueFromJSONObject<std::string>(
-                                 data, MESSAGE_FOLDER_ATTRIBUTE_CONTENT_TYPE)
-                                 .c_str();
-
-  std::string name =
-      MessagingUtil::getValueFromJSONObject<std::string>(data, MESSAGE_FOLDER_ATTRIBUTE_NAME)
-          .c_str();
-
-  std::string path =
-      MessagingUtil::getValueFromJSONObject<std::string>(data, MESSAGE_FOLDER_ATTRIBUTE_PATH)
-          .c_str();
-
-  std::string type_str =
-      MessagingUtil::getValueFromJSONObject<std::string>(data, MESSAGE_FOLDER_ATTRIBUTE_TYPE)
-          .c_str();
-  MessageFolderType type = MessagingUtil::stringToMessageFolderType(type_str);
-
-  bool synchronizable =
-      MessagingUtil::getValueFromJSONObject<bool>(data, MESSAGE_FOLDER_ATTRIBUTE_SYNCHRONIZABLE);
-
-  std::shared_ptr<MessageFolder> folder = std::shared_ptr<MessageFolder>(
-      new MessageFolder(id, parent_id, service_id, content_type, name, path, type, synchronizable));
-
-  return folder;
-}
-
 tizen::SortModePtr MessagingUtil::jsonToSortMode(const picojson::object& json) {
   ScopeLogger();
   using namespace tizen;
index cbcf8bc..785189b 100644 (file)
@@ -124,8 +124,6 @@ class MessagingInstance;
 
 class MessagingUtil {
  public:
-  static std::string messageFolderTypeToString(MessageFolderType);
-  static MessageFolderType stringToMessageFolderType(std::string type);
   static common::PlatformResult stringToMessageType(const std::string& str, MessageType* out);
   static common::PlatformResult messageTypeToString(MessageType type, std::string* out);
   static std::string messageTypeToString(MessageType type);
@@ -138,15 +136,10 @@ class MessagingUtil {
   static picojson::value messageToJson(std::shared_ptr<Message> message);
   static picojson::value messageAttachmentToJson(std::shared_ptr<MessageAttachment> attachment);
   static picojson::value conversationToJson(std::shared_ptr<MessageConversation> conversation);
-
-  static picojson::value folderToJson(const MessageFolder& folder);
-  static picojson::value folderToJson(std::shared_ptr<MessageFolder> folder);
-
   static common::PlatformResult jsonToMessage(const picojson::value& json,
                                               std::shared_ptr<Message>* result,
                                               MessagingInstance& instance);
   static std::shared_ptr<MessageBody> jsonToMessageBody(const picojson::value& json);
-  static std::shared_ptr<MessageFolder> jsonToMessageFolder(const picojson::value& json);
   static tizen::SortModePtr jsonToSortMode(const picojson::object& json);
   static common::PlatformResult jsonToAbstractFilter(const picojson::object& json,
                                                      tizen::AbstractFilterPtr* result);