summaryrefslogtreecommitdiffstats
path: root/src/messaging/modestengine_maemo_p.h
diff options
context:
space:
mode:
authorMarko Minkkinen <marko.minkkinen@digia.com>2010-03-22 18:50:31 +0200
committerMarko Minkkinen <marko.minkkinen@digia.com>2010-03-22 18:50:31 +0200
commit28df2ea8e8915df71dcdcd48753b876401cd8581 (patch)
treebdfbf3c2829db7361af9a038cc533ae11d62e04c /src/messaging/modestengine_maemo_p.h
parent5077629f689179cc9a0b8ef4e21e87c95a0d34a0 (diff)
Latest fixes and addMessage implementation
Diffstat (limited to 'src/messaging/modestengine_maemo_p.h')
-rw-r--r--src/messaging/modestengine_maemo_p.h40
1 files changed, 34 insertions, 6 deletions
diff --git a/src/messaging/modestengine_maemo_p.h b/src/messaging/modestengine_maemo_p.h
index 55986be4bf..ce94f239af 100644
--- a/src/messaging/modestengine_maemo_p.h
+++ b/src/messaging/modestengine_maemo_p.h
@@ -57,12 +57,15 @@
class QDBusInterface;
class QFileSystemWatcher;
+class QEventLoop;
QTM_BEGIN_NAMESPACE
typedef QMap< QString, QString > ModestStringMap;
typedef QList< ModestStringMap > ModestStringMapList;
+static const int maxCacheSize = 100;
+
class QMessageService;
class QMessageServicePrivate;
class QMessageStorePrivate;
@@ -81,6 +84,7 @@ struct MessageQueryInfo
int currentFilterListIndex;
int handledFiltersCount;
QMessageIdList ids;
+ QString realAccountId;
};
struct ModestUnreadMessageDBusStruct
@@ -239,6 +243,8 @@ public:
QMessageFolder folder(const QMessageFolderId &id) const;
QMessage message(const QMessageId &id) const;
+ bool addMessage(QMessage &message);
+ bool updateMessage(QMessage &message);
bool removeMessage(const QMessageId &id, QMessageManager::RemovalOption option);
bool queryMessages(QMessageService& messageService, const QMessageFilter &filter,
@@ -287,25 +293,46 @@ private:
QMessageFolderId folderIdFromModestMessageId(const QString& modestMessageId,
const QMessageAccountId accountId = QMessageAccountId()) const;
- MessagingModestMessage messageFromModest(const QString& accountId, const QString &folderId, const QString& messageId) const;
+ MessagingModestMessage messageFromModest(const QString& accountId,
+ const QString &folderId,
+ const QString& messageId) const;
QString modestAccountIdFromAccountId(const QMessageAccountId& accountId) const;
QString modestFolderIdFromFolderId(const QMessageFolderId& folderId) const;
QString modestFolderUriFromFolderId(const QMessageFolderId& folderId) const;
- QString modestAccountIdFromMessageId(const QMessageId& messageId) const;
+ QString modestAccountIdFromMessageId(const QMessageId& messageId, bool checkProtocol = true) const;
+ QString modestAccountIdFromFolderId(const QMessageFolderId& folderId, bool checkProtocol = true) const;
QString modestFolderIdFromMessageId(const QMessageId& messageId) const;
QString modestMessageIdFromMessageId(const QMessageId& messageId) const;
+ void replaceProtocol(QString& id, const QString& newProtocol) const;
+ QMessageAccountId realAccountId(const MessagingModestMessage& modestMessage) const;
+ QMessageAccountId accountIdFromMessageId(const QMessageId& messageId) const;
+ QMessageAccountId accountIdFromFolderId(const QMessageFolderId& folderId) const;
QMessageAccountId accountIdFromModestAccountId(const QString& accountId) const;
- QMessageFolderId folderIdFromModestFolderId(const QMessageAccountId& accountId, const QString& folderId) const;
+ QMessageFolderId folderIdFromModestFolderId(const QMessageAccountId& accountId,
+ bool isLocalFolder,
+ const QString& folderId) const;
QMessageId messageIdFromModestMessageId(const QString& messageId) const;
QMessageId messageIdFromModestMessageFilePath(const QString& messageFilePath) const;
- QMessage messageFromModestMessage(const MessagingModestMessage& modestMessage) const;
+ QMessage messageFromModestMessage(const MessagingModestMessage& modestMessage,
+ QMessageAccountId accountId = QMessageAccountId()) const;
void appendAttachmentToMessage(QMessage& message, QMessageContentContainer& attachment) const;
static QString unescapeString(const QString& string);
static QString escapeString(const QString& string);
+ QMessage::StandardFolder standardFolderFromModestFolderId(const QString& modestFolderId) const;
+ QString modestFolderIdFromStandardFolder(QMessage::StandardFolder standardFolder) const;
+
+ ModestStringMap getModestSenderInfo(QMessage &message);
+ ModestStringMap getModestRecipients(QMessage &message);
+ ModestStringMap getModestMessageData(QMessage &message);
+ ModestStringMapList getModestAttachments(QMessage &message);
+ ModestStringMapList getModestImages(QMessage &message);
+ uint getModestPriority(QMessage &message);
+ ModestStringMap getModestHeaders(QMessage &message);
+
private slots:
void searchMessagesHeadersReceivedSlot(QDBusMessage msg);
void searchMessagesHeadersFetchedSlot(QDBusMessage msg);
@@ -314,9 +341,8 @@ private slots:
void pendingGetUnreadMessagesFinishedSlot(QDBusPendingCallWatcher* pendingCallWatcher);
void pendingSearchFinishedSlot(QDBusPendingCallWatcher* pendingCallWatcher);
void fileChangedSlot(int watchDescriptor, const QString& filePath, uint events);
-
- // Async D-BUS call ended
void sendEmailCallEnded(QDBusPendingCallWatcher *watcher);
+ void addMessageCallEnded(QDBusPendingCallWatcher *watcher);
private: //Data
GConfClient *m_gconfclient;
@@ -337,6 +363,8 @@ private: //Data
QMessageStorePrivate* m_messageStore;
QMap<QString, QDateTime> accountsLatestTimestamp;
+
+ mutable QMap<QString, QMessage> m_messageCache;
};
QTM_END_NAMESPACE