diff options
author | Marko Minkkinen <marko.minkkinen@digia.com> | 2010-03-15 13:40:34 +0200 |
---|---|---|
committer | Marko Minkkinen <marko.minkkinen@digia.com> | 2010-03-15 13:40:34 +0200 |
commit | 5297e553dd0dabe67b7b65e50b5eb5cc7e906b9b (patch) | |
tree | a9b63e997d23e6ed331fb482224573475b154601 /src/messaging/modestengine_maemo_p.h | |
parent | 9887c2e994c90a1a9b49f158ad40aa0c9909a26a (diff) |
improved message monitoring, getMessage, showMessage, removeMessage etc.
Diffstat (limited to 'src/messaging/modestengine_maemo_p.h')
-rw-r--r-- | src/messaging/modestengine_maemo_p.h | 81 |
1 files changed, 77 insertions, 4 deletions
diff --git a/src/messaging/modestengine_maemo_p.h b/src/messaging/modestengine_maemo_p.h index a32cd4a2d7..35b4578f62 100644 --- a/src/messaging/modestengine_maemo_p.h +++ b/src/messaging/modestengine_maemo_p.h @@ -64,6 +64,7 @@ typedef QMap< QString, QString > ModestStringMap; typedef QList< ModestStringMap > ModestStringMapList; class QMessageService; +class QMessageStorePrivate; struct MessageQueryInfo { @@ -108,6 +109,53 @@ struct ModestMessage long long timeStamp; }; +typedef enum { + MessagingModestMessageNotDefined = 0, + MessagingModestMessageAnswered = 1<<0, + MessagingModestMessageDeleted = 1<<1, + MessagingModestMessageDraft = 1<<2, + MessagingModestMessageFlagged = 1<<3, + MessagingModestMessageSeen = 1<<4, + MessagingModestMessageAttachments = 1<<5, + MessagingModestMessageCached = 1<<6, + MessagingModestMessagePartial = 1<<7, + MessagingModestMessageExpunged = 1<<8, + MessagingModestMessageHasPriority = 1<<9|1<<10 +} MessagingModestMessageFlags; + +typedef enum { + MessagingModestMessagePriorityDefined = 0, + MessagingModestMessageHighPriority = 1<<9|1<<10, + MessagingModestMessageNormalPriority = 0<<9|0<<10, + MessagingModestMessageLowPriority = 0<<9|1<<10, + MessagingModestMessageSuspendedPriority = 1<<9|0<<10 +} MessagingModestMessagePriority; + +struct MessagingModestMimePart +{ + QString mimeType; + bool isAttachment; + QString fileName; +}; + +struct MessagingModestMessage +{ + QString url; + QString mimeType; + QString from; + QString to; + QString cc; + QString bcc; + QString replyTo; + QString subject; + qlonglong dateReceived; + qlonglong dateSent; + qlonglong size; + MessagingModestMessageFlags flags; + MessagingModestMessagePriority priority; + QList<MessagingModestMimePart> mimeParts; +}; + struct INotifyEvent { int watchDescriptor; @@ -173,6 +221,8 @@ public: ModestEngine(); ~ModestEngine(); + bool exportUpdates(const QMessageAccountId &id); + QMessageAccountIdList queryAccounts(const QMessageAccountFilter &filter, const QMessageAccountSortOrder &sortOrder, uint limit, uint offset, bool &isFiltered, bool &isSorted) const; int countAccounts(const QMessageAccountFilter &filter) const; @@ -185,12 +235,22 @@ public: QMessageFolder folder(const QMessageFolderId &id) const; QMessage message(const QMessageId &id) const; - bool queryMessages(QMessageService& messageService, const QMessageFilter &filter, const QMessageSortOrder &sortOrder, uint limit, uint offset) const; - bool queryMessages(QMessageService& messageService, const QMessageFilter &filter, const QString &body, QMessageDataComparator::MatchFlags matchFlags, const QMessageSortOrder &sortOrder, uint limit, uint offset) const; + bool removeMessage(const QMessageId &id, QMessageManager::RemovalOption option); + + bool queryMessages(QMessageService& messageService, const QMessageFilter &filter, + const QMessageSortOrder &sortOrder, uint limit, uint offset) const; + bool queryMessages(QMessageService& messageService, const QMessageFilter &filter, + const QString &body, QMessageDataComparator::MatchFlags matchFlags, + const QMessageSortOrder &sortOrder, uint limit, uint offset) const; bool countMessages(QMessageService& messageService, const QMessageFilter &filter); bool sendEmail(QMessage &message); bool composeEmail(const QMessage &message); + bool showMessage(const QMessageId &id); + + QMessageManager::NotificationFilterId registerNotificationFilter(QMessageStorePrivate& messageStore, + const QMessageFilter& filter); + void unregisterNotificationFilter(QMessageManager::NotificationFilterId notificationFilterId); private: QFileInfoList localFolders() const; @@ -217,21 +277,27 @@ private: int searchflags, uint minimumMessageSize) const; void watchAllKnownEmailFolders(); - void notification(const QMessageFolderId& folderId, const QMessageId& messageId, NotificationType notificationType) const; + void notification(const QMessageId& messageId, NotificationType notificationType) const; QMessageAccountId accountIdFromModestMessageId(const QString& modestMessageId) const; QMessageFolderId folderIdFromModestMessageId(const QString& modestMessageId, const QMessageAccountId accountId = QMessageAccountId()) 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 modestFolderIdFromMessageId(const QMessageId& messageId) const; QString modestMessageIdFromMessageId(const QMessageId& messageId) const; QMessageAccountId accountIdFromModestAccountId(const QString& accountId) const; QMessageFolderId folderIdFromModestFolderId(const QMessageAccountId& accountId, const QString& folderId) const; QMessageId messageIdFromModestMessageId(const QString& messageId) const; QMessageId messageIdFromModestMessageFilePath(const QString& messageFilePath) const; + void appendAttachmentToMessage(QMessage& message, QMessageContentContainer& attachment) const; + static QString unescapeString(const QString& string); static QString escapeString(const QString& string); @@ -262,6 +328,12 @@ private: //Data mutable int m_queryIds; mutable QList<MessageQueryInfo> m_pendingMessageQueries; + + QMap<QMessageManager::NotificationFilterId, QMessageFilter> m_filters; + QMessageManager::NotificationFilterId m_filterId; + QMessageStorePrivate* m_messageStore; + + QMap<QString, QDateTime> accountsLatestTimestamp; }; QTM_END_NAMESPACE @@ -277,7 +349,8 @@ Q_DECLARE_METATYPE(QtMobility::ModestStringMapList); Q_DECLARE_METATYPE(QtMobility::INotifyWatcher::FileNotification); Q_DECLARE_METATYPE(QtMobility::ModestUnreadMessageDBusStruct); Q_DECLARE_METATYPE(QtMobility::ModestAccountsUnreadMessagesDBusStruct); -Q_DECLARE_METATYPE(QtMobility::ModestMessage) +Q_DECLARE_METATYPE(QtMobility::ModestMessage); +Q_DECLARE_METATYPE(QtMobility::MessagingModestMimePart); #endif // MODESTENGINE_MAEMO_H |