summaryrefslogtreecommitdiffstats
path: root/src/messaging/modestengine_maemo_p.h
diff options
context:
space:
mode:
authorMarko Minkkinen <marko.minkkinen@digia.com>2010-09-01 18:57:24 +0300
committerMarko Minkkinen <marko.minkkinen@digia.com>2010-09-01 18:57:24 +0300
commit09f231b3079441b7a3fd5b7581b207e277a713fe (patch)
tree649be83904f136d4b1e001579b593f38798a9f64 /src/messaging/modestengine_maemo_p.h
parent7c84d51f857ff3f2ebf2ba6df433ba07624ce3f1 (diff)
Maemo5 message cache and prefilter functionality and related tests
Diffstat (limited to 'src/messaging/modestengine_maemo_p.h')
-rw-r--r--src/messaging/modestengine_maemo_p.h33
1 files changed, 30 insertions, 3 deletions
diff --git a/src/messaging/modestengine_maemo_p.h b/src/messaging/modestengine_maemo_p.h
index ecc96c2149..2265216e28 100644
--- a/src/messaging/modestengine_maemo_p.h
+++ b/src/messaging/modestengine_maemo_p.h
@@ -72,6 +72,7 @@ static const int maxCacheSize = 100000;
class QMessageService;
class QMessageServicePrivate;
class QMessageStorePrivate;
+class MessageQueryThread;
struct MessageQueryInfo
{
@@ -90,6 +91,8 @@ struct MessageQueryInfo
QString realAccountId;
bool isQuery;
bool returnWithSingleShot;
+ bool allMessagesQuery;
+ MessageQueryThread *queryThread;
};
struct ModestUnreadMessageDBusStruct
@@ -311,7 +314,7 @@ public:
bool retrieveBody(QMessageService& messageService, const QMessageId &id);
bool retrieve(QMessageService& messageService, const QMessageId &messageId, const QMessageContentContainerId &id, QMessage *msg = 0);
- void clearHeaderCache();
+ bool retrieveMessageMimeInformation(QMessage& message);
private:
QFileInfoList localFolders() const;
@@ -391,6 +394,10 @@ private:
bool accountExists(const QMessageAccountId& accountId) const;
+ void mimeInformationFromModestMessageToMessage(const MessagingModestMessage& modestMessage,
+ QMessage& message) const;
+
+
private slots:
void searchMessagesHeadersReceivedSlot(QDBusMessage msg);
void searchMessagesHeadersFetchedSlot(QDBusMessage msg);
@@ -405,6 +412,7 @@ private slots:
void stateChanged(QMessageService::State newState);
void returnQueryResultsSlot();
void modestFolderContentsChangedSlot(QDBusMessage msg);
+ void messageQueryFinishedSlot(void* queryThread, QList<QtMobility::QMessageId> ids);
private: //Data
GConfClient *m_gconfclient;
@@ -417,7 +425,6 @@ private: //Data
mutable QHash<QString, QMessageAccount> iAccounts;
mutable QMessageAccountId iDefaultEmailAccountId;
- mutable int m_queryIds;
mutable QList<MessageQueryInfo> m_pendingMessageQueries;
QMap<QMessageManager::NotificationFilterId, QMessageFilter> m_filters;
@@ -429,12 +436,13 @@ private: //Data
mutable QStringList m_latestAddOrRemoveNotifications;
mutable QMap<QString, MessagingModestFolder> m_folderCache;
- mutable QMap<QString, QMessage> m_messageCache;
mutable QMap<int, QMessageServicePrivate*> m_pending_downloads;
mutable QMessageFolderIdList m_observed_folders;
+ mutable bool m_allEmailMessagesInCache;
+
// Following variables are used for sync queries
mutable QMessageService m_service;
mutable QEventLoop m_eventLoop;
@@ -444,6 +452,24 @@ private: //Data
mutable bool m_isFiltered;
};
+class MessageQueryThread : public QThread
+{
+ Q_OBJECT
+
+public:
+ MessageQueryThread(const QMessageFilter &filter, const QMessageSortOrder &sortOrder);
+ ~MessageQueryThread();
+
+ void run();
+
+signals:
+ void queryFinished(void* queryThread, QList<QtMobility::QMessageId> ids);
+
+private:
+ QMessageFilter m_filter;
+ QMessageSortOrder m_sortOrder;
+};
+
QTM_END_NAMESPACE
// Marshall the MyStructure data into a D-Bus argument
@@ -460,6 +486,7 @@ Q_DECLARE_METATYPE(QtMobility::ModestAccountsUnreadMessagesDBusStruct);
Q_DECLARE_METATYPE(QtMobility::ModestMessage);
Q_DECLARE_METATYPE(QtMobility::MessagingModestMimePart);
Q_DECLARE_METATYPE(QtMobility::MessagingModestFolder);
+Q_DECLARE_METATYPE(QList<QtMobility::QMessageId>);
#endif // MODESTENGINE_MAEMO_H