--- 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 */