[messaging] Make MessageFolder.attributes a picojson::value. 53/219753/4
authorMichal Michalski <m.michalski2@partner.samsung.com>
Mon, 9 Dec 2019 14:36:27 +0000 (15:36 +0100)
committerMichal Michalski <m.michalski2@partner.samsung.com>
Tue, 10 Dec 2019 13:51:06 +0000 (14:51 +0100)
Previously attributes were picojson::object. I decided to switch
to picojson::value to make the removal of MessageFolder class more
straightforward.

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

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

src/messaging/DBus/MessageProxy.cpp
src/messaging/email_manager.cc
src/messaging/message_folder.cc
src/messaging/message_folder.h
src/messaging/messaging_instance.cc
src/messaging/messaging_native.cc

index 25fe9e6fdde233ec53af4210e41ab3da1890eefb..9297c13682611390ded925bcd29a13897d223f29 100644 (file)
@@ -253,7 +253,7 @@ PlatformResult MessageProxy::handleMailboxEvent(int account_id, int mailbox_id,
   eventFolder->service_id = account_id;
 
   auto folder = std::make_shared<MessageFolder>();
-  folder->attributes = createMessageFolder(std::to_string(mailbox_id)).get<picojson::object>();
+  folder->attributes = createMessageFolder(std::to_string(mailbox_id));
 
   if (event != NOTI_MAILBOX_DELETE) {
     auto ret = native::EmailGetMailboxById(mailbox_id, *folder);
index dd5dedf29cb3a2769274cfba4ba13dc5ea0b33ff..efa2b576990c40cb16ffbdec92b5214cb529a354 100644 (file)
@@ -730,7 +730,7 @@ void EmailManager::syncFolder(SyncFolderCallbackData* callback) {
   email_mailbox_t* mailbox = NULL;
 
   const std::string folder_id_str =
-      callback->getMessageFolder()->attributes.at("id").get<std::string>();
+      callback->getMessageFolder()->attributes.get("id").get<std::string>();
   int folder_id = 0;
   std::istringstream(folder_id_str) >> folder_id;
 
index b2e7cc72e9bde3bb05512e7e3ade567cf2d77e76..f33e64eb5ac25e7f40876a6e750db2957cde453d 100644 (file)
@@ -65,13 +65,13 @@ FolderPtrVector filterFolders(tizen::AbstractFilterPtr filter,
   for (const auto& fp : source_folders) {
     if (filter->isMatching(picojson::value(fp->attributes))) {
       LoggerD("folder id: %s, folder name: %s, match: yes",
-              fp->attributes.at("id").get<std::string>().c_str(),
-              fp->attributes.at(MESSAGE_FOLDER_ATTRIBUTE_NAME).get<std::string>().c_str());
+              fp->attributes.get(MESSAGE_FOLDER_ATTRIBUTE_ID).get<std::string>().c_str(),
+              fp->attributes.get(MESSAGE_FOLDER_ATTRIBUTE_NAME).get<std::string>().c_str());
       filtered_folders.push_back(fp);
     } else {
       LoggerD("folder id: %s, folder name: %s, match: no",
-              fp->attributes.at("id").get<std::string>().c_str(),
-              fp->attributes.at(MESSAGE_FOLDER_ATTRIBUTE_NAME).get<std::string>().c_str());
+              fp->attributes.get(MESSAGE_FOLDER_ATTRIBUTE_ID).get<std::string>().c_str(),
+              fp->attributes.get(MESSAGE_FOLDER_ATTRIBUTE_NAME).get<std::string>().c_str());
     }
   }
 
index 5932617dd1f4b194fdd91d640ed01be1d6f56368..461c87af5ffa2007fde1c36814a69341933088ec 100644 (file)
@@ -46,7 +46,7 @@ picojson::value createMessageFolder(const std::string& id, const std::string& na
                                     const std::string& parent_id = "");
 
 struct MessageFolder {
-  picojson::object attributes;
+  picojson::value attributes;
 };
 
 typedef std::vector<std::shared_ptr<MessageFolder>> FolderPtrVector;
index cbc3be2594a198d9b5c2b16fb45d64146d19e1b9..1a2aa1e6f1dda5670342dca9e99467f7b72d579a 100644 (file)
@@ -346,7 +346,7 @@ void MessagingInstance::MessageServiceSyncFolder(const picojson::value& args,
   SyncFolderCallbackData* callback = new SyncFolderCallbackData(queue_, callbackId, *this);
   callback->setAccountId(id);
   auto folder_ptr = std::make_shared<MessageFolder>();
-  folder_ptr->attributes = v_folder.get<picojson::object>();
+  folder_ptr->attributes = v_folder;
   callback->setMessageFolder(folder_ptr);
   callback->setLimit(limit);
 
index 25c455c6fa284b28ce5524ab793088cbd9a7f16f..5154193e30f7cd40a8bf49d4b8ca2ddf851929cf 100644 (file)
@@ -88,7 +88,7 @@ PlatformResult EmailGetMailboxList(int account_id, std::vector<MessageFolder>& f
 
   for (int i = 0; i < count; ++i) {
     MessageFolder folder;
-    folder.attributes = ConvertMailboxToJson(mailboxes[i]).get<picojson::object>();
+    folder.attributes = 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).get<picojson::object>();
+  folder.attributes = ConvertMailboxToJson(*mailbox);
   if (EMAIL_ERROR_NONE != email_free_mailbox(&mailbox, 1)) {
     LoggerW("Calling email_free_mailbox() failed.");
   }