⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pop3mail.h

📁 Symbian C++ of Nokia下的源码
💻 H
字号:
#ifndef __POP3MAIL_H__
#define __POP3MAIL_H__

#include <e32base.h>
#include <msvapi.h>
#include <pop3set.h>
#include <ckncancl.h>

class CPop3ClientMtm;
class CMsvEmailUtils;

/*
* ============================================================================
*  Name     : CPop3Mail from Pop3Mail.h
*  Part of  : EmailExample
*  Created  : 09/11/2003 by Forum Nokia
*  Implementation notes:
*		Engine class that wraps some Pop3 functionality.
*		Implemented as statemachine.
*
*  Version  : 1.0
*  Copyright: Nokia Corporation
* ============================================================================
*/

class CPop3Mail : public CActive, public MMsvSessionObserver,public MCknCancellableOperation
	{
public:
// creational
	static CPop3Mail* NewL(TRequestStatus& aStatus,CMsvSession& aMsvSession);
	~CPop3Mail();
// interface

	/*
    * FetchRemoteMailL(TMsvId aMailId=NULL)
    *
    * only interface method which initiates multiple state process which
	* connects to remote mailbox and downloads all message headers from
	* remote server.
    *
    * Params:
	*	(1) TMsvId aMailId		initial entry id
    *
    */
	void FetchRemoteMailL(TMsvId aMailId=NULL);
// private functions
private:
	CPop3Mail(TRequestStatus& aStatus,CMsvSession& aMsvSession);
	void ConstructL();
	void ExecuteConnectL();
	void ExecuteFetchMailL();
	void ExecuteDisconnetL();
	void MailCommandL(TInt aCommand,TDes8& aParams);
	void LoadMtmL();
	void Queue();
// from CActive
	void RunL();
	void DoCancel();
	TInt RunError(TInt aError);
// from MCknCancellableOperation
	void CancelOperation();
// from MMsvSessionObserver
    void HandleSessionEventL(TMsvSessionEvent aEvent,TAny* aArg1,TAny* aArg2,TAny* aArg3);

// private state values for the state machine
private:
	enum TInternalState
		{
		EInitialising,
		EReady,
		EConnecting,
		EGetRemote,
		EDisconnectRemote,
		EDisconnecting,
		ECanceling
		} ;

// private data
private:
	CMsvEmailUtils* iPop3Utils;
	TRequestStatus& iObserverStatus;
    CMsvSession& iMsvSession;
	CPop3ClientMtm* iPop3Mtm;
	TMsvId iServiceId;
    CMsvOperation* iOperation;
	CCknCancelDialog* iDialog;
	TInternalState iState;
	CMsvEntrySelection* iMsvSelection;
	TMsvId iMailId;
	};

#endif //__POP3MAIL_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -