ipsservices/ipssosplugin/inc/ipsplgsosbaseplugin.h
branchRCL_3
changeset 25 3533d4323edc
parent 24 d189ee25cf9d
--- a/ipsservices/ipssosplugin/inc/ipsplgsosbaseplugin.h	Tue Aug 31 15:04:17 2010 +0300
+++ b/ipsservices/ipssosplugin/inc/ipsplgsosbaseplugin.h	Wed Sep 01 12:28:57 2010 +0100
@@ -19,16 +19,17 @@
 #ifndef IPSPLGSOSBASEPLUGIN_H
 #define IPSPLGSOSBASEPLUGIN_H
 
-#include "CFSMailPlugin.h"
-#include "MFSMailRequestObserver.h"
+//<cmail>
+#include "cfsmailplugin.h"
+#include "mfsmailrequestobserver.h"
+//</cmail>
 #include <rconnmon.h>
+
 #include "ipsplgsosbaseplugin.hrh"
 #include "ipsplgcommon.h"
 #include "ipsplgsingleopwatcher.h"
 #include "ipsplgtimeroperation.h"
-//<Qmail>
-#include "ipsstateextension.h"
-//</Qmail>
+
 class CMsvSession;
 class CIpsPlgTimerOperation;
 class CIpsPlgMsgMapper;
@@ -37,10 +38,11 @@
 class CIpsPlgSettingsObserver;
 class CRepository;
 class CIpsPlgSearch;
-// <qmail> CIpsSetDataApi removed
+class CIpsSetDataApi;
 class CIpsPlgSmtpService;
 class CIpsPlgSyncStateHandler;
 class CIpsPlgEventHandler;
+class CIpsPlgOperationWait;
 
 /**
  *  FreestyleIpsServices plugin class
@@ -48,23 +50,13 @@
  *  @lib ipssosplugin.lib
  *  @since FSEmail 2.0
  */
-NONSHARABLE_CLASS ( CIpsPlgSosBasePlugin ) :
+class CIpsPlgSosBasePlugin :
     public CFSMailPlugin,
