diff -r e7aa27f58ae1 -r 578830873419 emailservices/emailcommon/inc/CFSMailBoxBase.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/emailservices/emailcommon/inc/CFSMailBoxBase.h Fri Apr 16 14:51:52 2010 +0300 @@ -0,0 +1,250 @@ +/* +* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: common base mailbox object +* +*/ + + +#ifndef __CFSMAILBOXBASE_H +#define __CFSMAILBOXBASE_H + +// +#include +#include +#include "CFSMailCommon.h" + +class NmMailboxPrivate; +class NmMailbox; +class CFSMailAddress; +class MMRInfoProcessor; +// + +/** + * base class for handling mailbox data + * + * @lib FSFWCommonLib + * @since S60 S60 v3.1 + */ + +NONSHARABLE_CLASS ( CFSMailBoxBase ) : public CBase +{ + public: + + /** + * Two-phased constructor. + * + * @param aMailBoxId mailbox id in plugin containing mailbox + */ + IMPORT_C static CFSMailBoxBase* NewL( const TFSMailMsgId aMailBoxId ); + + /** + * Two-phased constructor. + * + * @param aMailBoxId mailbox id in plugin containing mailbox + */ + IMPORT_C static CFSMailBoxBase* NewLC( const TFSMailMsgId aMailBoxId ); + + /** + * Destructor. + */ + IMPORT_C virtual ~CFSMailBoxBase(); + + /** + * mailbox id accessor + * + * @return mailbox id + */ + IMPORT_C TFSMailMsgId GetId() const; + + /** + * mailbox name accessor + * + * @return mailbox name + */ + IMPORT_C TDesC& GetName() const; + + /** + * mailbox name mutator + * + * @param aMailBoxName mailbox name + */ + IMPORT_C void SetName( const TDesC& aMailBoxName ); + + /** + * retuns mailbox status accessor + * + * @return mailbox status + */ + IMPORT_C TFSMailBoxStatus GetStatus() const; + + /** + * mailbox status mutator + * + * @param aStatus mailbox status + */ + IMPORT_C void SetStatus( const TFSMailBoxStatus aStatus ); + + /* + * Function to set context of Remote Contact Lookup service for + * this mailbox for protocol plugins. + * + * @param aProtocolUid specifies Ecom implementation UID of + * "Remote Contact Lookup Protocol Adaptation API" to use. + * @param aMailBoxId mailbox id in plugin + */ + IMPORT_C void SetRCLInfo( const TUid aProtocolUid, const TUint aMailBoxId ); + + /* + * Function to retrieve Remote Contact Lookup service context for + * this mailbox. + * + * @param aProtocolUid specifies Ecom implementation UID of + * "Remote Contact Lookup Protocol Adaptation API" to use. + * @param aMailBoxId mailbox id in plugin + */ + IMPORT_C void GetRCLInfo( TUid& aProtocolUid, TUint& aAccountUid ); + + /** + * returns settings view id for mailbox + * + * @return settings view id + */ + IMPORT_C const TUid GetSettingsUid(); + + /** + * sets settings view id for mailbox + * + * @param aUid settings view id + */ + IMPORT_C void SetSettingsUid( const TUid aUid ); + + /** + * Returns a meeting request info processor, which is used for replying + * to meeting request received as MMRInfoObjet + * + * @return meeting info Processor, NULL if not supported by plugin + * ownership not transferred + */ + IMPORT_C MMRInfoProcessor& MRInfoProcessorL(); + + /** + * method to cheack if MRInfoProcessor is set + * + * @return + */ + IMPORT_C TBool IsMRInfoProcessorSet(); + + /** + * Meeting request info processor mutator + * + * @param aMrInfoProcessor meeting info Processor, ownership transferred + */ + IMPORT_C void SetMRInfoProcessorL( MMRInfoProcessor* aMrInfoProcessor ); + + /** + * mailbox own address accessor + * + * @return mailbox own address + */ + IMPORT_C CFSMailAddress& OwnMailAddress(); + + /** + * mailbox own address mutator + * + * @param aOwnMailAddress mailbox own address + */ + IMPORT_C void SetOwnMailAddressL( CFSMailAddress* aOwnMailAddress ); + + /** + * returns nmmailbox constructed with shared data, + * ownership is transferred to caller + */ + // + IMPORT_C NmMailbox* GetNmMailbox(); + // + +protected: + + /** + * C++ default constructor. + */ + CFSMailBoxBase(); + + /** + * branding id accessor + */ + TDesC& BrandingId(); + +// Removed SetMailBoxId +protected: // data + +protected: // + + /** + * Two-phased constructor + */ + void ConstructL( const TFSMailMsgId aMailBoxId ); + +private: // data + + /** + * mailbox name + */ + HBufC* iMailBoxName; + + + /** + * remote contact lookup info + */ + TUid iProtocolUid; + TUint iAccountUid; + + /** + * settings uid + */ + TUid iSettingsUid; + + /** + * Meeting request info + */ + MMRInfoProcessor* iMRInfoProcessor; + + /** + * mailbox own address + */ + CFSMailAddress* iOwnMailAddress; + + /** + * branding id + */ + HBufC* iBrId; + + /** + * Reference to QT side of the mailbox object. + */ + // + QExplicitlySharedDataPointer iNmPrivateMailbox; + // + + /** + * Copy to mailbox name. + * Variable is mutable in order to maintain + * binary compatibility in this API + */ + mutable TPtrC16 iTextPtr; + +// Removed iMailBoxId +}; + +#endif // __CFSMAILBOXBASE_H