[messaging] Get rid of FoldersDataCallback structure. 45/218745/7
authorMichal Michalski <m.michalski2@partner.samsung.com>
Wed, 27 Nov 2019 15:13:10 +0000 (16:13 +0100)
committerMichal Michalski <m.michalski2@partner.samsung.com>
Wed, 4 Dec 2019 12:49:06 +0000 (13:49 +0100)
[Verification] tct-messaging-*-tizen-tests 100% pass.

Signed-off-by: Michal Michalski <m.michalski2@partner.samsung.com>
Change-Id: If63afc96ff26cbd820aad8781e233eee8b3c4e26

src/messaging/folders_callback_data.cc [deleted file]
src/messaging/folders_callback_data.h [deleted file]
src/messaging/folders_change_callback.cc
src/messaging/folders_change_callback.h
src/messaging/messaging.gyp
src/messaging/messaging_instance.cc

diff --git a/src/messaging/folders_callback_data.cc b/src/messaging/folders_callback_data.cc
deleted file mode 100644 (file)
index 56dc6ac..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- *    Licensed under the Apache License, Version 2.0 (the "License");
- *    you may not use this file except in compliance with the License.
- *    You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *    Unless required by applicable law or agreed to in writing, software
- *    distributed under the License is distributed on an "AS IS" BASIS,
- *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *    See the License for the specific language governing permissions and
- *    limitations under the License.
- */
-
-#include "folders_callback_data.h"
-
-namespace extension {
-namespace messaging {
-
-FoldersCallbackData::~FoldersCallbackData() {
-  ScopeLogger();
-}
-
-void FoldersCallbackData::addFolder(std::shared_ptr<MessageFolder> folder) {
-  ScopeLogger();
-  m_folders.push_back(folder);
-}
-
-const std::vector<std::shared_ptr<MessageFolder>>& FoldersCallbackData::getFolders() const {
-  return m_folders;
-}
-
-void FoldersCallbackData::setFilter(tizen::AbstractFilterPtr filter) {
-  m_filter = filter;
-}
-
-tizen::AbstractFilterPtr FoldersCallbackData::getFilter() const {
-  return m_filter;
-}
-
-void FoldersCallbackData::setMessageStorageId(int id) {
-  m_message_storage_id = id;
-}
-
-int FoldersCallbackData::getMessageStorageId() const {
-  return m_message_storage_id;
-}
-
-}  // messaging
-}  // extension
diff --git a/src/messaging/folders_callback_data.h b/src/messaging/folders_callback_data.h
deleted file mode 100644 (file)
index 7900dbf..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- *    Licensed under the Apache License, Version 2.0 (the "License");
- *    you may not use this file except in compliance with the License.
- *    You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *    Unless required by applicable law or agreed to in writing, software
- *    distributed under the License is distributed on an "AS IS" BASIS,
- *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *    See the License for the specific language governing permissions and
- *    limitations under the License.
- */
-
-#ifndef __TIZEN_FOLDERS_CALLBACK_DATA_H__
-#define __TIZEN_FOLDERS_CALLBACK_DATA_H__
-
-#include "common/platform_result.h"
-
-#include <memory>
-#include <string>
-#include <vector>
-
-#include "MsgCommon/AbstractFilter.h"
-#include "messaging/callback_user_data.h"
-
-#include "message_folder.h"
-#include "messaging_util.h"
-
-namespace extension {
-namespace messaging {
-
-class MessageFolder;
-
-class FoldersCallbackData : public CallbackUserData {
- public:
-  using CallbackUserData::CallbackUserData;
-  virtual ~FoldersCallbackData();
-
-  void addFolder(std::shared_ptr<MessageFolder> folder);
-  const std::vector<std::shared_ptr<MessageFolder>>& getFolders() const;
-
-  void setFilter(tizen::AbstractFilterPtr filter);
-  tizen::AbstractFilterPtr getFilter() const;
-
-  void setMessageStorageId(int id);
-  int getMessageStorageId() const;
-
- private:
-  std::vector<std::shared_ptr<MessageFolder>> m_folders;
-  tizen::AbstractFilterPtr m_filter;
-  int m_message_storage_id = -1;
-};
-
-}  // messaging
-}  // extension
-
-#endif /* __TIZEN_FOLDERS_CALLBACK_DATA_H__ */
index 23809e5..97f19a0 100644 (file)
@@ -13,6 +13,7 @@
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
+#include "common/extension.h"
 #include "common/logger.h"
 #include "common/platform_exception.h"
 #include "messaging_instance.h"
