messagingapp/msgui/appengine/inc/conversationmsgstorehandler.h
changeset 25 84d9eb65b26f
parent 23 238255e8b033
child 27 e4592d119491
child 37 518b245aa84c
--- 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 <msvapi.h>
 #include <ccsdefs.h>
+#include <QString>
 
 // 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<TInt>& 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