epoc32/include/pop3set.h
branchSymbian2
changeset 3 e1b950c65cb4
parent 2 2fe1408b6811
child 4 837f303aceeb
     1.1 --- a/epoc32/include/pop3set.h	Tue Mar 16 16:12:26 2010 +0000
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,293 +0,0 @@
     1.4 -// Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
     1.5 -// All rights reserved.
     1.6 -// This component and the accompanying materials are made available
     1.7 -// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
     1.8 -// which accompanies this distribution, and is available
     1.9 -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
    1.10 -//
    1.11 -// Initial Contributors:
    1.12 -// Nokia Corporation - initial contribution.
    1.13 -//
    1.14 -// Contributors:
    1.15 -//
    1.16 -// Description:
    1.17 -//
    1.18 -
    1.19 -#if !defined (__POP3SET_H__)
    1.20 -#define __POP3SET_H__
    1.21 -
    1.22 - 
    1.23 -
    1.24 -
    1.25 -#include <msvuids.h>
    1.26 -#include <miutset.h>
    1.27 -#include <miut_err.h>
    1.28 -
    1.29 -
    1.30 -
    1.31 -/** Default POP3 server port number. */
    1.32 -const TUint32 KPOP3DefaultPortNumber = 110;
    1.33 -
    1.34 -/** @deprecated */
    1.35 -const TInt32 KImPop3SynchroniseAll	 = -1;
    1.36 -
    1.37 -/** @deprecated */
    1.38 -const TInt32 KImPop3SynchroniseNone	 = 0;
    1.39 -
    1.40 -/**
    1.41 -Specifies which parts of a POP3 message to download. Used when configuring the
    1.42 -POP3 service settings.
    1.43 -
    1.44 -@see
    1.45 -CImPop3Settings 
    1.46 -
    1.47 -@publishedAll
    1.48 -@released
    1.49 -*/
    1.50 -enum TPop3GetMailOptions
    1.51 -	{
    1.52 -	/** Message headers only. */
    1.53 -	EGetPop3EmailHeaders,
    1.54 -	/** Complete message. */
    1.55 -	EGetPop3EmailMessages
    1.56 -	};			   
    1.57 -
    1.58 -
    1.59 -class TPop3Progress
    1.60 -/**
    1.61 -Progress information for a POP3 operation. 
    1.62 -
    1.63 -@publishedAll
    1.64 -@released
    1.65 -*/
    1.66 -	{
    1.67 -public:
    1.68 -	IMPORT_C TInt ConnectionState() const;
    1.69 -	IMPORT_C TInt ConnectionIAP() const;
    1.70 -
    1.71 -public:
    1.72 -	/** Defines types of POP3 operations. */
    1.73 -	enum TPop3ProgressType 
    1.74 -		{
    1.75 -	/** Refreshing view of remote mail box. */
    1.76 -		EPopRefreshing,
    1.77 -	/** Copying messages. */
    1.78 -		EPopCopying,
    1.79 -	/** Deleting messages. */
    1.80 -		EPopDeleting,
    1.81 -	/** Connecting to remote mail box. */
    1.82 -		EPopConnecting,
    1.83 -	/** Internal reorganisation. */
    1.84 -		EPopTidying,
    1.85 -	/** Connected to remote mail box and no current operations. */
    1.86 -		EPopConnectedAndIdle,
    1.87 -	/** Disconnecting from remote mail box. */
    1.88 -		EPopDisconnecting,
    1.89 -	/** Disconnected from remote mail box. */
    1.90 -		EPopDisconnected,
    1.91 -	/** Moving messages. */
    1.92 -		EPopMoving,
    1.93 -	/** Copying new messages. */
    1.94 -		EPopCopyNewMail,
    1.95 -	/** Moving new messages. */
    1.96 -		EPopMoveNewMail,
    1.97 -	/** Copying a selection of messages. */
    1.98 -		EPopCopyMailSelection,
    1.99 -	/** Moving a selection of messages. */
   1.100 -		EPopMoveMailSelection,
   1.101 -	/** Copying all messages. */
   1.102 -		EPopCopyAllMail,
   1.103 -	/** Moving all messages. */
   1.104 -		EPopMoveAllMail,
   1.105 -	/** Populating view of remote mail box. */
   1.106 -		EPopPopulating,
   1.107 -	/** Cancelling all off-line operations. */
   1.108 -		EPopCancellingOfflineOps,
   1.109 -	/** Populating mailbox with top command */
   1.110 -		EPopTopPopulating,
   1.111 -	/** Defines the maximum value for this enumeration. */
   1.112 -		EPopMaxProgressValue=EPopTopPopulating
   1.113 -		};
   1.114 -
   1.115 -	/** Type of operation for which progress is being reported. */
   1.116 -	TPop3ProgressType	iPop3Progress;	// holds the progress for a 'super operation'
   1.117 -	/** When in the EPopConnecting state, this member holds the connection 
   1.118 -	stage. Otherwise it holds the total number of messages for the operation. */
   1.119 -	TInt				iTotalMsgs;
   1.120 -	/** Remaining number of messages to process. */
   1.121 -	TInt				iMsgsToProcess;
   1.122 -	/** Number of bytes processed by the operation. */
   1.123 -	TInt				iBytesDone;
   1.124 -	/** When in the EPopConnecting state, this member holds the connection 
   1.125 -	iap value. Otherwise it holds the total number of bytes to progress for the
   1.126 -	operation. */
   1.127 -	TInt				iTotalBytes;
   1.128 -	/** Operation error code. */
   1.129 -	TInt				iErrorCode; // client side needs to be informed of an error
   1.130 -	/** Type of the sub-operation, where a nested operations is occurring. */
   1.131 -	TPop3ProgressType	iPop3SubStateProgress; // holds the progress for the substate of the 'super operation'
   1.132 -	/** Service performing the operation. */
   1.133 -	TMsvId				iServiceId;
   1.134 -	/** The total size of messages to be downloaded. */
   1.135 -	TInt				iTotalSize; // The total size of messages to be downloaded.
   1.136 -	};
   1.137 -
   1.138 -
   1.139 -class TImPop3GetMailInfo
   1.140 -/**
   1.141 -Use to specify the maximum message size and the destination folder ID for
   1.142 -certain POP3 operations.
   1.143 -
   1.144 -@see
   1.145 -CPop3ClientMtm
   1.146 -
   1.147 -@publishedAll
   1.148 -@released
   1.149 -*/
   1.150 -	{
   1.151 -public:
   1.152 -	/** Maximum message size for the operation. */
   1.153 -	TInt32		iMaxEmailSize;
   1.154 -	/** ID of the destination folder for the operation. */
   1.155 -	TMsvId		iDestinationFolder;
   1.156 -	};
   1.157 -
   1.158 -class TImPop3PopulateOptions
   1.159 -/**
   1.160 -Use to specify the population limit for the POP3 top command
   1.161 -
   1.162 -@see
   1.163 -CPop3ClientMtm
   1.164 -
   1.165 -@publishedAll
   1.166 -@released
   1.167 -*/
   1.168 -	{
   1.169 -private:
   1.170 -	/** Version of this GetMailInfo class, breaks coding standard by putting a private member at 
   1.171 -	    the beginning to enable unpacking code to check the version before unpacking the rest of the class */
   1.172 -	TInt32	iVersion;
   1.173 -
   1.174 -public:
   1.175 -	IMPORT_C TImPop3PopulateOptions();
   1.176 -	IMPORT_C static void UnpackL(const TDesC8& aDesc, TImPop3PopulateOptions &aUnpackTo);
   1.177 -
   1.178 -	IMPORT_C TInt MaxEmailSize();
   1.179 -	IMPORT_C void SetMaxEmailSize(TInt aMaxEmailSize);
   1.180 -	IMPORT_C TInt PopulationLimit();
   1.181 -	IMPORT_C void SetPopulationLimit(TInt aPopulationLimit);
   1.182 -	
   1.183 -private:
   1.184 -	/** Maximum message size for the operation. */
   1.185 -	TInt32		iMaxEmailSize;
   1.186 -	/** Population limit for Populate operation, set to -1 for total populate */
   1.187 -	TInt32		iPopulationLimit;
   1.188 -	/** Construction utility function */
   1.189 -	};
   1.190 -
   1.191 -
   1.192 -class CImPop3Settings : public CImBaseEmailSettings
   1.193 -/**
   1.194 -Run-time configuration settings for POP3.
   1.195 -
   1.196 -Messaging clients should use an instance of this class to specify
   1.197 -and retrieve configuration settings that are used by the POP3 service when
   1.198 -executing email operations.  
   1.199 -
   1.200 -Service settings such as the user name and password, whether to authenticate
   1.201 -using APOP or plain text, the maximum size of an email to download, and the
   1.202 -maximum number of messages to synchronise can be specified using this class.
   1.203 -Storing and restoring from the message store is also supported.
   1.204 -
   1.205 -To use this class to change a setting:
   1.206 -1) Set the current context to the POP3 service entry using CMsvStore.
   1.207 -2) Create an instance of CImPop3Settings and put it on the cleanup stack.
   1.208 -3) Retrieve the existing settings by calling CImPop3Settings::RestoreL().
   1.209 -4) Change the inbox synchronisation limit setting by calling CImPop3Settings::SetInboxSynchronisationLimit().
   1.210 -5) Save the new settings by calling CImPop3Settings::StoreL().
   1.211 -6) Pop and destroy the CImPop3Settings instance.
   1.212 -
   1.213 -@see CMsvStore
   1.214 -@publishedAll
   1.215 -@released
   1.216 -*/
   1.217 -	{
   1.218 -public:
   1.219 -	IMPORT_C CImPop3Settings();
   1.220 -	IMPORT_C virtual ~CImPop3Settings();
   1.221 -	IMPORT_C void Reset();
   1.222 -	IMPORT_C const TPtrC8 LoginName() const;
   1.223 -	IMPORT_C void SetLoginNameL(const TDesC8&);
   1.224 -	IMPORT_C const TPtrC8 Password() const;
   1.225 -	IMPORT_C void SetPasswordL(const TDesC8&);
   1.226 -	IMPORT_C TBool AutoSendOnConnect() const;
   1.227 -	IMPORT_C void SetAutoSendOnConnect(TBool aFlag);
   1.228 -	IMPORT_C TBool Apop() const;
   1.229 -	IMPORT_C void SetApop(TBool aFlag);
   1.230 -	IMPORT_C TBool DisconnectedUserMode() const;
   1.231 -	IMPORT_C void SetDisconnectedUserMode(TBool aFlag);
   1.232 -	IMPORT_C TBool DeleteEmailsWhenDisconnecting() const;
   1.233 -	IMPORT_C void SetDeleteEmailsWhenDisconnecting(TBool aFlag);
   1.234 -	IMPORT_C TBool AcknowledgeReceipts() const;
   1.235 -	IMPORT_C void SetAcknowledgeReceipts(TBool aFlag);
   1.236 -	IMPORT_C TInt MaxEmailSize() const;
   1.237 -	IMPORT_C void SetMaxEmailSize(const TInt aMaxEmailSize);
   1.238 -	IMPORT_C TPop3GetMailOptions GetMailOptions() const;
   1.239 -	IMPORT_C void SetGetMailOptions(TPop3GetMailOptions aGetMailOptions);
   1.240 -	IMPORT_C CImPop3Settings& CopyL(const CImPop3Settings& aCImPop3Settings);
   1.241 -	IMPORT_C TBool operator==(const CImPop3Settings& aCImPop3Settings) const;
   1.242 -	IMPORT_C TInt32 InboxSynchronisationLimit() const;
   1.243 -	IMPORT_C void SetInboxSynchronisationLimit(const TInt32 aInboxSyncLimit);
   1.244 -	IMPORT_C TInt32 PopulationLimit() const;
   1.245 -	IMPORT_C void SetPopulationLimitL(const TInt32 aPopulationLimit);
   1.246 -	IMPORT_C void SetTlsSslDomainL(const TDesC8& aDomainName);
   1.247 -	IMPORT_C TPtrC8 TlsSslDomain() const;
   1.248 -
   1.249 -private:
   1.250 -	class TImPop3SettingsExtension
   1.251 -		{
   1.252 -	public:
   1.253 -		inline TImPop3SettingsExtension();
   1.254 -	public:
   1.255 -		HBufC8* iLoginName;
   1.256 -		HBufC8* iPassword;
   1.257 -		HBufC8* iTlsSslDomain;
   1.258 -		TInt32 iPopulationLimit;
   1.259 -		};
   1.260 -	inline TImPop3SettingsExtension* Extension() const;
   1.261 -	inline void CheckExtensionExistsL();
   1.262 -
   1.263 -	enum TImPop3EmailSettings
   1.264 -		{
   1.265 -		KPop3SettingsClearFlag					= 0x00000000,
   1.266 -		KPop3BaseEmailSettingsLastUsedFlag		= CImBaseEmailSettings::EBaseEmailSettingsLastUsedFlag,	//0x00000002
   1.267 -		KPop3ApopFlag							= KPop3BaseEmailSettingsLastUsedFlag << 1,		//0x00000004
   1.268 -		KPop3AutoSendFlag						= KPop3ApopFlag << 1,							//0x00000008
   1.269 -		KPop3DisconnectedModeFlag				= KPop3AutoSendFlag << 1,						//0x00000010
   1.270 -		KPop3DeleteEmailsWhenDisconnectingFlag	= KPop3DisconnectedModeFlag << 1,				//0x00000020
   1.271 -		KPop3AcknowledgeReceipts				= KPop3DeleteEmailsWhenDisconnectingFlag << 1,	//0x00000040
   1.272 -		KPop3EmailSettingsLastUsedFlag			= KPop3AcknowledgeReceipts						//0x00000040
   1.273 -		};
   1.274 -
   1.275 -	TImPop3SettingsExtension*	iExtension; // renamed iReceiptAddress
   1.276 -	TInt32  iInboxSyncLimit;
   1.277 -	TInt32	iMaxEmailSize;
   1.278 -	TPop3GetMailOptions iGetMailOptions;
   1.279 -	};
   1.280 -
   1.281 -inline CImPop3Settings::TImPop3SettingsExtension* CImPop3Settings::Extension() const
   1.282 -	{
   1.283 -	return iExtension;
   1.284 -	}
   1.285 -
   1.286 -inline void CImPop3Settings::CheckExtensionExistsL()
   1.287 -	{
   1.288 -	if (!iExtension)
   1.289 -		iExtension=new (ELeave) CImPop3Settings::TImPop3SettingsExtension;
   1.290 -	}
   1.291 -
   1.292 -inline CImPop3Settings::TImPop3SettingsExtension::TImPop3SettingsExtension() : iLoginName(NULL) , iPassword(NULL), iTlsSslDomain(NULL)
   1.293 -	{
   1.294 -	}
   1.295 -
   1.296 -#endif // #define __POP3SET_H__