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);
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;
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());
}
}
const std::string& parent_id = "");
struct MessageFolder {
- picojson::object attributes;
+ picojson::value attributes;
};
typedef std::vector<std::shared_ptr<MessageFolder>> FolderPtrVector;
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);
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);
}
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.");
}