From: Michal Michalski Date: Mon, 9 Dec 2019 15:37:30 +0000 (+0100) Subject: [messaging] Replace MessageFolder with json. X-Git-Tag: accepted/tizen/unified/20200108.131505~4^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3b90b128fcc8c55de9d42cceef1b528a844240d1;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git [messaging] Replace MessageFolder with json. [Verification] tct-messaging-*-tizen-tests 100% pass. Signed-off-by: Michal Michalski Change-Id: I211ef9a458b3bab6f795071dc6ed8daa14e6bcf3 --- diff --git a/src/messaging/DBus/MessageProxy.cpp b/src/messaging/DBus/MessageProxy.cpp index 9297c13..ed918a2 100644 --- a/src/messaging/DBus/MessageProxy.cpp +++ b/src/messaging/DBus/MessageProxy.cpp @@ -252,9 +252,7 @@ PlatformResult MessageProxy::handleMailboxEvent(int account_id, int mailbox_id, eventFolder->service_type = MessageType::EMAIL; eventFolder->service_id = account_id; - auto folder = std::make_shared(); - folder->attributes = createMessageFolder(std::to_string(mailbox_id)); - + auto folder = std::make_shared(createMessageFolder(std::to_string(mailbox_id))); if (event != NOTI_MAILBOX_DELETE) { auto ret = native::EmailGetMailboxById(mailbox_id, *folder); if (ret.IsError()) { diff --git a/src/messaging/email_manager.cc b/src/messaging/email_manager.cc index efa2b57..52ec4e0 100644 --- a/src/messaging/email_manager.cc +++ b/src/messaging/email_manager.cc @@ -729,8 +729,7 @@ void EmailManager::syncFolder(SyncFolderCallbackData* callback) { email_mailbox_t* mailbox = NULL; - const std::string folder_id_str = - callback->getMessageFolder()->attributes.get("id").get(); + const std::string folder_id_str = callback->getMessageFolder()->get("id").get(); int folder_id = 0; std::istringstream(folder_id_str) >> folder_id; diff --git a/src/messaging/folders_change_callback.cc b/src/messaging/folders_change_callback.cc index 7db9867..c92d04b 100644 --- a/src/messaging/folders_change_callback.cc +++ b/src/messaging/folders_change_callback.cc @@ -53,9 +53,7 @@ void FoldersChangeCallback::Handler(const FolderPtrVector& folders, const char* } picojson::array array; - auto each = [&array](std::shared_ptr f) -> void { - array.push_back(picojson::value(f->attributes)); - }; + auto each = [&array](std::shared_ptr f) -> void { array.push_back(*f); }; for_each(filtered.begin(), filtered.end(), each); LoggerD("Calling:%s with:%zu added folders", action, filtered.size()); diff --git a/src/messaging/message_folder.cc b/src/messaging/message_folder.cc index f33e64e..5ede30f 100644 --- a/src/messaging/message_folder.cc +++ b/src/messaging/message_folder.cc @@ -63,15 +63,15 @@ FolderPtrVector filterFolders(tizen::AbstractFilterPtr filter, FolderPtrVector filtered_folders; for (const auto& fp : source_folders) { - if (filter->isMatching(picojson::value(fp->attributes))) { + if (filter->isMatching(*fp)) { LoggerD("folder id: %s, folder name: %s, match: yes", - fp->attributes.get(MESSAGE_FOLDER_ATTRIBUTE_ID).get().c_str(), - fp->attributes.get(MESSAGE_FOLDER_ATTRIBUTE_NAME).get().c_str()); + fp->get(MESSAGE_FOLDER_ATTRIBUTE_ID).get().c_str(), + fp->get(MESSAGE_FOLDER_ATTRIBUTE_NAME).get().c_str()); filtered_folders.push_back(fp); } else { LoggerD("folder id: %s, folder name: %s, match: no", - fp->attributes.get(MESSAGE_FOLDER_ATTRIBUTE_ID).get().c_str(), - fp->attributes.get(MESSAGE_FOLDER_ATTRIBUTE_NAME).get().c_str()); + fp->get(MESSAGE_FOLDER_ATTRIBUTE_ID).get().c_str(), + fp->get(MESSAGE_FOLDER_ATTRIBUTE_NAME).get().c_str()); } } diff --git a/src/messaging/message_folder.h b/src/messaging/message_folder.h index 461c87a..852d581 100644 --- a/src/messaging/message_folder.h +++ b/src/messaging/message_folder.h @@ -45,10 +45,7 @@ picojson::value createMessageFolder(const std::string& id, const std::string& na const std::string& path = "", const std::string& parent_id = ""); -struct MessageFolder { - picojson::value attributes; -}; - +using MessageFolder = picojson::value; typedef std::vector> FolderPtrVector; FolderPtrVector filterFolders(tizen::AbstractFilterPtr filter, const FolderPtrVector& source_folders); diff --git a/src/messaging/message_storage_email.cc b/src/messaging/message_storage_email.cc index bad9ce0..47700cc 100644 --- a/src/messaging/message_storage_email.cc +++ b/src/messaging/message_storage_email.cc @@ -230,8 +230,8 @@ static gboolean FindFoldersGlibTask(void* data) { auto json = picojson::value(picojson::array()); auto& folders_list = json.get(); for (const auto& folder : folders) { - if (params->filter->isMatching(picojson::value(folder.attributes))) { - folders_list.push_back(picojson::value(folder.attributes)); + if (params->filter->isMatching(folder)) { + folders_list.push_back(folder); } } diff --git a/src/messaging/messaging_instance.cc b/src/messaging/messaging_instance.cc index 1a2aa1e..89dd5b8 100644 --- a/src/messaging/messaging_instance.cc +++ b/src/messaging/messaging_instance.cc @@ -345,8 +345,7 @@ void MessagingInstance::MessageServiceSyncFolder(const picojson::value& args, SyncFolderCallbackData* callback = new SyncFolderCallbackData(queue_, callbackId, *this); callback->setAccountId(id); - auto folder_ptr = std::make_shared(); - folder_ptr->attributes = v_folder; + auto folder_ptr = std::make_shared(v_folder); callback->setMessageFolder(folder_ptr); callback->setLimit(limit); diff --git a/src/messaging/messaging_native.cc b/src/messaging/messaging_native.cc index 5154193..47b7a41 100644 --- a/src/messaging/messaging_native.cc +++ b/src/messaging/messaging_native.cc @@ -88,7 +88,7 @@ PlatformResult EmailGetMailboxList(int account_id, std::vector& f for (int i = 0; i < count; ++i) { MessageFolder folder; - folder.attributes = ConvertMailboxToJson(mailboxes[i]); + folder = ConvertMailboxToJson(mailboxes[i]); folders.push_back(folder); } @@ -104,7 +104,7 @@ PlatformResult EmailGetMailboxById(int mailbox_id, MessageFolder& folder) { return PlatformResult(ErrorCode::UNKNOWN_ERR, "email_get_mailbox_by_mailbox_id() failed."); } - folder.attributes = ConvertMailboxToJson(*mailbox); + folder = ConvertMailboxToJson(*mailbox); if (EMAIL_ERROR_NONE != email_free_mailbox(&mailbox, 1)) { LoggerW("Calling email_free_mailbox() failed."); }