--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/email/imum/Utils/Inc/ImumMboxData.h Thu Dec 17 08:44:11 2009 +0200
@@ -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 <e32std.h>
+#include <msvstd.h>
+#include <cemailaccounts.h>
+#include <iapprefs.h>
+
+#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<KImasImailServiceNameLength> 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__