httpengine.h

来自「个人手机助理套件:包含1、记事本(备忘录)、名片夹、名片夹的上传下载(异地备份)」· C头文件 代码 · 共 57 行

H
57
字号
#ifndef _HTTPENGINE_H_
#define _HTTPENGINE_H_

#include <e32base.h>						// CBase
#include <MHTTPAuthenticationCallback.h>	// MHTTPAuthenticationCallback
#include <mhttpdatasupplier.h>				// MHTTPDataSupplier
#include <mhttptransactioncallback.h>		// MHTTPTransactionCallback
#include <RHTTPSession.h>					// RHTTPSession
#include <RHTTPTransaction.h>				// RHTTPTransaction

// FORWARD DECLARATIONS
class CHTTPFormEncoder;

class MHTTPEngineObserver
{
public:
	virtual void ResponseStatusL(TInt aStatusCode, const TDesC& aStatusText) = 0;
	virtual void ResponseReceivedL(const TDesC& aResponseBuffer) = 0;
};

class CHTTPEngine : public CBase, public MHTTPTransactionCallback
{
public:
	static CHTTPEngine* NewL(MHTTPEngineObserver& aObserver);
	~CHTTPEngine();
	
	void GetRequestL(const TDesC& aUri);
	void PostRequestL(const TDesC8& aContent,const TDesC8& aUri);
	
	// Cancel an outstanding transaction
	void Cancel();
	
private: // from MHTTPTransactionCallback
	virtual void MHFRunL(RHTTPTransaction aTransaction, const THTTPEvent& aEvent);
	virtual TInt MHFRunError(TInt aError, RHTTPTransaction aTransaction, const THTTPEvent& aEvent);
	
private:
	CHTTPEngine(MHTTPEngineObserver& aObserver);
	void ConstructL();
	
	void ParseUriL(const TDesC& aUri);
	void AddHeaderL(RHTTPHeaders aHeaders, TInt aHeaderField, const TDesC8& aHeaderValue);
	
private:
	RHTTPSession m_Session;
	RHTTPTransaction m_Transaction;
	
	HBufC* m_pResponseBuffer;
	HBufC8* m_pUri;
	TUriParser8 m_pUriParser;
	CHTTPFormEncoder* m_pFormEncoder;
	
	MHTTPEngineObserver& m_Observer;
};


#endif

⌨️ 快捷键说明

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