From: Michal Michalski Date: Fri, 29 Nov 2019 14:01:02 +0000 (+0100) Subject: [messaging] Move folder-related code to message_folder. X-Git-Tag: accepted/tizen/unified/20191212.123659~10^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F12%2F219012%2F7;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git [messaging] Move folder-related code to message_folder. + Moved FindFolderTaskParams to message_folder.h + Moved filterFolders() from folders_changed_callback to message_folder. + Moved MESSAGE_FOLDER_ATTRTIBUTE_* constants to message_folder.cc + Remove FolderPtr typedef. + Remove unneccessary extern declarations. [Verification] Code compiles. Signed-off-by: Michal Michalski Change-Id: I5289f7f0e9e84ec71bf92031e5c5c56b2cb65df6 --- diff --git a/src/messaging/email_manager.cc b/src/messaging/email_manager.cc index 7742545..a5382b8 100644 --- a/src/messaging/email_manager.cc +++ b/src/messaging/email_manager.cc @@ -71,7 +71,6 @@ namespace messaging { namespace { const int ACCOUNT_ID_NOT_INITIALIZED = -1; -const std::string FIND_FOLDERS_ATTRIBUTE_ACCOUNTID_NAME = "serviceId"; bool isFirstInThread(const Message* message) { ScopeLogger(); diff --git a/src/messaging/folders_change_callback.cc b/src/messaging/folders_change_callback.cc index 8484f58..9c81cbc 100644 --- a/src/messaging/folders_change_callback.cc +++ b/src/messaging/folders_change_callback.cc @@ -30,38 +30,6 @@ const char* FOLDERSADDED = "foldersadded"; const char* FOLDERSUPDATED = "foldersupdated"; const char* FOLDERSREMOVED = "foldersremoved"; -namespace { - -FolderPtrVector filterFolders(tizen::AbstractFilterPtr filter, - const FolderPtrVector& source_folders) { - ScopeLogger(); - - if (!filter) { - LoggerW("Filer is null."); - return source_folders; - } - - FolderPtrVector filtered_folders; - FolderPtrVector::const_iterator it = source_folders.begin(); - FolderPtrVector::const_iterator end_it = source_folders.end(); - - for (int i = 0; it != end_it; ++i, ++it) { - const FolderPtr& folder = *it; - const bool matched = filter->isMatching(folder.get()); - if (matched) { - filtered_folders.push_back(folder); - } - - LoggerD("[%d] folder id:%s", i, folder->getId().c_str()); - LoggerD("[%d] folder name:%s", i, folder->getName().c_str()); - LoggerD("[%d] matched filter: %s", i, matched ? "YES" : "NO"); - } - - return filtered_folders; -} - -} // namespace - 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) { diff --git a/src/messaging/folders_change_callback.h b/src/messaging/folders_change_callback.h index 77fe73e..732a2b2 100644 --- a/src/messaging/folders_change_callback.h +++ b/src/messaging/folders_change_callback.h @@ -25,10 +25,6 @@ namespace extension { namespace messaging { -extern const char* FOLDERSADDED; -extern const char* FOLDERSUPDATED; -extern const char* FOLDERSREMOVED; - class FoldersChangeCallback { public: typedef void (FoldersChangeCallback::*Signature)(const FolderPtrVector& conversations); diff --git a/src/messaging/message_folder.cc b/src/messaging/message_folder.cc index 9be347d..b016ec3 100644 --- a/src/messaging/message_folder.cc +++ b/src/messaging/message_folder.cc @@ -24,6 +24,16 @@ namespace messaging { using namespace tizen; namespace { + +const char* MESSAGE_FOLDER_ATTRIBUTE_ID = "id"; +const char* MESSAGE_FOLDER_ATTRIBUTE_PARENT_ID = "parentId"; +const char* MESSAGE_FOLDER_ATTRIBUTE_SERVICE_ID = "serviceId"; +const char* MESSAGE_FOLDER_ATTRIBUTE_CONTENT_TYPE = "contentType"; +const char* MESSAGE_FOLDER_ATTRIBUTE_NAME = "name"; +const char* MESSAGE_FOLDER_ATTRIBUTE_PATH = "path"; +const char* MESSAGE_FOLDER_ATTRIBUTE_TYPE = "type"; +const char* MESSAGE_FOLDER_ATTRIBUTE_SYNCHRONIZABLE = "synchronizable"; + const std::string FOLDER_TYPE_INBOX = "INBOX"; const std::string FOLDER_TYPE_OUTBOX = "OUTBOX"; const std::string FOLDER_TYPE_DRAFTS = "DRAFTS"; @@ -203,5 +213,28 @@ bool MessageFolder::isMatchingAttributeRange(const std::string& attribute_name, return false; } +FolderPtrVector filterFolders(tizen::AbstractFilterPtr filter, + const FolderPtrVector& source_folders) { + ScopeLogger(); + if (!filter) { + LoggerW("Filer is null."); + return source_folders; + } + + FolderPtrVector filtered_folders; + for (const auto& fp : source_folders) { + if (filter->isMatching(fp.get())) { + LoggerD("folder id:%s, folder name: %s, match: %s", fp->getId().c_str(), + fp->getName().c_str(), "true"); + filtered_folders.push_back(fp); + } else { + LoggerD("folder id:%s, folder name: %s, match: %s", fp->getId().c_str(), + fp->getName().c_str(), "false"); + } + } + + return filtered_folders; +} + } // messaging } // extension diff --git a/src/messaging/message_folder.h b/src/messaging/message_folder.h index 6969953..6007128 100644 --- a/src/messaging/message_folder.h +++ b/src/messaging/message_folder.h @@ -71,12 +71,23 @@ class MessageFolder : public tizen::FilterableObject { picojson::object attributes; }; -typedef std::shared_ptr FolderPtr; -typedef std::vector FolderPtrVector; - std::string messageFolderTypeToString(MessageFolderType); MessageFolderType stringToMessageFolderType(std::string type); +typedef std::vector> FolderPtrVector; + +FolderPtrVector filterFolders(tizen::AbstractFilterPtr filter, + const FolderPtrVector& source_folders); + +class MessagingInstance; + +struct FindFoldersTaskParams { + int account_id, callback_id; + std::string message_type; + MessagingInstance* instance; + std::shared_ptr filter; +}; + } // messaging } // extension diff --git a/src/messaging/messaging_util.cc b/src/messaging/messaging_util.cc index acee56a..11592e3 100644 --- a/src/messaging/messaging_util.cc +++ b/src/messaging/messaging_util.cc @@ -89,15 +89,6 @@ const char* MESSAGE_ATTACHMENT_ATTRIBUTE_MESSAGE_ID = "messageId"; const char* MESSAGE_ATTACHMENT_ATTRIBUTE_MIME_TYPE = "mimeType"; const char* MESSAGE_ATTACHMENT_ATTRIBUTE_FILE_PATH = "filePath"; -const char* MESSAGE_FOLDER_ATTRIBUTE_ID = "id"; -const char* MESSAGE_FOLDER_ATTRIBUTE_PARENT_ID = "parentId"; -const char* MESSAGE_FOLDER_ATTRIBUTE_SERVICE_ID = "serviceId"; -const char* MESSAGE_FOLDER_ATTRIBUTE_CONTENT_TYPE = "contentType"; -const char* MESSAGE_FOLDER_ATTRIBUTE_NAME = "name"; -const char* MESSAGE_FOLDER_ATTRIBUTE_PATH = "path"; -const char* MESSAGE_FOLDER_ATTRIBUTE_TYPE = "type"; -const char* MESSAGE_FOLDER_ATTRIBUTE_SYNCHRONIZABLE = "synchronizable"; - const char* MESSAGE_CONVERSATION_ATTRIBUTE_ID = "id"; const char* MESSAGE_CONVERSATION_ATTRIBUTE_TYPE = "type"; const char* MESSAGE_CONVERSATION_ATTRIBUTE_TIMESTAMP = "timestamp"; diff --git a/src/messaging/messaging_util.h b/src/messaging/messaging_util.h index 785189b..aab5c20 100644 --- a/src/messaging/messaging_util.h +++ b/src/messaging/messaging_util.h @@ -82,15 +82,6 @@ extern const char* MESSAGE_ATTACHMENT_ATTRIBUTE_MESSAGE_ID; extern const char* MESSAGE_ATTACHMENT_ATTRIBUTE_MIME_TYPE; extern const char* MESSAGE_ATTACHMENT_ATTRIBUTE_FILE_PATH; -extern const char* MESSAGE_FOLDER_ATTRIBUTE_ID; -extern const char* MESSAGE_FOLDER_ATTRIBUTE_PARENT_ID; -extern const char* MESSAGE_FOLDER_ATTRIBUTE_SERVICE_ID; -extern const char* MESSAGE_FOLDER_ATTRIBUTE_CONTENT_TYPE; -extern const char* MESSAGE_FOLDER_ATTRIBUTE_NAME; -extern const char* MESSAGE_FOLDER_ATTRIBUTE_PATH; -extern const char* MESSAGE_FOLDER_ATTRIBUTE_TYPE; -extern const char* MESSAGE_FOLDER_ATTRIBUTE_SYNCHRONIZABLE; - extern const char* MESSAGE_CONVERSATION_ATTRIBUTE_ID; extern const char* MESSAGE_CONVERSATION_ATTRIBUTE_TYPE; extern const char* MESSAGE_CONVERSATION_ATTRIBUTE_TIMESTAMP; @@ -232,13 +223,6 @@ class PostQueue { }; }; -struct FindFoldersTaskParams { - int account_id, callback_id; - std::string message_type; - MessagingInstance* instance; - std::shared_ptr filter; -}; - } // messaging } // extension #endif // MESSAGING_MESSAGING_UTIL_H_