[Verification] tct-messaging-*-tizen-tests 100% pass.
Signed-off-by: Michal Michalski <m.michalski2@partner.samsung.com>
Change-Id: If63afc96ff26cbd820aad8781e233eee8b3c4e26
+++ /dev/null
-/*
- * 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
+++ /dev/null
-/*
- * 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__ */
* 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"
#include "folders_change_callback.h"
+using common::Instance;
+
namespace extension {
namespace messaging {
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() {
}
}
-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;
};
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) {
#include "message_folder.h"
#include "messaging_util.h"
-#include "folders_callback_data.h"
-
-//#include <MultiCallbackUserData.h>
-
namespace extension {
namespace messaging {
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);
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
'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',
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);