diff -r 238255e8b033 -r 84d9eb65b26f messagingapp/msgui/appengine/inc/conversationmsgstorehandler.h --- a/messagingapp/msgui/appengine/inc/conversationmsgstorehandler.h Fri Apr 16 14:56:15 2010 +0300 +++ b/messagingapp/msgui/appengine/inc/conversationmsgstorehandler.h Mon May 03 12:29:07 2010 +0300 @@ -21,13 +21,16 @@ // INCLUDE FILES #include #include +#include // FORWARD DECLARATIONS class CMsvSession; class MMsvSessionObserver; class DraftsModel; +class CClientMtmRegistry; +class CMmsClientMtm; +class CMmsNotificationClientMtm; -// CONSTANTS class ConversationMsgStoreHandler: public MMsvSessionObserver { @@ -84,6 +87,18 @@ * @param aIdArray Array of message ids. */ void DeleteMessages(RArray& aIdArray); + + /** + * Delete all draft messages. + */ + void DeleteAllDraftMessagesL(); + + /** + * Resend a specified message that has failed. + * @param aId TMsvId of the failed message + * @return bool true if succeeded + */ + bool ResendMessageL(TMsvId aId); /** * Returns the msv session object @@ -96,6 +111,80 @@ */ void FetchDraftMessages(DraftsModel* draftsModel); + /** + * Mark message as read and get the message type. + * @param messageId message Id + * @param msgType message type is written to this. + * @param msgType message sub type is written to this. + */ + void markAsReadAndGetType(int msgId, + int& msgType, + int& msgSubType); + + /** + * Extract the message type. + * @param entry message entry. + * @param msgType message type is written to this. + * @param msgType message sub type is written to this. + */ + void extractMsgType(const TMsvEntry& entry, + int& msgType, + int& msgSubType); + /** + * Query if the download operation be performed for + * a message notification entry + * @param aId, message notification id + * @return true if download operation is possible + */ + bool DownloadOperationSupported(const TMsvId& aId); + + + /** + * Sets content to messageId + * @param messageId, Message Id content + */ + void setNotificationMessageId(int messageId); + + /** + * Seeker method for getting mms notification estimated msg size + * @return Formatted string of msg size + */ + QString NotificationMsgSize(); + + /** + * Seeker method for getting mms notification class type + * @return Notification Class type string + */ + QString NotificationClass(); + + /** + * Seeker method for message status and error string + * mms notification's download state + * @param [OUT] status, msg status + * @param [OUT] statusStr, localized string of msg status + */ + void NotificationStatus(int& status, + QString& statusStr); + + /** + * Seeker method getting expiry info of a notification msg + * @param [OUT] expiryTime, notification's expiry time + * @param [OUT] expiryTimeQString, formatted string of + * notification's expiry time + */ + void NotificationExpiryDate( + TTime& expiryTime, + QString& expiryTimeStr); + + /** + * Download a specified message + * @param aId TMsvId of the message + * @return KErrNone if Download request is successful, + * KErrNotFound if settings are not available, + * KErrGeneral for other cases + */ + TInt DownloadMessageL(TMsvId aId); + private: /** @@ -169,7 +258,22 @@ * State */ TDraftHandlerState iState; - + /** + * Own. Mtm Registry + */ + CClientMtmRegistry* iMtmReg; + + /** + * MMS client mtm + */ + CMmsClientMtm* iMmsClient; + + /** + * Notification client mtm + */ + CMmsNotificationClientMtm* iNotificationClient; + + TBool iOfflineSupported; }; #endif // CONVERSATION_MSG_STORE_HANDLER_H