[Messaging] Attach methods from javascript to corresponding
authorRobert Karolak <r.karolak@samsung.com>
Mon, 15 Dec 2014 15:26:55 +0000 (16:26 +0100)
committerRobert Karolak <r.karolak@samsung.com>
Mon, 15 Dec 2014 16:19:29 +0000 (17:19 +0100)
methods from C++

[Verification] Code compiles without error

Change-Id: I9d5cd4a4f8761f09be6051ba1f891e15ef3eef6b
Signed-off-by: Robert Karolak <r.karolak@samsung.com>
src/messaging/messaging_instance.cc
src/messaging/messaging_instance.h

index d4c70bb55aba8683e8eb0899113881bd628c201e..61541cf6c4e9cb7f0a799943b97205763e2f1ef6 100644 (file)
@@ -16,11 +16,78 @@ namespace extension {
 namespace messaging {
 
 namespace{
-const char* FUN_MESSAGING_GET_MESSAGE_SERVICES = "Messaging_getMessageServices";
-const char* FUN_MESSAGING_MESSAGE_SERVICE_SYNC = "MessageService_sync";
-const char* FUN_ARGS_MESSAGE_SERVICE_TYPE = "messageServiceType";
-const char* FUN_ARGS_ID = "id";
-const char* FUN_ARGS_LIMIT = "limit";
+const char* FUN_GET_MESSAGE_SERVICES = "Messaging_getMessageServices";
+const char* GET_MESSAGE_SERVICES_ARGS_MESSAGE_SERVICE_TYPE = "messageServiceType";
+
+const char* FUN_MESSAGE_SERVICE_SEND_MESSAGE =  "MessageService_sendMessage";
+const char* SEND_MESSAGE_ARGS_MESSAGE = "message";
+const char* SEND_MESSAGE_ARGS_SIMINDEX = "simIndex";
+
+const char* FUN_MESSAGE_SERVICE_LOAD_MESSAGE_BODY = "MessageService_loadMessageBody";
+const char* LOAD_MESSAGE_BODY_ARGS_MESSAGE = "message";
+
+const char* FUN_MESSAGE_SERVICE_LOAD_MESSAGE_ATTACHMENT = "MessageService_loadMessageAttachment";
+const char* LOAD_MESSAGE_ATTACHMENT_ARGS_ATTACHMENT = "attachment";
+
+const char* FUN_MESSAGE_SERVICE_SYNC = "MessageService_sync";
+const char* SERVICE_SYNC_ARGS_ID = "id";
+const char* SERVICE_SYNC_ARGS_LIMIT = "limit";
+
+const char* FUN_MESSAGE_SERVICE_SYNC_FOLDER = "MessageService_syncFolder";
+const char* SYNC_FOLDER_ARGS_FOLDER = "folder";
+const char* SYNC_FOLDER_ARGS_LIMIT = "limit";
+
+const char* FUN_MESSAGE_SERVICE_STOP_SYNC = "MessageService_stopSync";
+const char* STOP_SYNC_ARGS_OPID = "opId";
+
+const char* FUN_MESSAGE_STORAGE_ADD_DRAFT_MESSAGE = "MessageStorage_addDraftMessage";
+const char* ADD_DRAFT_MESSAGE_ARGS_MESSAGE = "message";
+
+const char* FUN_MESSAGE_STORAGE_FIND_MESSAGES = "MessageStorage_findMessages";
+const char* FIND_MESSAGES_ARGS_FILTER = "filter";
+const char* FIND_MESSAGES_ARGS_SORT = "sort";
+const char* FIND_MESSAGES_ARGS_LIMIT = "limit";
+const char* FIND_MESSAGES_ARGS_OFFSET = "offset";
+
+const char* FUN_MESSAGE_STORAGE_REMOVE_MESSAGES = "MessageStorage_removeMessages";
+const char* REMOVE_MESSAGES_ARGS_MESSAGES = "messages";
+
+const char* FUN_MESSAGE_STORAGE_UPDATE_MESSAGES = "MessageStorage_updateMessages";
+const char* UPDATE_MESSAGES_ARGS_MESSAGES = "messages";
+
+const char* FUN_MESSAGE_STORAGE_FIND_CONVERSATIONS = "MessageStorage_findConversations";
+const char* FIND_CONVERSATIONS_ARGS_FILTER = "filter";
+const char* FIND_CONVERSATIONS_ARGS_SORT = "sort";
+const char* FIND_CONVERSATIONS_ARGS_LIMIT = "limit";
+const char* FIND_CONVERSATIONS_ARGS_OFFSET = "offset";
+
+const char* FUN_MESSAGE_STORAGE_REMOVE_CONVERSATIONS = "MessageStorage_removeConversations";
+const char* REMOVE_CONVERSATIONS_ARGS_CONVERSATIONS = "conversations";
+
+const char* FUN_MESSAGE_STORAGE_FIND_FOLDERS = "MessageStorage_findFolders";
+const char* FIND_FOLDERS_ARGS_FILTER = "filter";
+const char* FIND_FOLDERS_ARGS_SORT = "sort";
+const char* FIND_FOLDERS_ARGS_LIMIT = "limit";
+const char* FIND_FOLDERS_ARGS_OFFSET = "offset";
+
+const char* FUN_MESSAGE_STORAGE_ADD_MESSAGES_CHANGE_LISTENER =
+        "MessageStorage_addMessagesChangeListener";
+const char* ADD_MESSAGES_CHANGE_LISTENER_ARGS_LISTENERS = "listeners";
+const char* ADD_MESSAGES_CHANGE_LISTENER_ARGS_FILTER = "filter";
+
+const char* FUN_MESSAGE_STORAGE_ADD_CONVERSATIONS_CHANGE_LISTENER =
+        "MessageStorage_addConversationsChangeListener";
+const char* ADD_CONVERSATION_CHANGE_LISTENER_ARGS_LISTENERS =
+        "listeners";
+const char* ADD_CONVERSATION_CHANGE_LISTENER_ARGS_FILTER = "filter";
+
+const char* FUN_MESSAGE_STORAGE_ADD_FOLDER_CHANGE_LISTENER =
+        "MessageStorage_addFoldersChangeListener";
+const char* ADD_FOLDER_CHANGE_LISTENER_ARGS_LISTENERS = "listeners";
+const char* ADD_FOLDER_CHANGE_LISTENER_ARGS_FILTER = "filter";
+
+const char* FUN_MESSAGE_STORAGE_REMOVE_CHANGE_LISTENER = "MessageStorage_removeChangeListener";
+const char* REMOVE_CHANGE_LISTENER_ARGS_WATCHID = "watchId";
 }
 
 MessagingInstance& MessagingInstance::getInstance()
@@ -35,9 +102,27 @@ MessagingInstance::MessagingInstance()
     using namespace std::placeholders;
     #define REGISTER_ASYNC(c,x) \
       RegisterHandler(c, std::bind(&MessagingInstance::x, this, _1, _2));
-      REGISTER_ASYNC(FUN_MESSAGING_GET_MESSAGE_SERVICES, GetMessageServices);
-      REGISTER_ASYNC(FUN_MESSAGING_MESSAGE_SERVICE_SYNC, MessageServiceSync);
+      REGISTER_ASYNC(FUN_GET_MESSAGE_SERVICES, GetMessageServices);
+      REGISTER_ASYNC(FUN_MESSAGE_SERVICE_SEND_MESSAGE, MessageServiceSendMessage);
+      REGISTER_ASYNC(FUN_MESSAGE_SERVICE_LOAD_MESSAGE_BODY, MessageServiceLoadMessageBody);
+      REGISTER_ASYNC(FUN_MESSAGE_SERVICE_LOAD_MESSAGE_ATTACHMENT, MessageServiceLoadMessageAttachment);
+      REGISTER_ASYNC(FUN_MESSAGE_SERVICE_SYNC, MessageServiceSync);
+      REGISTER_ASYNC(FUN_MESSAGE_SERVICE_SYNC_FOLDER, MessageServiceSyncFolder);
+      REGISTER_ASYNC(FUN_MESSAGE_STORAGE_ADD_DRAFT_MESSAGE, MessageStorageAddDraft);
+      REGISTER_ASYNC(FUN_MESSAGE_STORAGE_FIND_MESSAGES, MessageStorageFindMessages);
+      REGISTER_ASYNC(FUN_MESSAGE_STORAGE_REMOVE_MESSAGES, MessageStorageRemoveMessages);
+      REGISTER_ASYNC(FUN_MESSAGE_STORAGE_FIND_CONVERSATIONS, MessageStorageFindConversations);
+      REGISTER_ASYNC(FUN_MESSAGE_STORAGE_REMOVE_CONVERSATIONS, MessageStorageRemoveConversations);
+      REGISTER_ASYNC(FUN_MESSAGE_STORAGE_FIND_FOLDERS, MessageStorageFindFolders);
+      REGISTER_ASYNC(FUN_MESSAGE_STORAGE_ADD_MESSAGES_CHANGE_LISTENER, MessageStorageAddMessagesChangeListener);
+      REGISTER_ASYNC(FUN_MESSAGE_STORAGE_ADD_CONVERSATIONS_CHANGE_LISTENER, MessageStorageAddConversationsChangeListener);
+      REGISTER_ASYNC(FUN_MESSAGE_STORAGE_ADD_FOLDER_CHANGE_LISTENER, MessageStorageAddFolderChangeListener);
     #undef REGISTER_ASYNC
+    #define REGISTER_SYNC(c,x) \
+      RegisterSyncHandler(c, std::bind(&MessagingInstance::x, this, _1, _2));
+      REGISTER_SYNC(FUN_MESSAGE_SERVICE_STOP_SYNC, MessageServiceStopSync);
+      REGISTER_SYNC(FUN_MESSAGE_STORAGE_REMOVE_CHANGE_LISTENER, MessageStorageRemoveChangeListener);
+    #undef REGISTER_SYNC
 }
 
 MessagingInstance::~MessagingInstance()
@@ -51,21 +136,39 @@ void MessagingInstance::GetMessageServices(const picojson::value& args,
     LoggerD("Entered");
 
     picojson::object data = args.get(JSON_DATA).get<picojson::object>();
-    picojson::value serviceTag = data.at(FUN_ARGS_MESSAGE_SERVICE_TYPE);
+    picojson::value serviceTag = data.at(GET_MESSAGE_SERVICES_ARGS_MESSAGE_SERVICE_TYPE);
     const double callbackId = args.get(JSON_CALLBACK_ID).get<double>();
 
     // above values should be validated in js
     MessagingManager::getInstance().getMessageServices(serviceTag.to_str(), callbackId);
 }
 
+void MessagingInstance::MessageServiceSendMessage(const picojson::value& args,
+        picojson::object& out)
+{
+    LoggerD("Entered");
+}
+
+void MessagingInstance::MessageServiceLoadMessageBody(const picojson::value& args,
+        picojson::object& out)
+{
+    LoggerD("Entered");
+}
+
+void MessagingInstance::MessageServiceLoadMessageAttachment(const picojson::value& args,
+        picojson::object& out)
+{
+    LoggerD("Entered");
+}
+
 void MessagingInstance::MessageServiceSync(const picojson::value& args,
         picojson::object& out)
 {
     LoggerD("Entered");
 
     picojson::object data = args.get(JSON_DATA).get<picojson::object>();
-    picojson::value v_id = data.at(FUN_ARGS_ID);
-    picojson::value v_limit = data.at(FUN_ARGS_LIMIT);
+    picojson::value v_id = data.at(SERVICE_SYNC_ARGS_ID);
+    picojson::value v_limit = data.at(SERVICE_SYNC_ARGS_LIMIT);
     const double callbackId = args.get(JSON_CALLBACK_ID).get<double>();
 
     int id = static_cast<int>(v_id.get<double>());
@@ -76,6 +179,112 @@ void MessagingInstance::MessageServiceSync(const picojson::value& args,
     MessagingManager::getInstance().getMessageServiceEmail(id)->sync(callbackId, limit);
 }
 
+void MessagingInstance::MessageServiceSyncFolder(const picojson::value& args,
+        picojson::object& out)
+{
+    LoggerD("Entered");
+}
+
+void MessagingInstance::MessageServiceStopSync(const picojson::value& args,
+        picojson::object& out)
+{
+    LoggerD("Entered");
+}
+
+/*  Code used to testing in node.js console
+    // Define the success callback.
+    function serviceListCB(services) {
+         if (services.length > 0) {
+             var initDictionary = {
+                 subject: "Testing subject",
+                 to: ["a.jacak.testmail@gmail.com", "r.klepaczko.testmail@gmail.com"],
+                 cc: ["a.jacak.testmail@gmail.com", "r.klepaczko.testmail@gmail.com"],
+                 bcc: ["a.jacak.testmail@gmail.com", "r.klepaczko.testmail@gmail.com"],
+                 plainBody: "simple plain body",
+                 htmlBody: "simle html body",
+                 isHightPriority: false
+             }
+
+             var msg = new tizen.Message("messaging.email", initDictionary);
+             services[0].messageStorage.addDraftMessage(msg, function(){
+                 console.log("Add draft success");
+             }, function(){
+                 console.log("Add draft failed");
+             });
+         }
+     }
+     tizen.messaging.getMessageServices("messaging.email", serviceListCB);
+ */
+void MessagingInstance::MessageStorageAddDraft(const picojson::value& args,
+        picojson::object& out)
+{
+    LoggerD("Entered");
+
+    picojson::object data = args.get(JSON_DATA).get<picojson::object>();
+    picojson::value v_message = data.at(ADD_DRAFT_MESSAGE_ARGS_MESSAGE);
+    LoggerD("%s", v_message.serialize().c_str());
+}
+
+void MessagingInstance::MessageStorageFindMessages(const picojson::value& args,
+        picojson::object& out)
+{
+    LoggerD("Entered");
+}
+
+void MessagingInstance::MessageStorageRemoveMessages(const picojson::value& args,
+        picojson::object& out)
+{
+    LoggerD("Entered");
+}
+
+void MessagingInstance::MessageStorageUpdateMessages(const picojson::value& args,
+        picojson::object& out)
+{
+    LoggerD("Entered");
+}
+
+void MessagingInstance::MessageStorageFindConversations(const picojson::value& args,
+        picojson::object& out)
+{
+    LoggerD("Entered");
+}
+
+void MessagingInstance::MessageStorageRemoveConversations(const picojson::value& args,
+        picojson::object& out)
+{
+    LoggerD("Entered");
+}
+
+void MessagingInstance::MessageStorageFindFolders(const picojson::value& args,
+        picojson::object& out)
+{
+    LoggerD("Entered");
+}
+
+void MessagingInstance::MessageStorageAddMessagesChangeListener(const picojson::value& args,
+        picojson::object& out)
+{
+    LoggerD("Entered");
+}
+
+void MessagingInstance::MessageStorageAddConversationsChangeListener(const picojson::value& args,
+        picojson::object& out)
+{
+    LoggerD("Entered");
+}
+
+void MessagingInstance::MessageStorageAddFolderChangeListener(const picojson::value& args,
+        picojson::object& out)
+{
+    LoggerD("Entered");
+}
+
+void MessagingInstance::MessageStorageRemoveChangeListener(const picojson::value& args,
+        picojson::object& out)
+{
+    LoggerD("Entered");
+}
+
 } // namespace messaging
 } // namespace extension
 
