diff -r 000000000000 -r 8466d47a6819 emailservices/emailframework/commonlib/inc/CFSMailBoxBase.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/emailservices/emailframework/commonlib/inc/CFSMailBoxBase.h Thu Dec 17 08:39:21 2009 +0200 @@ -0,0 +1,233 @@ +/* +* Copyright (c) 2007-2009 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 "cfsmailfolder.h" +#include "mmrinfoprocessor.h" +#include "cemailextensionbase.h" + +/** + * base class for handling mailbox data + * + * @lib FSFWCommonLib + + */ + +class CFSMailBoxBase : public CExtendableEmail +{ + 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 + */ + // + //function definition is empty, we need to remove it if not needed + // + 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); + +protected: + + /** + * C++ default constructor. + */ + CFSMailBoxBase(); + + /** + * branding id accessor + */ + TDesC& BrandingId(); + + /** + * mailbox id mutator + */ + void SetMailBoxId( TFSMailMsgId aMailBoxId ); + +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; + +protected: // + + /** + * mailbox id + */ + TFSMailMsgId iMailBoxId; +}; + +#endif // __CFSMAILBOXBASE_H