#include "message_sms.h"
#include "short_message_manager.h"
#include "message_storage_short_msg.h"
+#include "messaging_instance.h"
namespace extension {
namespace messaging {
FoldersCallbackData *callback = static_cast<FoldersCallbackData*>(data);
- // TODO create json array of folders
- //JSObjectRef js_obj = MessagingUtil::vectorToJSObjectArray<FolderPtr,
- //JSMessageFolder>(context, callback->getFolders());
+ auto json = callback->getJson();
+ picojson::object& obj = json->get<picojson::object>();
- // TODO post success
- //callback->callSuccessCallback(js_obj);
+ picojson::array array;
+ auto each = [&array](std::shared_ptr<MessageFolder> 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;
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({