diff -r dcf0eedfc1a3 -r d189ee25cf9d emailservices/emailcommon/inc/CFSMailBoxBase.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/emailservices/emailcommon/inc/CFSMailBoxBase.h Tue Aug 31 15:04:17 2010 +0300 @@ -0,0 +1,205 @@ +/* +* 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 +#include +#include "CFSMailCommon.h" +#include "cemailextensionbase.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 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 ); + + /* + * 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); + + /* + * sets settings view id for mailbox + * + * @param aUid settings view id + */ + IMPORT_C void SetSettingsUid(const TUid aUid); + /** + * 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