diff -r 000000000000 -r 72b543305e3a email/imap4mtm/imapsettings/inc/cimapsettings.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/email/imap4mtm/imapsettings/inc/cimapsettings.h Thu Dec 17 08:44:11 2009 +0200 @@ -0,0 +1,151 @@ +// Copyright (c) 2006-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: +// CImapSettings header +// +// + +#if !defined(__CIMAPSETTINGS_H__) +#define __CIMAPSETTINGS_H__ + +#include +#include +#include + +class CImIAPPreferences; +class CImapSyncDownloadRules; +class CImapTransportBufferSizes; + + +/** +@internalComponent +@prototype +*/ +class CImapSettings : public CBase + { +public: + IMPORT_C static CImapSettings* NewL(CMsvServerEntry& aServerEntry); + ~CImapSettings(); + + // Indicates if account settings have been loaded + IMPORT_C TBool SettingsLoaded() const; + + // Loads the settings from CenRep + IMPORT_C void LoadSettingsL(const TMsvId aId); + + // Access to the service ID + IMPORT_C TMsvId ServiceId() const; + + // Access to CImBaseEmailSettings + IMPORT_C const TPtrC ServerAddress() const; + IMPORT_C TUint Port() const; + IMPORT_C TBool SecureSockets() const; + IMPORT_C TBool SSLWrapper() const; + IMPORT_C TBool BearerMobility() const; + + // Access to CImImap4Settings + IMPORT_C const TPtrC8 LoginName() const; + IMPORT_C const TPtrC8 Password() const; + IMPORT_C const TPtrC8 FolderPath() const; + IMPORT_C const TPtrC8 SearchString() const; + IMPORT_C const TDesC& PathSeparator() const; + IMPORT_C TBool DisconnectedUserMode() const; + IMPORT_C TFolderSyncType Synchronise() const; + IMPORT_C TFolderSubscribeType Subscribe() const; + IMPORT_C TBool DeleteEmailsWhenDisconnecting() const; + IMPORT_C TImap4GetMailOptions GetMailOptions() const; + IMPORT_C TInt32 InboxSynchronisationLimit() const; + IMPORT_C TInt32 MailboxSynchronisationLimit() const; + IMPORT_C TBool UpdatingSeenFlags() const; + IMPORT_C TUint FetchSize() const; + IMPORT_C TBool ImapIdle() const; + IMPORT_C TInt ImapIdleTimeout() const; + IMPORT_C TBool UseExpunge() const; + IMPORT_C TPtrC8 TlsSslDomain() const; + IMPORT_C TBool UseSyncDownloadRules() const; + IMPORT_C TBool FolderSyncDisabled() const; + + //Access to SASL authenticate login methods +#if (defined SYMBIAN_EMAIL_CAPABILITY_SUPPORT) + IMPORT_C TBool FallBack() const; + IMPORT_C TBool IMAP4Auth() const; +#endif + // Access to CImIAPPreferences + IMPORT_C const CImIAPPreferences& IAPPreferences() const; + + IMPORT_C TInt GetSyncDownloadRuleL(CImapSyncDownloadRules::TRulesType aType, TImImap4GetPartialMailInfo& aMailInfo) const; + IMPORT_C void GetTransportBufferSizesL(TUint& aFetchRequestSize, TUint& aMaxOutstandingFetchResponses) const; + + // Access to Resource File data + IMPORT_C TInt Store8BitData() const; + IMPORT_C const TDesC& DefaultAttachmentName() const; + IMPORT_C const HBufC8* DefaultPartialMessageFooter() const; + + // Setters for settings that can be updated by the Server MTM + IMPORT_C void SetPathSeparatorL(const TText8 aPathSeparator); + IMPORT_C TInt StorePlainText() const; + IMPORT_C void SetCurrentBearerType(TUint32 aBearerType); + +private: + CImapSettings(CMsvServerEntry& aServerEntry); + void ConstructL(); + + void ReadResourceFileL(); + // stores the settings to CenRep + void SaveSettingsL(); + +private: + + /** The CMsvServerEntry to use for accessing the server entry */ + CMsvServerEntry& iServerEntry; + + /** ETrue if settings have been loaded */ + TBool iSettingsLoaded; + + /** The Service ID for the IMAP Service */ + TMsvId iServiceId; + + /** The IMAP Service's settings */ + CImImap4Settings* iServiceSettings; + + /** The IAP preferences relating to IAPs for email*/ + CImIAPPreferences* iIapPrefs; + + /** The path separator is defined by the remote IMAP server and retrieved when the + connection is established */ + TBufC16<1> iPathSeparator; + + /** The buffer for Store8BitData flag. The flag value is read from a resource file */ + TInt iStore8BitData; + + /** The buffer for the default atachment name. The value is read from a resource file */ + HBufC* iDefaultAttachmentName; + + /** The default message footer that is appended when an email is only partially fetched. + The default partial message footer is defined in IMCM.rss */ + HBufC8* iDefaultPartialMessageFooter; + + /** The StorePlainBodyText flag. The flag value is read from a resource file */ + TInt iStorePlainBodyText; + + /** Download rules for sync phase */ + CImapSyncDownloadRules* iSyncDownloadRules; + + /** Transport buffer sizes for fetch operations */ + CImapTransportBufferSizes* iTransportBufferSizes; + + /** Stores the currently connected brearer type */ + TUint32 iCurrentBearerType; + }; + +#endif // __CIMAPSETTINGS_H__