From: Maciek Blim Date: Tue, 16 Dec 2014 12:11:58 +0000 (+0100) Subject: [Messaging] converting JSON to MessageBody X-Git-Tag: submit/tizen_tv/20150603.064601~1^2~799^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8e461db0f301ed9b15062e148bbbbb5329d06e39;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git [Messaging] converting JSON to MessageBody Change-Id: I77f7a2a5217b919c06babe80dce24a0c8fe95826 Signed-off-by: Maciek Blim --- diff --git a/src/messaging/message.cc b/src/messaging/message.cc index e77a1539..4a06be3e 100644 --- a/src/messaging/message.cc +++ b/src/messaging/message.cc @@ -23,7 +23,7 @@ Message::Message(): m_id(-1), m_id_set(false), m_conversation_id(-1), m_conversation_id_set(false), m_folder_id(-1), m_folder_id_set(false), m_type(UNDEFINED), m_timestamp_set(false), m_from_set(false), - //m_body(new(std::nothrow) MessageBody()), + m_body(new(std::nothrow) MessageBody()), m_service_id(0), m_is_read(false), m_has_attachment(false), m_high_priority(false), m_in_response(-1), m_in_response_set(false), m_service_id_set(false), m_status(STATUS_UNDEFINED), @@ -194,6 +194,7 @@ void Message::setBody(std::shared_ptr& body) { // while replacing message body old body should have some invalid id mark m_body->setMessageId(-1); + m_body = body; if(m_id_set) { m_body->setMessageId(m_id); diff --git a/src/messaging/messaging_util.cc b/src/messaging/messaging_util.cc index d7cbf114..37ed2d27 100644 --- a/src/messaging/messaging_util.cc +++ b/src/messaging/messaging_util.cc @@ -45,6 +45,11 @@ const char* MESSAGE_ATTRIBUTE_IN_RESPONSE_TO = "inResponseTo"; const char* MESSAGE_ATTRIBUTE_MESSAGE_STATUS = "messageStatus"; const char* MESSAGE_ATTRIBUTE_ATTACHMENTS = "attachments"; const char* MESSAGE_ATTRIBUTE_HAS_ATTACHMENT = "hasAttachment"; +const char* MESSAGE_ATTRIBUTE_MESSAGE_BODY = "body"; + +const char* MESSAGE_BODY_ATTRIBUTE_LOADED = "loaded"; +const char* MESSAGE_BODY_ATTRIBUTE_PLAIN_BODY = "plainBody"; +const char* MESSAGE_BODY_ATTRIBUTE_HTML_BODY = "htmlBody"; namespace { const std::string TYPE_SMS = "messaging.sms"; @@ -248,7 +253,25 @@ std::shared_ptr MessagingUtil::jsonToMessage(const picojson::value& jso MESSAGE_ATTRIBUTE_IS_HIGH_PRIORITY); message->setIsHighPriority(priority); - // TODO MessageBody + std::shared_ptr body = std::shared_ptr(new MessageBody()); + picojson::object mb = MessagingUtil::getValueFromJSONObject( + data, MESSAGE_ATTRIBUTE_MESSAGE_BODY); + + bool loaded = MessagingUtil::getValueFromJSONObject(mb, + MESSAGE_BODY_ATTRIBUTE_LOADED); + body->setLoaded(loaded); + + std::string html = MessagingUtil::getValueFromJSONObject(mb, + MESSAGE_BODY_ATTRIBUTE_HTML_BODY); + body->setHtmlBody(html); + + std::string plain = MessagingUtil::getValueFromJSONObject(mb, + MESSAGE_BODY_ATTRIBUTE_PLAIN_BODY); + body->setPlainBody(plain); + + message->setBody(body); + + // TODO MessageAttachments return message; diff --git a/src/messaging/messaging_util.h b/src/messaging/messaging_util.h index c620e008..5af37948 100644 --- a/src/messaging/messaging_util.h +++ b/src/messaging/messaging_util.h @@ -40,6 +40,11 @@ extern const char* MESSAGE_ATTRIBUTE_IN_RESPONSE_TO; extern const char* MESSAGE_ATTRIBUTE_MESSAGE_STATUS; extern const char* MESSAGE_ATTRIBUTE_ATTACHMENTS; extern const char* MESSAGE_ATTRIBUTE_HAS_ATTACHMENT; +extern const char* MESSAGE_ATTRIBUTE_MESSAGE_BODY; + +extern const char* MESSAGE_BODY_ATTRIBUTE_LOADED; +extern const char* MESSAGE_BODY_ATTRIBUTE_PLAIN_BODY; +extern const char* MESSAGE_BODY_ATTRIBUTE_HTML_BODY; enum MessageType { UNDEFINED = 0,