From: Maciek Blim Date: Tue, 13 Jan 2015 10:10:38 +0000 (+0100) Subject: [Messaging] findConversations for sms X-Git-Tag: submit/tizen_mobile/20150603.064609~1^2~604^2~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=21ba905978c1a6bd2908f8fb32e699f0dcf0fc3f;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git [Messaging] findConversations for sms Change-Id: I4d2c45476a466a6cc1da4eccf39438c7e43369e5 Signed-off-by: Maciek Blim --- diff --git a/src/messaging/message_storage_short_msg.cc b/src/messaging/message_storage_short_msg.cc index 77535fd..dcb3901 100644 --- a/src/messaging/message_storage_short_msg.cc +++ b/src/messaging/message_storage_short_msg.cc @@ -136,8 +136,7 @@ static gboolean findConversationsTask(void* data) { LoggerD("Entered"); ConversationCallbackData *callback = static_cast(data); - // TODO - //ShortMsgManager::getInstance().findConversations(callback); + ShortMsgManager::getInstance().findConversations(callback); return false; } diff --git a/src/messaging/messaging_api.js b/src/messaging/messaging_api.js index a64dc3d..ae9f3af 100644 --- a/src/messaging/messaging_api.js +++ b/src/messaging/messaging_api.js @@ -920,9 +920,9 @@ MessageStorage.prototype.findConversations = function () { cmd: 'MessageStorage_findConversations', args: { filter: args.filter, - sort: args.sort, - limit: args.limit, - offset: args.offset, + sort: args.sort || null, + limit: args.limit || null, + offset: args.offset || null, serviceId: self.service.id } }).then({ diff --git a/src/messaging/short_message_manager.cc b/src/messaging/short_message_manager.cc index e0c83d1..1aa56f9 100644 --- a/src/messaging/short_message_manager.cc +++ b/src/messaging/short_message_manager.cc @@ -1026,15 +1026,22 @@ void ShortMsgManager::findConversations(ConversationCallbackData* callback) try { if (callback->isError()) { LoggerD("Calling error callback"); - // TODO call error - //JSObjectRef errobj = JSWebAPIErrorFactory::makeErrorObject(context, - //callback->getErrorName(), callback->getErrorMessage()); - //callback->callErrorCallback(errobj); + MessagingInstance::getInstance().PostMessage(callback->getJson()->serialize().c_str()); } else { LoggerD("Calling success callback"); - // TODO call success - //callback->callSuccessCallback(MessagingUtil::vectorToJSObjectArray< - //ConversationPtr, JSMessageConversation>(context, callback->getConversations())); + auto json = callback->getJson(); + picojson::object& obj = json->get(); + + std::vector response; + auto conversations = callback->getConversations(); + std::for_each(conversations.begin(), conversations.end(), + [&response](std::shared_ptr &conversation) { + response.push_back(MessagingUtil::conversationToJson(conversation)); + } + ); + obj[JSON_DATA] = picojson::value(response); + obj[JSON_ACTION] = picojson::value(JSON_CALLBACK_SUCCCESS); + MessagingInstance::getInstance().PostMessage(json->serialize().c_str()); } } catch (const common::PlatformException& err) { LoggerE("Error while calling findConversations callback: %s (%s)",