@@ -20,6 +21,8 @@
 
 #include "folders_change_callback.h"
 
+using common::Instance;
+
 namespace extension {
 namespace messaging {
 
@@ -27,14 +30,10 @@ const char* FOLDERSADDED = "foldersadded";
 const char* FOLDERSUPDATED = "foldersupdated";
 const char* FOLDERSREMOVED = "foldersremoved";
 
-FoldersChangeCallback::FoldersChangeCallback(long cid, int service_id, MessageType service_type,
-                                             PostQueue& queue, MessagingInstance& instance)
-    : m_callback_data(queue, cid, instance, true),
-      m_id(service_id),
-      m_msg_type(service_type),
-      m_is_act(true) {
+FoldersChangeCallback::FoldersChangeCallback(int service_id, MessageType service_type,
+                                             MessagingInstance& instance)
+    : m_id(service_id), m_msg_type(service_type), m_is_act(true), m_messaging_instance(instance) {
   ScopeLogger();
-  m_callback_data.SetListenerId("FoldersChangeListener");
 }
 
 FoldersChangeCallback::~FoldersChangeCallback() {
@@ -68,15 +67,13 @@ FolderPtrVector FoldersChangeCallback::filterFolders(tizen::AbstractFilterPtr fi
   }
 }
 
-void FoldersChangeCallback::added(const FolderPtrVector& folders) {
-  ScopeLogger("folders.size() = %zu", folders.size());
+void FoldersChangeCallback::Handler(const FolderPtrVector& folders, const char* action) {
+  ScopeLogger("action: %s, folders.size() = %zu", action, folders.size());
   if (!m_is_act) {
     return;
   }
 
   FolderPtrVector filtered = filterFolders(m_filter, folders);
-
-  // if filter is set but there is no folder matched just return;
   if (!filtered.size()) {
     LoggerD("There is no matched result.");
     return;
@@ -88,62 +85,24 @@ void FoldersChangeCallback::added(const FolderPtrVector& folders) {
   };
   for_each(filtered.begin(), filtered.end(), each);
 
-  LoggerD("Calling:%s with:%zu added folders", FOLDERSADDED, filtered.size());
+  LoggerD("Calling:%s with:%zu added folders", action, filtered.size());
+  picojson::object data;
+  data["action"] = picojson::value(action);
+  data["result"] = picojson::value(array);
+  data["listenerId"] = picojson::value("FoldersChangeListener");
+  Instance::PostMessage(&m_messaging_instance, picojson::value(data));
+}
 
-  m_callback_data.SetAction(FOLDERSADDED, picojson::value(array));
-  m_callback_data.AddAndPost(PostPriority::MEDIUM);
+void FoldersChangeCallback::added(const FolderPtrVector& folders) {
+  Handler(folders, FOLDERSADDED);
 }
 
 void FoldersChangeCallback::updated(const FolderPtrVector& folders) {
-  ScopeLogger("folders.size() = %zu", folders.size());
-  if (!m_is_act) {
-    return;
-  }
-
-  FolderPtrVector filtered = filterFolders(m_filter, folders);
-
-  // if filter is set but there is no folder matched just return;
-  if (!filtered.size()) {
-    LoggerD("There is no matched result.");
-    return;
-  }
-
-  picojson::array array;
-  auto each = [&array](std::shared_ptr<MessageFolder> f) -> void {
-    array.push_back(MessagingUtil::folderToJson(f));
-  };
-  for_each(filtered.begin(), filtered.end(), each);
-
-  LoggerD("Calling:%s with:%zu updated folders", FOLDERSUPDATED, filtered.size());
-
-  m_callback_data.SetAction(FOLDERSUPDATED, picojson::value(array));
-  m_callback_data.AddAndPost(PostPriority::LOW);
+  Handler(folders, FOLDERSUPDATED);
 }
 
 void FoldersChangeCallback::removed(const FolderPtrVector& folders) {
-  ScopeLogger("folders.size() = %zu", folders.size());
-  if (!m_is_act) {
-    return;
-  }
-
-  FolderPtrVector filtered = filterFolders(m_filter, folders);
-
-  // if filter is set but there is no folder matched just return;
-  if (!filtered.size()) {
-    LoggerD("There is no matched result.");
-    return;
-  }
-
-  picojson::array array;
-  auto each = [&array](std::shared_ptr<MessageFolder> f) -> void {
-    array.push_back(MessagingUtil::folderToJson(f));
-  };
-  for_each(filtered.begin(), filtered.end(), each);
-
-  LoggerD("Calling:%s with:%zu removed folders", FOLDERSREMOVED, filtered.size());
-
-  m_callback_data.SetAction(FOLDERSREMOVED, picojson::value(array));
-  m_callback_data.AddAndPost(PostPriority::LAST);
+  Handler(folders, FOLDERSREMOVED);
 }
 
 void FoldersChangeCallback::setFilter(tizen::AbstractFilterPtr filter) {
index c09fa72..b3d0d01 100644 (file)
 #include "message_folder.h"
 #include "messaging_util.h"
 
-#include "folders_callback_data.h"
-
-//#include <MultiCallbackUserData.h>
-
 namespace extension {
 namespace messaging {
 
@@ -37,10 +33,10 @@ class FoldersChangeCallback {
  public:
   typedef void (FoldersChangeCallback::*Signature)(const FolderPtrVector& conversations);
 
-  FoldersChangeCallback(long cid, int service_id, MessageType service_type, PostQueue& queue,
-                        MessagingInstance& instance);
+  FoldersChangeCallback(int service_id, MessageType service_type, MessagingInstance& instance);
   virtual ~FoldersChangeCallback();
 
+  void Handler(const FolderPtrVector& folders, const char* action);
   void added(const FolderPtrVector& folders);
   void updated(const FolderPtrVector& folders);
   void removed(const FolderPtrVector& folders);
@@ -55,11 +51,11 @@ class FoldersChangeCallback {
   static FolderPtrVector filterFolders(tizen::AbstractFilterPtr filter,
                                        const FolderPtrVector& source_folders);
 
-  FoldersCallbackData m_callback_data;
   tizen::AbstractFilterPtr m_filter;
   int m_id;
   MessageType m_msg_type;
   bool m_is_act;
+  MessagingInstance& m_messaging_instance;
 };
 
 }  // messaging
index a0ded5e..8f6bf48 100644 (file)
         'message_conversation.h',
         'conversation_callback_data.cc',
         'conversation_callback_data.h',
-        'folders_callback_data.cc',
-        'folders_callback_data.h',
         'conversations_change_callback.cc',
         'conversations_change_callback.h',
         'folders_change_callback.cc',
index c325b01..91551a4 100644 (file)
@@ -706,8 +706,8 @@ void MessagingInstance::MessageStorageAddFolderChangeListener(const picojson::va
 
   auto service = manager_.getMessageService(serviceId);
 
-  std::shared_ptr<FoldersChangeCallback> callback(new FoldersChangeCallback(
-      static_cast<long>(-1), serviceId, service->getMsgServiceType(), queue_, *this));
+  std::shared_ptr<FoldersChangeCallback> callback(
+      new FoldersChangeCallback(serviceId, service->getMsgServiceType(), *this));
 
   callback->setFilter(filter);