-    public MIpsPlgSingleOpWatcher,
-    public MFSMailRequestObserver, // a dummy observer
-    public MIpsPlgTimerOperationCallBack,
-    public MStateObserverCallback
+                             public MIpsPlgSingleOpWatcher,
+                             public MFSMailRequestObserver, // a dummy observer
+                             public MIpsPlgTimerOperationCallBack
     {
-//<Qmail>
-public: //from MStateObserverCallback
-    void ActiveFolderChanged(
-        const TFSMailMsgId& aActiveMailboxId,
-        const TFSMailMsgId& aActiveFolderId);
-    
-public://from CExtendableEmail
 
-    CEmailExtension* ExtensionL( const TUid& aInterfaceUid );
-//</Qmail>    
 public:
 
     /**
@@ -72,7 +64,7 @@
     * Destructor
     */
     IMPORT_C virtual ~CIpsPlgSosBasePlugin();
-    
+
 public: //from MIpsPlgSingleOpWatcher
 
     /**
@@ -185,95 +177,27 @@
         const TFSMailMsgId& aMailBoxId,
         const TFSMailMsgId& aFolderId,
         const RArray<TFSMailMsgId>& aMessages );
-		
-//<qmail>
-    virtual void DeleteMessagesByUidL(
-        const TFSMailMsgId& aMailBoxId,
-        const TFSMailMsgId& aFolderId,
-        const RArray<TFSMailMsgId>& aMessages,
-        MFSMailRequestObserver& aOperationObserver,
-        const TInt aRequestId);
-//</qmail>
 
     // MESSAGE STORE OPERATIONS
 
     virtual CFSMailMessage* CreateMessageToSendL(
         const TFSMailMsgId& aMailBoxId );
-    
-// <qmail>
-    /**
-     * Creates new email message to message store asynchronously
-     *
-     * @param aMailBoxId msv entry id to mailbox which setting are used
-     * @param aOperationObserver Observer for the operation
-     * @param aRequestId Id of the operation
-     */
-    virtual void CreateMessageToSendL(
-	    const TFSMailMsgId& aMailBoxId,
-        MFSMailRequestObserver& aOperationObserver,
-        const TInt aRequestId );
-// </qmail>
 
     virtual CFSMailMessage* CreateForwardMessageL(
         const TFSMailMsgId& aMailBoxId,
         const TFSMailMsgId& aOriginalMessageId,
         const TDesC& aHeaderDescriptor );
 
-// <qmail>
-    /**
-     * Creates a forward email message to message store asynchronously
-     *
-     * @param aMailBoxId msv entry id to mailbox which setting are used
-     * @param aOriginalMessageId id of the forwarded message
-     * @param aOperationObserver Observer for the operation
-     * @param aRequestId Id of the operation
-     */
-    virtual void CreateForwardMessageL( 
-        const TFSMailMsgId& aMailBoxId,
-        const TFSMailMsgId& aOriginalMessageId,
-        MFSMailRequestObserver& aOperationObserver,
-        const TInt aRequestId,
-        const TDesC& aHeaderDescriptor = KNullDesC );
-// </qmail>
-
     virtual CFSMailMessage* CreateReplyMessageL(
         const TFSMailMsgId& aMailBoxId,
         const TFSMailMsgId& aOriginalMessageId,
         const TBool aReplyToAll,
         const TDesC& aHeaderDescriptor );
 
-// <qmail>
-    /**
-     * Creates new reply message to message store asynchronously
-     *
-     * @param aMailBoxId msv entry id to mailbox which setting are used
-     * @param aOriginalMessageId id of the replied message
-     * @param aReplyToAll reply to all recipients
-     * @param aOperationObserver Observer for the operation
-     * @param aRequestId Id of the operation
-     */
-    virtual void CreateReplyMessageL( 
-        const TFSMailMsgId& aMailBoxId, 
-        const TFSMailMsgId& aOriginalMessageId,
-        const TBool aReplyToAll,
-        MFSMailRequestObserver& aOperationObserver,
-        const TInt aRequestId,
-        const TDesC& aHeaderDescriptor );
-// </qmail>
-       
     virtual void StoreMessageL(
         const TFSMailMsgId& aMailBoxId,
         CFSMailMessage& aMessage );
 
-
-    // <qmail>
-    virtual void StoreMessagesL(
-            const TFSMailMsgId& aMailBoxId,
-            RPointerArray<CFSMailMessage> &messages,
-            MFSMailRequestObserver& aOperationObserver,
-            const TInt aRequestId );
-    // </qmail>
-            
     virtual void GetMessagesL(
         const TFSMailMsgId& aMailBoxId,
         const TFSMailMsgId& aFolderId,
@@ -303,18 +227,6 @@
         const TFSMailMsgId& aParentPartId,
         const TDesC& aContentType,
         const TDesC& aFilePath );
-    
-    // <qmail>
-    virtual void NewChildPartFromFileL(
-        const TFSMailMsgId& aMailBoxId,
-        const TFSMailMsgId& aParentFolderId,
-        const TFSMailMsgId& aMessageId,
-        const TFSMailMsgId& aParentPartId,
-        const TDesC& aContentType,
-        const TDesC& aFilePath, 
-        MFSMailRequestObserver& aOperationObserver,
-        const TInt aRequestId );
-    // </qmail>
 
     /**
      * Creates attachment based on file handle
@@ -347,18 +259,7 @@
         const TFSMailMsgId& aMessageId,
         const TFSMailMsgId& aParentPartId,
         const TFSMailMsgId& aPartId);
-    
-    // <qmail>
-    virtual void RemoveChildPartL(
-        const TFSMailMsgId& aMailBoxId,
-        const TFSMailMsgId& aParentFolderId,
-        const TFSMailMsgId& aMessageId,
-        const TFSMailMsgId& aParentPartId,
-        const TFSMailMsgId& aPartId,
-        MFSMailRequestObserver& aOperationObserver,
-        const TInt aRequestId );
-    // </qmail>
-        
+
     virtual CFSMailMessagePart* MessagePartL(
         const TFSMailMsgId& aMailBoxId,
         const TFSMailMsgId& aParentFolderId,
@@ -413,13 +314,6 @@
         const TFSMailMsgId& aMessageId,
         CFSMailMessagePart& aMessagePart);
 
-    //<qmail>
-    virtual void StoreMessagePartsL(
-        RPointerArray<CFSMailMessagePart>& aMessagePart,
-        MFSMailRequestObserver& aOperationObserver,
-        const TInt aRequestId );
-    //<qmail>
-
     virtual void UnregisterRequestObserver( TInt aRequestId );
 
     // MESSAGE SENDING
@@ -428,11 +322,6 @@
 
     virtual void SendMessageL( CFSMailMessage& aMessage );
 
-    virtual void SendMessageL(
-        CFSMailMessage& aMessage,
-        MFSMailRequestObserver& aOperationObserver,
-        const TInt aRequestId );
-
     // OPERATION HANDLING
 
     virtual void GoOnlineL( const TFSMailMsgId& aMailBoxId );
@@ -498,6 +387,8 @@
        const TFSMailMsgId& aMailBoxId,
        const TDesC& aUsername,
        const TDesC& aPassword );
+    
+    virtual CEmailExtension* ExtensionL( const TUid& aInterfaceUid );
 
 public:
 
@@ -595,14 +486,6 @@
      */
     TBool IsUnderUiProcess();
 
-    // <qmail> new function
-    /*
-     * Checks whether given mailbox has ongoing operations or not
-     * @param aMailboxId
-     * @return true/false
-     */
-    TBool HasOperations( const TFSMailMsgId& aMailboxId );
-    // </qmail>
 protected:
 
     /*
@@ -666,14 +549,6 @@
         const TFSMailMsgId& aSourceFolderId,
         const TFSMailMsgId& aDestinationFolderId );
 
-    //<Qmail>
-    /**
-     * function to handle active folder changed events
-     */
-    virtual void HandleActiveFolderChangeL(
-            const TFSMailMsgId& aActiveMailboxId,
-            const TFSMailMsgId& aActiveFolderId);
-    //</Qmail>
 private:
 
     /**
@@ -739,8 +614,15 @@
             const TFSMailMsgId& aMailBoxId,
             const TFSMailMsgId& aOriginalMessageId,
             const TDesC& aHeaderDescriptor );
-    
-private:
+
+    /**
+     * Resolves the possible signature text to be added to message body.
+     * 
+     * @return Pointer to the descriptor containing the signature text, or
+     *         NULL if signature adding is not set or signature text is
+     *         of zero length. Ownership to caller.
+     */
+    HBufC* ResolveSignatureTextL( const TFSMailMsgId& aMailBoxId );
 
     /**
     * Maps symbian msv api's folder type to fs folder type
@@ -814,7 +696,8 @@
     // Search Engine
     CIpsPlgSearch*  iSearch;
 
-    // <qmail> iSettingsApi removed
+    // interface to mailbox settings
+    CIpsSetDataApi*     iSettingsApi;
 
     // maps symbian events to fs events
     CIpsPlgEventHandler*    iEventHandler;
@@ -835,10 +718,14 @@
 
     // flag indicates is instance under FSEmail.exe
     TBool iIsUnderUiProcess;
+
+    // <cmail> delete draft synchronously
+    CActiveSchedulerWait iWait;
+	// </cmail>
     
-    //<Qmail>
-    CIpsStateExtension*    iStateExtension;//owned
-    //</Qmail>
+    CIpsPlgOperationWait* iWaitDeleteMessage;
+    CMsvEntry* icEntry;
+    CMsvOperation* iMsvOpDeleteMessage;
 	};
 
 #endif /* IPSPLGSOSBASEPLUGIN_H */