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

📄 httpengine.h

📁 个人手机助理套件:包含1、记事本(备忘录)、名片夹、名片夹的上传下载(异地备份)、短消息模块
💻 H
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -