From 732f465b05838f36efc7718ad3b99eb0e51080f4 Mon Sep 17 00:00:00 2001 From: Maciek Blim Date: Tue, 13 Jan 2015 11:48:26 +0100 Subject: [PATCH] [Messaging] findFolders for sms Change-Id: If3f6a6ab0865f5691cd3335c6d239db216f3d718 Signed-off-by: Maciek Blim --- src/messaging/message_storage_short_msg.cc | 19 ++++++++++++++----- src/messaging/messaging_api.js | 6 +++--- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/messaging/message_storage_short_msg.cc b/src/messaging/message_storage_short_msg.cc index 51df3597..a666a76c 100644 --- a/src/messaging/message_storage_short_msg.cc +++ b/src/messaging/message_storage_short_msg.cc @@ -9,6 +9,7 @@ #include "message_sms.h" #include "short_message_manager.h" #include "message_storage_short_msg.h" +#include "messaging_instance.h" namespace extension { namespace messaging { @@ -192,12 +193,20 @@ static gboolean findFoldersCB(void* data) FoldersCallbackData *callback = static_cast(data); - // TODO create json array of folders - //JSObjectRef js_obj = MessagingUtil::vectorToJSObjectArray(context, callback->getFolders()); + auto json = callback->getJson(); + picojson::object& obj = json->get(); - // TODO post success - //callback->callSuccessCallback(js_obj); + picojson::array array; + auto each = [&array](std::shared_ptr folder)->void { + array.push_back(MessagingUtil::folderToJson(folder)); + }; + + auto folders = callback->getFolders(); + for_each(folders.begin(), folders.end(), each); + + obj[JSON_DATA] = picojson::value(array); + obj[JSON_ACTION] = picojson::value(JSON_CALLBACK_SUCCCESS); + MessagingInstance::getInstance().PostMessage(json->serialize().c_str()); delete callback; callback = NULL; diff --git a/src/messaging/messaging_api.js b/src/messaging/messaging_api.js index ae9f3afa..90679be5 100644 --- a/src/messaging/messaging_api.js +++ b/src/messaging/messaging_api.js @@ -996,9 +996,9 @@ MessageStorage.prototype.findFolders = function () { cmd: 'MessageStorage_findFolders', 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({ -- 2.34.1