diff -r dcf0eedfc1a3 -r d189ee25cf9d emailservices/emailstore/base_plugin/inc/BasePlugin.h --- a/emailservices/emailstore/base_plugin/inc/BasePlugin.h Thu Aug 19 09:38:05 2010 +0300 +++ b/emailservices/emailstore/base_plugin/inc/BasePlugin.h Tue Aug 31 15:04:17 2010 +0300 @@ -22,20 +22,24 @@ #include #include -#include "cfsmailplugin.h" +#include "CFSMailPlugin.h" #include "mmrorganizer.h" // -#include "msgstorefolderutils.h" -#include "msgstoremailbox.h" -#include "msgstoremailboxobserver.h" -#include "msgstoremessage.h" -#include "msgstoreobserver.h" -#include "debuglogmacros.h" +#include "MsgStoreFolderUtils.h" +#include "MsgStoreMailBox.h" +#include "MsgStoreMailBoxObserver.h" +#include "MsgStoreMessage.h" +#include "MsgStoreObserver.h" +#include "DebugLogMacros.h" // -#include "basemrinfoobject.h" -#include "map.h" +// Entire CBasePlugin class is exported in 10.1 +#include "baseplugindef.h" +// + +#include "BaseMrInfoObject.h" +#include "Map.h" class CMsgStore; @@ -46,15 +50,26 @@ class CMailboxInfo; class CSearchHandler; class HMailIterator; +class CDelayedOp; class CDelayedOpsManager; class MDelayedOpsManager; +// +/** +* reply/forward message creation parameters +*/ +struct TReplyForwardParams + { + HBufC* iHeader; // reply/forward header, ownership stays in UI + HBufC* iSmartTag; // smart reply/forward tag, ownership stays in UI + }; +// /** * Notes for derived classes: * GetPluginId - you must override this to return the ECOM id of the plugin. */ -class CBasePlugin : +class BASEPLUGIN_EXPORT CBasePlugin : public CFSMailPlugin, public MMsgStoreObserver, protected MMsgStoreMailBoxObserver @@ -68,7 +83,11 @@ //private components. friend class CDelayedDeleteMessagesOp; friend class CDelayedSetContentOp; - + friend class CDelayedMessageStorerOp; + // + friend class CDelayedAddNewOrRemoveChildPartOp; + friend class CDelayedOp; + // protected: struct TOngoingFetchInfo; struct TCacheLine @@ -82,10 +101,10 @@ public: static CBasePlugin* NewL(); static CBasePlugin* NewLC(); - IMPORT_C virtual ~CBasePlugin(); + virtual ~CBasePlugin(); protected: - IMPORT_C CBasePlugin(); - IMPORT_C void ConstructL(); + CBasePlugin(); + void ConstructL(); // CFSMailPlugin // public: @@ -94,90 +113,90 @@ * This methoed must be called before destruction of * CBasePlugin derived class. To fix bug EIZU-7XVF2Z. */ - IMPORT_C void DeleteDelayedOpsManager(); - - IMPORT_C virtual void ListMailBoxesL( + void DeleteDelayedOpsManager(); + virtual void ListMailBoxesL( RArray& aMailboxes ); - IMPORT_C virtual CFSMailBox* GetMailBoxByUidL( + virtual CFSMailBox* GetMailBoxByUidL( const TFSMailMsgId& aMailBox); - IMPORT_C virtual void DeleteMailBoxByUidL( + virtual void DeleteMailBoxByUidL( const TFSMailMsgId& aMailBoxId, MFSMailRequestObserver& aOperationObserver, const TInt aRequestId ); - IMPORT_C virtual TDesC& GetBrandingIdL( + virtual TDesC& GetBrandingIdL( const TFSMailMsgId& aMailboxId ); - IMPORT_C virtual void MoveMessagesL( + virtual void MoveMessagesL( const TFSMailMsgId& aMailBoxId, const RArray& aMessageIds, const TFSMailMsgId& aSourceFolderId, const TFSMailMsgId& aDestinationFolderId ); - IMPORT_C virtual void CopyMessagesL( + virtual void CopyMessagesL( const TFSMailMsgId& aMailBoxId, const RArray& aMessageIds, RArray& aNewMessages, const TFSMailMsgId& aSourceFolderId, const TFSMailMsgId& aDestinationFolderId ); - IMPORT_C MDesCArray* GetMrusL( + MDesCArray* GetMrusL( const TFSMailMsgId& aMailBoxId ); - IMPORT_C void SetMrusL( + void SetMrusL( const TFSMailMsgId& aMailBoxId, MDesCArray* aNewMruList ); - IMPORT_C void GoOnlineL( + void GoOnlineL( const TFSMailMsgId& aMailBoxId ); - IMPORT_C void GoOfflineL( + void GoOfflineL( const TFSMailMsgId& aMailBoxId ); - IMPORT_C const TFSProgress GetLastSyncStatusL( + const TFSProgress GetLastSyncStatusL( const TFSMailMsgId& aMailBoxId ); - IMPORT_C void RefreshNowL( + void RefreshNowL( const TFSMailMsgId& aMailBoxId, MFSMailRequestObserver& aOperationObserver, - TInt aRequestId ); + TInt aRequestId, + const TBool aSilentConnection=EFalse ); - IMPORT_C virtual CFSMailFolder* GetFolderByUidL( + virtual CFSMailFolder* GetFolderByUidL( const TFSMailMsgId& aMailBoxId, const TFSMailMsgId& aFolderId ); - IMPORT_C virtual CFSMailFolder* CreateFolderL( + virtual CFSMailFolder* CreateFolderL( const TFSMailMsgId& aMailBoxId, const TFSMailMsgId& aFolderId, const TDesC& aFolderName, const TBool aSync ); - IMPORT_C virtual void DeleteFolderByUidL( + virtual void DeleteFolderByUidL( const TFSMailMsgId& aMailBox, const TFSMailMsgId& aFolder ); - IMPORT_C virtual void ListFoldersL( + virtual void ListFoldersL( const TFSMailMsgId& aMailBoxId, const TFSMailMsgId& aFolderId, RPointerArray& aFolderList ); - IMPORT_C virtual void ListFoldersL( + virtual void ListFoldersL( const TFSMailMsgId& aMailBoxId, RPointerArray& aFolderList ); - IMPORT_C virtual TFSMailMsgId GetStandardFolderIdL( + virtual TFSMailMsgId GetStandardFolderIdL( const TFSMailMsgId& aMailBoxId, const TFSFolderType aFolderType ); - IMPORT_C virtual MFSMailIterator* ListMessagesL( + virtual MFSMailIterator* ListMessagesL( const TFSMailMsgId& aMailBoxId, const TFSMailMsgId& aFolderId, const TFSMailDetails aDetails, const RArray& aSorting ); - IMPORT_C virtual CFSMailMessage* GetMessageByUidL( + virtual CFSMailMessage* GetMessageByUidL( const TFSMailMsgId& aMailBoxId, const TFSMailMsgId& aFolderId, const TFSMailMsgId& aMessageId, @@ -187,30 +206,51 @@ * The delete is executed asynchronously. The base plugin will queue * the request and return immediately. */ - IMPORT_C virtual void DeleteMessagesByUidL( + virtual void DeleteMessagesByUidL( const TFSMailMsgId& aMailBoxId, const TFSMailMsgId& aFolderId, const RArray& aMessages ); - IMPORT_C virtual CFSMailMessage* CreateMessageToSendL( + virtual CFSMailMessage* CreateMessageToSendL( const TFSMailMsgId& aMailBox ); +// + virtual void CreateMessageToSendL( + const TFSMailMsgId& aMailBoxId, + MFSMailRequestObserver& aOperationObserver, + const TInt aRequestId ); +// - IMPORT_C virtual CFSMailMessage* CreateForwardMessageL( + virtual CFSMailMessage* CreateForwardMessageL( const TFSMailMsgId& aMailBox, const TFSMailMsgId& aOriginal, const TDesC& aHeaderDescriptor ); - IMPORT_C virtual CFSMailMessage* CreateReplyMessageL( + virtual CFSMailMessage* CreateReplyMessageL( const TFSMailMsgId& aMailBoxId, const TFSMailMsgId& aOriginalMessageId, const TBool aReplyToAll, const TDesC& aHeaderDescriptor ); - IMPORT_C virtual void StoreMessageL( + virtual void StoreMessageL( const TFSMailMsgId& aMailBoxId, CFSMailMessage& aMessage ); - - IMPORT_C virtual void FetchMessagesL( + +// + void StoreMessagesL( + const TFSMailMsgId& aMailBoxId, + RPointerArray &messages, + MFSMailRequestObserver& aOperationObserver, + const TInt aRequestId ); +// + +// + virtual void StoreMessagePartsL( + RPointerArray& aMessageParts, + MFSMailRequestObserver& aOperationObserver, + const TInt aRequestId); +// + + virtual void FetchMessagesL( const TFSMailMsgId& aMailBoxId, const TFSMailMsgId& aFolderId, const RArray& aMessageIds, @@ -218,7 +258,7 @@ MFSMailRequestObserver& aObserver, TInt aRequestId ); - IMPORT_C virtual void FetchMessagePartsL( + virtual void FetchMessagePartsL( const TFSMailMsgId& aMailBoxId, const TFSMailMsgId& aFolderId, const TFSMailMsgId& aMessageId, @@ -227,21 +267,21 @@ const TInt aRequestId, const TUint aPreferredByteCount ); - IMPORT_C virtual void GetMessagesL( + virtual void GetMessagesL( const TFSMailMsgId& aMailBoxId, const TFSMailMsgId& aParentFolderId, const RArray& aMessageIds, RPointerArray& aMessageList, TFSMailDetails aDetails ); - IMPORT_C virtual void ChildPartsL( + virtual void ChildPartsL( const TFSMailMsgId& aMailBoxId, const TFSMailMsgId& aParentFolderId, const TFSMailMsgId& aMessageId, const TFSMailMsgId& aParentId, RPointerArray& aParts ); - IMPORT_C virtual CFSMailMessagePart* NewChildPartL( + virtual CFSMailMessagePart* NewChildPartL( const TFSMailMsgId& aMailBoxId, const TFSMailMsgId& aParentFolderId, const TFSMailMsgId& aMessageId, @@ -249,7 +289,7 @@ const TFSMailMsgId& aInsertBefore, const TDesC& aContentType ); - IMPORT_C virtual CFSMailMessagePart* CopyMessageAsChildPartL( + virtual CFSMailMessagePart* CopyMessageAsChildPartL( const TFSMailMsgId& aMailBoxId, const TFSMailMsgId& aParentFolderId, const TFSMailMsgId& aMessageId, @@ -257,47 +297,57 @@ const TFSMailMsgId& aInsertBefore, const CFSMailMessage& aMessage ); - IMPORT_C virtual void RemoveChildPartL( + virtual void RemoveChildPartL( const TFSMailMsgId& aMailBoxId, const TFSMailMsgId& aParentFolderId, const TFSMailMsgId& aMessageId, const TFSMailMsgId& aParentPartId, const TFSMailMsgId& aPartId ); + // + virtual void RemoveChildPartL( + const TFSMailMsgId& aMailBoxId, + const TFSMailMsgId& aParentFolderId, + const TFSMailMsgId& aMessageId, + const TFSMailMsgId& aParentPartId, + const TFSMailMsgId& aPartId, + MFSMailRequestObserver& aOperationObserver, + const TInt aRequestId ); + // - IMPORT_C virtual void SetPartContentFromFileL( + virtual void SetPartContentFromFileL( const TFSMailMsgId& aMailBoxId, const TFSMailMsgId& aParentFolderId, const TFSMailMsgId& aMessageId, const TFSMailMsgId& aMessagePartId, const TDesC& aFilePath ); - IMPORT_C virtual void StoreMessagePartL( + virtual void StoreMessagePartL( const TFSMailMsgId& aMailBoxId, const TFSMailMsgId& aParentFolderId, const TFSMailMsgId& aMessageId, CFSMailMessagePart& aMessagePart ); - IMPORT_C virtual CFSMailMessagePart* MessagePartL( + virtual CFSMailMessagePart* MessagePartL( const TFSMailMsgId& aMailBoxId, const TFSMailMsgId& aParentFolderId, const TFSMailMsgId& aMessageId, const TFSMailMsgId& aMessagePartId ); - IMPORT_C virtual TInt GetMessagePartFileL( + virtual TInt GetMessagePartFileL( const TFSMailMsgId& aMailBoxId, const TFSMailMsgId& aParentFolderId, const TFSMailMsgId& aMessageId, const TFSMailMsgId& aMessagePartId, RFile& aFileHandle ); - IMPORT_C virtual void CopyMessagePartFileL( + virtual void CopyMessagePartFileL( const TFSMailMsgId& aMailBoxId, const TFSMailMsgId& aParentFolderId, const TFSMailMsgId& aMessageId, const TFSMailMsgId& aMessagePartId, const TDesC& aFilePath ); - IMPORT_C virtual void GetContentToBufferL( + virtual void GetContentToBufferL( const TFSMailMsgId& aMailBoxId, const TFSMailMsgId& aParentFolderId, const TFSMailMsgId& aMessageId, @@ -305,72 +355,72 @@ TDes& aBuffer, TUint aStartOffset ); - IMPORT_C virtual void SetContentL( + virtual void SetContentL( const TDesC& aBuffer, const TFSMailMsgId& aMailBoxId, const TFSMailMsgId& aParentFolderId, const TFSMailMsgId& aMessageId, const TFSMailMsgId& aMessagePartId); - IMPORT_C virtual void RemovePartContentL( + virtual void RemovePartContentL( const TFSMailMsgId& aMailBoxId, const TFSMailMsgId& aParentFolderId, const TFSMailMsgId& aMessageId, const RArray& aPartIds ); - IMPORT_C virtual void SearchL( + virtual void SearchL( const TFSMailMsgId& aMailBoxId, const RArray& aFolderIds, const RPointerArray& aSearchStrings, const TFSMailSortCriteria& aSortCriteria, MFSMailBoxSearchObserver& aSearchObserver ); - IMPORT_C virtual void CancelSearch( + virtual void CancelSearch( const TFSMailMsgId& aMailBoxId ); - IMPORT_C virtual void ClearSearchResultCache( + virtual void ClearSearchResultCache( const TFSMailMsgId& aMailBoxId ); - IMPORT_C virtual void AddObserverL( + virtual void AddObserverL( MFSMailEventObserver& aObserver ); - IMPORT_C virtual void RemoveObserver( + virtual void RemoveObserver( MFSMailEventObserver& aObserver ); - IMPORT_C virtual void UnregisterRequestObserver( + virtual void UnregisterRequestObserver( TInt aRequestId ); - IMPORT_C virtual void SendMessageL( + virtual void SendMessageL( CFSMailMessage& aMessage ); - IMPORT_C virtual TFSProgress StatusL( + virtual TFSProgress StatusL( TInt aRequestId ); - IMPORT_C virtual void CancelL( + virtual void CancelL( TInt aRequestId ); - IMPORT_C virtual void SubscribeMailboxEventsL( + virtual void SubscribeMailboxEventsL( const TFSMailMsgId& aMailboxId, MFSMailEventObserver& aObserver ); - IMPORT_C virtual void UnsubscribeMailboxEvents( + virtual void UnsubscribeMailboxEvents( const TFSMailMsgId& aMailboxId, MFSMailEventObserver& aObserver ); - - IMPORT_C virtual TSSMailSyncState CurrentSyncState( +// + virtual TSSMailSyncState CurrentSyncState( + const TFSMailMsgId& aMailboxId ); +// + virtual TFSMailBoxStatus GetMailBoxStatus( const TFSMailMsgId& aMailboxId ); - IMPORT_C virtual TFSMailBoxStatus GetMailBoxStatus( - const TFSMailMsgId& aMailboxId ); - - IMPORT_C virtual TBool MailboxHasCapabilityL( + virtual TBool MailboxHasCapabilityL( TFSMailBoxCapabilities aCapability, TFSMailMsgId aMailBoxId ); /** * Create a new ChildPart using a file path */ - IMPORT_C virtual CFSMailMessagePart* NewChildPartFromFileL( + virtual CFSMailMessagePart* NewChildPartFromFileL( const TFSMailMsgId& aMailBoxId, const TFSMailMsgId& aParentFolderId, const TFSMailMsgId& aMessageId, @@ -383,45 +433,55 @@ * NOTE 1: RFs.ShareProtected() must have been called already before calling this method. * NOTE 2: The ownersip of the RFile handle (aFile) is transferred to this method. */ - IMPORT_C virtual CFSMailMessagePart* NewChildPartFromFileL( + virtual CFSMailMessagePart* NewChildPartFromFileL( const TFSMailMsgId& aMailBoxId, const TFSMailMsgId& aParentFolderId, const TFSMailMsgId& aMessageId, const TFSMailMsgId& aParentPartId, const TDesC& aContentType, RFile& aFile ); + // + 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 ); + // + virtual TInt WizardDataAvailableL(); - IMPORT_C virtual TInt WizardDataAvailableL(); - - IMPORT_C virtual void AuthenticateL( + virtual void AuthenticateL( MFSMailRequestObserver& aOperationObserver, TInt aRequestId ); - IMPORT_C virtual void SetCredentialsL( + virtual void SetCredentialsL( const TFSMailMsgId& aMailBoxId, const TDesC& aUsername, const TDesC& aPassword ); - IMPORT_C virtual TInt CancelSyncL( + virtual TInt CancelSyncL( const TFSMailMsgId& aMailBoxId ); - IMPORT_C virtual void SetMailboxName( + virtual void SetMailboxName( const TFSMailMsgId& /*aMailboxId*/, const TDesC& /*aMailboxName*/ ); // MMsgStoreObserver // public: - IMPORT_C virtual void SystemEventNotify( + virtual void SystemEventNotify( TMsgStoreSystemEvent aEvent ); - IMPORT_C virtual void AccountEventNotify( + virtual void AccountEventNotify( TMsgStoreAccountEvent aEvent, TInt32 aOwnerId, const TDesC& aName, const TDesC& aNewName, TMsgStoreId aMailboxId ); - IMPORT_C virtual void ModificationNotify( + virtual void ModificationNotify( TMsgStoreId aMailBoxId, TMsgStoreOperation aOperation, TMsgStoreContainerType aType, @@ -432,18 +492,18 @@ protected: - IMPORT_C CFSMailAddress* FetchEmailAddressL( + CFSMailAddress* FetchEmailAddressL( CMsgStorePropertyContainer& aMessage, TUint aIdx ); - IMPORT_C CMailboxInfo& GetMailboxInfoL( + CMailboxInfo& GetMailboxInfoL( TMsgStoreId aId ); void GetMailboxDisplayNameL( TMsgStoreId aId, RBuf& aDisplayName ); - IMPORT_C virtual TUint GetPluginId(); + virtual TUint GetPluginId(); /** * Get signature string from protocol specific subclass. @@ -473,7 +533,7 @@ } - IMPORT_C virtual void TranslateMsgStorePropsL( + virtual void TranslateMsgStorePropsL( const TFSMailMsgId& aMailBoxId, CMsgStorePropertyContainer& aMessage, CFSMailMessagePart& aFsMsg, @@ -484,7 +544,7 @@ * objects. * Sync plugins might be interested in extending the default behavior. */ - IMPORT_C virtual void TranslateMsgStoreMrL( + virtual void TranslateMsgStoreMrL( const TFSMailMsgId& aMailBoxId, CMsgStorePropertyContainer& aMessage, CMsgStorePropertyContainer& aCalendar, @@ -499,16 +559,16 @@ * @param aSrc input/source Freestyle message. * @param aDst output/destination MessageStore message. */ - IMPORT_C virtual void TranslateEmailFwMessageL( + virtual void TranslateEmailFwMessageL( CFSMailMessagePart& aSrc, CMsgStoreMessagePart& aDst, TBool aInInbox ); - IMPORT_C virtual void TranslateEmailFwMrL( + virtual void TranslateEmailFwMrL( MMRInfoObject& aSrc, CMsgStorePropertyContainer& aDst ); - IMPORT_C void TranslateEmailFwAttendeeL( + void TranslateEmailFwAttendeeL( MMROrganizer& aSrc, RMsgStoreAddress& aDst ); @@ -532,7 +592,7 @@ TAny* aParam2 = NULL, TAny* aParam3 = NULL ); - IMPORT_C virtual void NotifyMailboxEventL( + virtual void NotifyMailboxEventL( TFSMailEvent aEvent, TFSMailMsgId aMailBox, TAny* aParam1 = NULL, @@ -544,7 +604,7 @@ * looks for the text/plain part. * @return the main body text part or NULL if one can not be found. */ - IMPORT_C CMsgStoreMessagePart* GetBodyPartL( + CMsgStoreMessagePart* GetBodyPartL( CMsgStoreMessage& aMessage, const TDesC& aContentType = KFSMailContentTypeTextPlain() ); @@ -557,7 +617,7 @@ * truncated message. * @param aKeepAttachments true if the original message attachments are to be kept. */ - IMPORT_C CFSMailMessage* CreateForwardReplyMessageL( + CFSMailMessage* CreateForwardReplyMessageL( const TFSMailMsgId& aMailBox, const TFSMailMsgId& aOriginal, const TBool aReplyToAll, @@ -569,20 +629,20 @@ * Recursively looks for the part with id aPartId in the part container * aParent. */ - IMPORT_C CMsgStoreMessagePart* FindMessagePartL( + CMsgStoreMessagePart* FindMessagePartL( CMsgStoreMessagePart& aParent, TMsgStoreId aPartId ); /** * Get MsgStore account object for the specified mailbox id. */ - IMPORT_C CMsgStoreAccount* GetAccountForMsgBoxL( + CMsgStoreAccount* GetAccountForMsgBoxL( const TFSMailMsgId& aMailboxId ); /** * Create a MR reply message. */ - IMPORT_C virtual CFSMailMessage* CreateMrReplyMessageL( + virtual CFSMailMessage* CreateMrReplyMessageL( const TFSMailMsgId& aMailBoxId, MMRInfoObject& aMeetingRequest, const TFSMailMsgId& aOriginalMessageId ); @@ -590,7 +650,7 @@ /** * Applyed when an account was deleted for proper cleanup. */ - IMPORT_C virtual void HandleMailboxDeleteL( + virtual void HandleMailboxDeleteL( const TFSMailMsgId& aMailboxId ); @@ -628,11 +688,11 @@ const TDesC8& aDstProperty, RPointerArray& aRecipients ); - IMPORT_C static void RemoveAllPropertiesL( + static void RemoveAllPropertiesL( CMsgStorePropertyContainer& aContainer, const TDesC8& aName ); - IMPORT_C CMailboxInfo& RefreshMailboxCacheL( TMsgStoreId aMailBoxId ); + CMailboxInfo& RefreshMailboxCacheL( TMsgStoreId aMailBoxId ); void UnsubscribeMailboxEventsL( const TFSMailMsgId& aMailboxId, @@ -672,7 +732,7 @@ /** * Called by RemovePartContentL for each part that needs its content removed. */ - IMPORT_C virtual void HandleRemovePartContentL( + virtual void HandleRemovePartContentL( CMsgStoreMessage& aMsg, CMsgStoreMessagePart& aPart ); @@ -692,7 +752,7 @@ */ void RefreshCachedMailBoxDisplayNameL( TBool& aMailBoxNameHasChanged, const TMsgStoreId& aMailBoxId ); - IMPORT_C virtual void ReportRequestStatusL( + virtual void ReportRequestStatusL( TMsgStoreId aMailBox, TMsgStoreId aOtherId, TMsgStoreId aMsgId, @@ -703,24 +763,24 @@ * Finds the corresponding download request object for the part with id * of aPartId identified by also the mailbox and the message ids. */ - IMPORT_C TBool FindFetchRequestL( + TBool FindFetchRequestL( TMsgStoreId aMailBox, TMsgStoreId aOtherId, TMsgStoreId aMsgId, TMsgStoreId aPartId, CBasePlugin::TOngoingFetchInfo& aOngoingFetchInfo ); - IMPORT_C TBool DeleteFetchRequestForPart( + TBool DeleteFetchRequestForPart( TOngoingFetchInfo& aFetchInfo ); - IMPORT_C void DeleteFetchRequest( + void DeleteFetchRequest( TOngoingFetchInfo& aFetchInfo ); protected: - IMPORT_C void ResetCache(); + void ResetCache(); - IMPORT_C void ResetBodyCache(); + void ResetBodyCache(); /** * This method retrieves the specified message store message from a @@ -733,23 +793,23 @@ * @param aMailBoxId * @param aMsgId */ - IMPORT_C CMsgStoreMessage* GetCachedMsgL( + CMsgStoreMessage* GetCachedMsgL( TMsgStoreId aMailBoxId, TMsgStoreId aMsgId ); - IMPORT_C CMsgStoreMessagePart* GetCachedBodyL( + CMsgStoreMessagePart* GetCachedBodyL( TMsgStoreId aPartId ); - IMPORT_C RPointerArray& GetCachedMsgChildrenL(); + RPointerArray& GetCachedMsgChildrenL(); - IMPORT_C RPointerArray& GetCachedBodyChildrenL(); + RPointerArray& GetCachedBodyChildrenL(); - IMPORT_C void InvalidateCacheIfNecessary( + void InvalidateCacheIfNecessary( TMsgStoreId aId, TMsgStoreId aParentId, TMsgStoreId aOtherId ); - IMPORT_C virtual const TDesC& CBasePlugin::CalendarFileName() const; + virtual const TDesC& CBasePlugin::CalendarFileName() const; public: @@ -758,7 +818,7 @@ * instance. The FW's SendMessageL method internally uses this method * after translating the FW message to the MsgStore format. */ - IMPORT_C void SendMessageL( + void SendMessageL( CMsgStoreMailBox& aMailBox, CMsgStoreMessage& aMsg, const TTime& aSentTime ); @@ -767,7 +827,7 @@ * The delayed ops manager is used to queue asynchronous processing of * plugin requests. */ - IMPORT_C MDelayedOpsManager& GetDelayedOpsManager(); + MDelayedOpsManager& GetDelayedOpsManager(); protected: @@ -777,7 +837,8 @@ //does not actually own the observers. RPointerArray iObservers; //async fetch reqs. - RPointerArray iReqs; + RPointerArray iReqs; + RPointerArray iDelayedOpReqs; TCacheLine iCacheLine; @@ -812,7 +873,7 @@ * the FSEF representation and the MsgStore one. This entity groups * it in one place. */ -class CMailboxInfo : public CBase +NONSHARABLE_CLASS( CMailboxInfo ) : public CBase { public: CMailboxInfo( CBasePlugin* aBasePlugin )