diff -r ebe688cedc25 -r 7fdbb852d323 email/imum/Utils/Inc/ImumMboxData.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/email/imum/Utils/Inc/ImumMboxData.h Wed Sep 01 12:31:54 2010 +0100 @@ -0,0 +1,306 @@ +/* +* Copyright (c) 2006 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: +* Class declaration file +* +*/ + + + + +#ifndef __ImumMboxData_H__ +#define __ImumMboxData_H__ + +// INCLUDES +#include +#include +#include +#include + +#include "Imas.hrh" + +// CONSTANTS +// MACROS +// DATA TYPES + +/** +* Panics +*/ +enum TImumImasPanic + { + EImasPanicInvalidMailbox = 0, + EImasPanicNullDbTable, + EImasPanicControlNotFound, + KImasPanicNoServicesDefined, + EImasPanicInvalidSignatureSource, + EImasPanicServiceIdsNotCreated, + EImasPanicAccountIdsNotCreated, + EImasPanicDefaultAccountNotFound, + EImasPanicNoSettings, + EImasPanicBadEngineSetting, + EImasPanicBadListIndex, + EImasPanicIdArrayNotNull, + EImasPanicUnknownSettings + + }; + +// FUNCTION PROTOTYPES +// FORWARD DECLARATIONS +class CRichText; +class CParaFormatLayer; +class CCharFormatLayer; +class CImSmtpSettings; +class CImPop3Settings; +class CImImap4Settings; +class CImIAPPreferences; +class CImBaseEmailSettings; +class CImumMboxDataExtension; +GLREF_C void ImasPanic( TImumImasPanic aCode ); + +// CLASS DECLARATION + +/////////////////////////////////////////////////////////////////////////////// +// +// ACCOUNT SETTINGS DATA +// +/////////////////////////////////////////////////////////////////////////////// + +/** +* ?one_line_short_description. +* ?other_description_lines +* +* @lib Imum.lib +* @since S60 3.0 +*/ +class CMsvImailSignature : public CBase + { + public: + + /** + * CMsvImailSignature + */ + CMsvImailSignature(); + + /** + * CMsvImailSignature + * @param CRichText* + * @param CParaFormatLayer* + * @param CCharFormatLayer* + */ + CMsvImailSignature( + CRichText* aRichText, + CParaFormatLayer* aParaFormat, + CCharFormatLayer* aCharFormat ); + + /** + * ~CMsvImailSignature + * Destructor + */ + ~CMsvImailSignature(); + + /** + * CopyL + * @param CMsvImailSignature& + */ + void CopyL(const CMsvImailSignature& aSignature); + + /** + * CreateEmptyRichTextL + */ + void CreateEmptyRichTextL(); + + public: + CRichText* iRichText; + CParaFormatLayer* iParaFormatLayer; + CCharFormatLayer* iCharFormatLayer; + }; + +/////////////////////////////////////////////////////////////////////////////// + +/** +* class CImumMboxData +* +*/ +class CImumMboxData : public CBase + { + public: + + /** + * NewL function to create settings + * @since S60 2.0 + */ + static CImumMboxData* NewL(); + + /** + * NewLC function to create settings + * @since S60 2.0 + */ + static CImumMboxData* NewLC(); + + /** + * NewL function to create POP3 settings + * @since S60 3.0 + * @param aName, name + * @param aSmtpSettings, pointer to smtp settings + * @param aPop3Settings, pointer to pop3 settings + * @return Pointer to settings + */ + static CImumMboxData* NewL( + const TDesC& aName, + CImSmtpSettings* aSmtpSettings, + CImPop3Settings* aPop3Settings, + CImumMboxDataExtension* aExtendedSettings = NULL ); + + /** + * NewLC function to create POP3 settings + * @since S60 3.0 + * @param aName, name + * @param aSmtpSettings, pointer to smtp settings + * @param aPop3Settings, pointer to pop3 settings + * @return Pointer to settings + */ + static CImumMboxData* NewLC( + const TDesC& aName, + CImSmtpSettings* aSmtpSettings, + CImPop3Settings* aPop3Settings, + CImumMboxDataExtension* aExtendedSettings = NULL ); + + /** + * NewL function to create IMAP4 settings + * @since S60 3.0 + * @param aName, name + * @param aSmtpSettings, pointer to smtp settings + * @param aImap4Settings, pointer to pop3 settings + * @return Pointer to settings + */ + static CImumMboxData* NewL( + const TDesC& aName, + CImSmtpSettings* aSmtpSettings, + CImImap4Settings* aImap4Settings, + CImumMboxDataExtension* aExtendedSettings = NULL ); + + /** + * NewLC function to create IMAP4 settings + * @since S60 3.0 + * @param aName, name + * @param aSmtpSettings, pointer to smtp settings + * @param aImap4Settings, pointer to pop3 settings + * @return Pointer to settings + */ + static CImumMboxData* NewLC( + const TDesC& aName, + CImSmtpSettings* aSmtpSettings, + CImImap4Settings* aImap4Settings, + CImumMboxDataExtension* aExtendedSettings = NULL ); + + /** + * ~CImumMboxData + */ + ~CImumMboxData(); + + /** + * CopyL + * @param CImumMboxData&, settings reference + */ + void CopyL( const CImumMboxData& aSettings ); + + /** + * RelatedMtmSettings + * @return settings reference + */ + CImBaseEmailSettings& RelatedMtmSettings() const; + + /** + * + * @since S60 3.0 + */ + void InitializeL(); + + /** + * + * @since S60 + * @return + */ + void Clean(); + + /** + * + * @since S60 3.0 + */ + TBool IsOk() const; + + protected: + + /** + * CImumMboxData + */ + CImumMboxData(); + + /** + * CImumMboxData + * @since S60 3.0 + * @param TDesC&, name + * @param CImSmtpSettings*, smtp settings + * @param CImPop3Settings*, pop3 settings + * @param CImImap4Settings*, imap4 settings + */ + CImumMboxData( + const TDesC& aName, + CImSmtpSettings* aSmtpSettings, + CImPop3Settings* aPop3Settings, + CImImap4Settings* aImap4Settings, + CImumMboxDataExtension* aExtendedSettings ); + + /** + * ConstructL + * @since S60 + */ + void ConstructL(); + + public: // Data + + // Common settings + TBool iIsImap4; + TBuf iName; + CMsvImailSignature* iSignature; + TMsvId iMailboxId; + TMsvId iDefaultAccountId; + + // IMAP4 settings + CImImap4Settings* iImap4Settings; + TImapAccount iImap4AccountId; + + // POP3 settings + CImPop3Settings* iPop3Settings; + TPopAccount iPop3AccountId; + + // SMTP settings + CImSmtpSettings* iSmtpSettings; + + // Extra settings + CImumMboxDataExtension* iExtendedSettings; + + // Internet Access Point settings + // - Incoming server + TUint32 iIncomingIap; + TCommDbDialogPref iIncomingDialogPref; + CImIAPPreferences* iIncomingIapPref; + // - Incoming server + TUint32 iOutgoingIap; + TCommDbDialogPref iOutgoingDialogPref; + CImIAPPreferences* iOutgoingIapPref; + + }; + +#endif // __ImumMboxData_H__