email/imap4mtm/imapsettings/inc/cimapsettings.h
changeset 0 72b543305e3a
--- /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 <msventry.h>
+#include <imapset.h>
+#include <cimapsyncdownloadrules.h>
+
+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__