index d1520176abfd21de01801f0c5146d0bad5cd03ea..e321b2e3a027e2bd519ec55118aa17bb115af9f4 100644 (file)
 namespace extension {
 namespace messaging {
 
-class MessagingInstance : public common::ParsedInstance {
-    public:
-        static MessagingInstance& getInstance();
-    private:
-        MessagingInstance();
-        virtual ~MessagingInstance();
-
-        void GetMessageServices(const picojson::value& args, picojson::object& out);
-        void MessageServiceSync(const picojson::value& args, picojson::object& out);
+class MessagingInstance: public common::ParsedInstance {
+public:
+    static MessagingInstance& getInstance();
+private:
+    MessagingInstance();
+    virtual ~MessagingInstance();
+
+    void GetMessageServices(const picojson::value& args, picojson::object& out);
+
+    void MessageServiceSendMessage(const picojson::value& args,
+            picojson::object& out);
+    void MessageServiceLoadMessageBody(const picojson::value& args,
+            picojson::object& out);
+    void MessageServiceLoadMessageAttachment(const picojson::value& args,
+            picojson::object& out);
+    void MessageServiceSync(const picojson::value& args, picojson::object& out);
+    void MessageServiceSyncFolder(const picojson::value& args,
+            picojson::object& out);
+    void MessageServiceStopSync(const picojson::value& args,
+            picojson::object& out);
+
+    void MessageStorageAddDraft(const picojson::value& args,
+            picojson::object& out);
+    void MessageStorageFindMessages(const picojson::value& args,
+            picojson::object& out);
+    void MessageStorageRemoveMessages(const picojson::value& args,
+            picojson::object& out);
+    void MessageStorageUpdateMessages(const picojson::value& args,
+            picojson::object& out);
+    void MessageStorageFindConversations(const picojson::value& args,
+            picojson::object& out);
+    void MessageStorageRemoveConversations(const picojson::value& args,
+            picojson::object& out);
+    void MessageStorageFindFolders(const picojson::value& args,
+            picojson::object& out);
+    void MessageStorageAddMessagesChangeListener(const picojson::value& args,
+            picojson::object& out);
+    void MessageStorageAddConversationsChangeListener(const picojson::value& args,
+            picojson::object& out);
+    void MessageStorageAddFolderChangeListener(const picojson::value& args,
+            picojson::object& out);
+    void MessageStorageRemoveChangeListener(const picojson::value& args,
+            picojson::object& out);
 };
 
 } // namespace messaging