namespace messaging {
enum MessageFolderType {
- MESSAGE_FOLDER_TYPE_INBOX,
+ MESSAGE_FOLDER_TYPE_INBOX = 1,
MESSAGE_FOLDER_TYPE_OUTBOX,
MESSAGE_FOLDER_TYPE_DRAFTS,
MESSAGE_FOLDER_TYPE_SENTBOX,
}
std::string content_type = getMsgServiceTypeString();
- std::string empty = "";
- std::shared_ptr<MessageFolder> folder;
-
- /* For SMS and MMS, folderId can be one of these values:
- *
- * INBOX = 1,
- * OUTBOX = 2,
- * DRAFTS = 3,
- * SENTBOX = 4
- */
-
- for (int i = 1; i < 5; i++) {
+ FolderPtr folder;
+
+ auto filter = callback->getFilter();
+ for (int i = MESSAGE_FOLDER_TYPE_INBOX; i < MESSAGE_FOLDER_TYPE_NOTSTANDARD; ++i) {
folder = std::make_shared<MessageFolder>(
- std::to_string(i), empty, std::to_string(m_id), content_type,
- MessagingUtil::messageFolderTypeToString((MessageFolderType)i), empty, (MessageFolderType)i,
+ std::to_string(i), "", std::to_string(m_id), content_type,
+ MessagingUtil::messageFolderTypeToString(static_cast<MessageFolderType>(i)), "", static_cast<MessageFolderType>(i),
false);
-
- callback->addFolder(folder);
+ if (filter->isMatching(folder.get())) {
+ callback->addFolder(folder);
+ }
}
guint id = g_idle_add(findFoldersCB, static_cast<void*>(callback));