From: Michal Michalski Date: Fri, 29 Nov 2019 08:34:43 +0000 (+0100) Subject: [messaging] Replace MessageFolder class with plain json part 1. X-Git-Tag: accepted/tizen/unified/20191212.123659~11^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F84%2F218984%2F7;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git [messaging] Replace MessageFolder class with plain json part 1. + 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 Change-Id: I08143e5fa65978a6979b4a9a1753cfba8adaa3ed --- diff --git a/src/messaging/DBus/MessageProxy.cpp b/src/messaging/DBus/MessageProxy.cpp index b3205dc..91d01f4 100644 --- a/src/messaging/DBus/MessageProxy.cpp +++ b/src/messaging/DBus/MessageProxy.cpp @@ -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 folder; if (event == NOTI_MAILBOX_DELETE) { // this event is triggered after mailbox is removed // so we just create folder with id diff --git a/src/messaging/folders_change_callback.cc b/src/messaging/folders_change_callback.cc index 97f19a0..8484f58 100644 --- a/src/messaging/folders_change_callback.cc +++ b/src/messaging/folders_change_callback.cc @@ -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 f) -> void { - array.push_back(MessagingUtil::folderToJson(f)); - }; + auto each = [&array](std::shared_ptr f) -> void { array.push_back(f->toJSON()); }; for_each(filtered.begin(), filtered.end(), each); LoggerD("Calling:%s with:%zu added folders", action, filtered.size()); diff --git a/src/messaging/folders_change_callback.h b/src/messaging/folders_change_callback.h index b3d0d01..77fe73e 100644 --- a/src/messaging/folders_change_callback.h +++ b/src/messaging/folders_change_callback.h @@ -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; diff --git a/src/messaging/message_folder.cc b/src/messaging/message_folder.cc index c0e9889..9be347d 100644 --- a/src/messaging/message_folder.cc +++ b/src/messaging/message_folder.cc @@ -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(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(); } std::string MessageFolder::getId() const { - return m_id; + return attributes.at("id").get(); } std::string MessageFolder::getParentId() const { - return m_parent_id; + return attributes.at("parentId").get(); } bool MessageFolder::isParentIdSet() const { - return m_parent_id_set; + return attributes.at("parentId").is() && + not attributes.at("parentId").get().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 MessageFolder::getContentType() const { - return m_content_type; + return attributes.at("contentType").get(); } std::string MessageFolder::getName() const { - return m_name; + return attributes.at("name").get(); +} + +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(); } MessageFolderType MessageFolder::getType() const { - return m_type; + return static_cast(static_cast(attributes.at("type").get())); } bool MessageFolder::getSynchronizable() const { - return m_synchronizable; -} - -void MessageFolder::setName(const std::string& value) { - m_name = value; + return attributes.at("synchronizable").get(); } 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()["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 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 diff --git a/src/messaging/message_folder.h b/src/messaging/message_folder.h index e88e54c..6969953 100644 --- a/src/messaging/message_folder.h +++ b/src/messaging/message_folder.h @@ -37,22 +37,14 @@ enum MessageFolderType { MESSAGE_FOLDER_TYPE_NOTSTANDARD }; -class MessageFolder; - -struct MessageFolderHolder { - std::shared_ptr ptr; -}; - -typedef std::shared_ptr FolderPtr; - -typedef std::vector 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 FolderPtr; +typedef std::vector FolderPtrVector; - static const std::set m_message_folder_filterable_attributes; -}; +std::string messageFolderTypeToString(MessageFolderType); +MessageFolderType stringToMessageFolderType(std::string type); } // messaging } // extension diff --git a/src/messaging/message_storage_email.cc b/src/messaging/message_storage_email.cc index c0b7160..49be823 100644 --- a/src/messaging/message_storage_email.cc +++ b/src/messaging/message_storage_email.cc @@ -231,7 +231,7 @@ static gboolean FindFoldersGlibTask(void* data) { auto& folders_list = json.get(); for (const auto& folder : folders) { if (params->filter->isMatching(&folder)) { - folders_list.push_back(MessagingUtil::folderToJson(folder)); + folders_list.push_back(folder.toJSON()); } } diff --git a/src/messaging/message_storage_short_msg.cc b/src/messaging/message_storage_short_msg.cc index b653c92..c1dd350 100644 --- a/src/messaging/message_storage_short_msg.cc +++ b/src/messaging/message_storage_short_msg.cc @@ -209,18 +209,17 @@ static gboolean findFoldersCB(void* data) { std::unique_ptr params(static_cast(data)); std::string content_type = params->message_type; - FolderPtr folder; + std::shared_ptr 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(i)), "", - static_cast(i), false); + MessageFolder folder(std::to_string(i), "", std::to_string(params->account_id), content_type, + messageFolderTypeToString(static_cast(i)), "", + static_cast(i), false); if (params->filter->isMatching(&folder)) { - array.push_back(MessagingUtil::folderToJson(folder)); + array.push_back(folder.toJSON()); } } diff --git a/src/messaging/messaging_instance.cc b/src/messaging/messaging_instance.cc index 91551a4..1b4c291 100644 --- a/src/messaging/messaging_instance.cc +++ b/src/messaging/messaging_instance.cc @@ -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(v_folder)); callback->setLimit(limit); callback->AddToQueue(); diff --git a/src/messaging/messaging_util.cc b/src/messaging/messaging_util.cc index 85a9ab0..acee56a 100644 --- a/src/messaging/messaging_util.cc +++ b/src/messaging/messaging_util.cc @@ -143,46 +143,8 @@ const std::map stringToTypeMap = { const std::map 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 folder) { - return folderToJson(*folder); -} - PlatformResult MessagingUtil::jsonToMessage(const picojson::value& json, std::shared_ptr* result_message, MessagingInstance& instance) { @@ -852,48 +794,6 @@ std::shared_ptr MessagingUtil::jsonToMessageBody(const picojson::va return body; } -std::shared_ptr MessagingUtil::jsonToMessageFolder(const picojson::value& json) { - ScopeLogger(); - - picojson::object data = json.get(); - - std::string id = - MessagingUtil::getValueFromJSONObject(data, MESSAGE_FOLDER_ATTRIBUTE_ID).c_str(); - - std::string parent_id = - MessagingUtil::getValueFromJSONObject(data, MESSAGE_FOLDER_ATTRIBUTE_PARENT_ID) - .c_str(); - - std::string service_id = - MessagingUtil::getValueFromJSONObject(data, MESSAGE_FOLDER_ATTRIBUTE_SERVICE_ID) - .c_str(); - - std::string content_type = MessagingUtil::getValueFromJSONObject( - data, MESSAGE_FOLDER_ATTRIBUTE_CONTENT_TYPE) - .c_str(); - - std::string name = - MessagingUtil::getValueFromJSONObject(data, MESSAGE_FOLDER_ATTRIBUTE_NAME) - .c_str(); - - std::string path = - MessagingUtil::getValueFromJSONObject(data, MESSAGE_FOLDER_ATTRIBUTE_PATH) - .c_str(); - - std::string type_str = - MessagingUtil::getValueFromJSONObject(data, MESSAGE_FOLDER_ATTRIBUTE_TYPE) - .c_str(); - MessageFolderType type = MessagingUtil::stringToMessageFolderType(type_str); - - bool synchronizable = - MessagingUtil::getValueFromJSONObject(data, MESSAGE_FOLDER_ATTRIBUTE_SYNCHRONIZABLE); - - std::shared_ptr folder = std::shared_ptr( - 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; diff --git a/src/messaging/messaging_util.h b/src/messaging/messaging_util.h index cbcf8bc..785189b 100644 --- a/src/messaging/messaging_util.h +++ b/src/messaging/messaging_util.h @@ -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); static picojson::value messageAttachmentToJson(std::shared_ptr attachment); static picojson::value conversationToJson(std::shared_ptr conversation); - - static picojson::value folderToJson(const MessageFolder& folder); - static picojson::value folderToJson(std::shared_ptr folder); - static common::PlatformResult jsonToMessage(const picojson::value& json, std::shared_ptr* result, MessagingInstance& instance); static std::shared_ptr jsonToMessageBody(const picojson::value& json); - static std::shared_ptr jsonToMessageFolder(const picojson::value& json); static tizen::SortModePtr jsonToSortMode(const picojson::object& json); static common::PlatformResult jsonToAbstractFilter(const picojson::object& json, tizen::AbstractFilterPtr* result);