亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? exampleclientengine.h

?? give the example to subit http request
?? H
字號:
/*
 * ============================================================================
 *  Name     : ExampleClientEngine.h
 *  Part of  : HTTP Example
 *  Created  : 11/14/2003 by Forum Nokia
 *  Implementation notes:
 *
 *     
 *  Version  : 1.0
 *  Copyright: Nokia Corporation
 * ============================================================================
 */


#ifndef __EXAMPLECLIENTENGINE_H__
#define __EXAMPLECLIENTENGINE_H__

#include <coecntrl.h>
#include <http\mhttpdatasupplier.h>
#include <http\mhttptransactioncallback.h>
#include <http\mhttpauthenticationcallback.h>

/*
* Forward declarations
*/
class RHTTPSession;
class RHTTPTransaction;

/*
* MClientObserver
* CClientEngine passes events and responses body data with this interface. 
* An instance of this class must be provided for construction of CClientEngine.
*/
class MClientObserver 
	{
	public:
		/*
		* ClientEvent()
		*
		* Called when event occurs in CClientEngine.
		*
		* Params:
		*		aEventDescription:	A event in textual format, e.g.
		*							"Transaction Successful"
		* 
		* Returns:
		* 		-
		*
		*/
		virtual void ClientEvent(const TDesC& aEventDescription) = 0;

		/*
		* ClientBodyReceived()
		*  
		* Called when a part of the HTTP body is received.
		*
		* Params: 
		*		aBodyData:	Part of the body data received. (e.g. part of
		*					the received HTML page)
		* 
		* Returns:
		* 		-
		*
		*/
		virtual void ClientBodyReceived(const TDesC8& aBodyData) = 0;
	};

/*
* Provides simple interface to HTTP Client API.
*/
class CClientEngine :	public CBase, 
						public MHTTPTransactionCallback,
						public MHTTPDataSupplier,
						public MHTTPAuthenticationCallback
	{
public:
	/*
	* NewL()
	*  
	* Create a CClientEngine object.
	*
	* Params: 
	*		iObserver: 
	* 
	* Returns:
	* 		A pointer to the created instance of CClientEngine
	*
	*/
	static CClientEngine* NewL(MClientObserver& iObserver);

	/*
	* NewLC()
	*  
	* Create a CClientEngine object.
	*
	* Params: 
	*		iObserver:
	* 
	* Returns:
	* 		A pointer to the created instance of CClientEngine
	*
	*/
	static CClientEngine* NewLC(MClientObserver& iObserver);

	/*
	* ~CClientEngine()
	*  
	* Destroy the object
	*
	* Params: 
	*		-
	* 
	* Returns:
	* 		-
	*
	*/
	~CClientEngine();

	/*
	* IssueHTTPGetL()
	*  
	* Starts a new HTTP GET transaction.
	*
	* Params: 
	*		aUri: URI to get. (e.g. http://host.org")
	* 
	* Returns:
	* 		-
	*
	*/
	void IssueHTTPGetL(const TDesC8& aUri);

	/*
	* IssueHTTPPostL()
	*  
	* Starts a new HTTP POST transaction.
	*
	* Params: 
	*		aUri: URI where to post the data (e.g. http://host.org")
	*		aContentType: Content type of the body, e.g. "text/plain"
	*		aBody: Body data for the transaction.
	* 
	* Returns:
	* 		-
	*
	*/
	void IssueHTTPPostL(const TDesC8& aUri, 
						const TDesC8& aContentType, 
						const TDesC8& aBody);

	/*
	* CancelTransaction()
	*  
	* Closes currently running transaction and frees resources related to it.
	*
	* Params: 
	*		-
	* 
	* Returns:
	* 		-
	*
	*/
	void CancelTransaction();

	/*
	* IsRunning()
	*  
	* Checks if the transaction is running.
	*
	* Params: 
	*		-
	* 
	* Returns:
	* 		ETrue, if transaction is currently running.
	*
	*/
	inline TBool IsRunning() { return iRunning; };

private:
	/*
	* ConstructL()
	*  
	* Perform the second phase construction of a CClientEngine object.
	*
	* Params: 
	*		-
	* 
	* Returns:
	* 		-
	*
	*/
	void ConstructL();

	/*
	* CClientEngine()
	*  
	* Perform the first phase of two phase construction.
	*
	* Params: 
	*		iObserver: 
	* 
	* Returns:
	* 		-
	*
	*/
	CClientEngine(MClientObserver& iObserver);

	/*
	* SetHeaderL()
	*  
	* Sets header value of an HTTP request.
	*
	* Params: 
	*		aHeaders:	Headers of the HTTP request
	*		aHdrField:	Enumerated HTTP header field, e.g. HTTP::EUserAgent
	*		aHdrValue:	New value for header field
	* 
	* Returns:
	* 		-
	*
	*/
	void SetHeaderL(RHTTPHeaders aHeaders, TInt aHdrField, 
					const TDesC8& aHdrValue);

/*
* From MHTTPSessionEventCallback
*/
private:
	/*
	* MHFRunL()
	*  
	* Called by framework to notify about transaction events.
	*
	* Params: 
	*		aTransaction: Transaction, where the event occured.
	*		aEvent: Occured event.
	* 
	* Returns:
	* 		-
	*
	*/
	void MHFRunL(RHTTPTransaction aTransaction, const THTTPEvent& aEvent);

	/*
	* MHFRunError()
	*  
	* Called by framework when *leave* occurs in handling of transaction event. 
	*
	* Params: 
	*		aError:			The leave code that occured.
	*		aTransaction:	The transaction that was being processed when leave
	*						occured.
	*		aEvent:			The event that was being processed when leave 
	*						occured.
	* 
	* Returns:
	* 		KErrNone, if the error was handled. Otherwise the value of aError, or
	*		some other error value. Returning error value causes causes 
	*		HTTP-CORE 6 panic.
	*
	*/
	TInt MHFRunError(	TInt aError, 
						RHTTPTransaction aTransaction, 
						const THTTPEvent& aEvent);

/*
* From MHTTPDataSupplier (needed for HTTP POST)
*/
private:
	/*
	* ReleaseData()
	*  
	* Called by framework to allow data supplier to release resources
	* related to previous data part.
	*
	* Params: 
	*		-
	* 
	* Returns:
	* 		-
	*
	*/
	void ReleaseData();

	/*
	* GetNextDataPart()
	*  
	* Called when next data part is needed. 
	*
	* Params: 
	*		aDataPart: Must be set to point to the next data part.
	* 
	* Returns:
	* 		ETrue if the provided data part is the last one. If more data parts
	*		are needed after the provided one, return EFalse.
	*
	*/
	TBool GetNextDataPart(TPtrC8& aDataPart);

	/*
	* Reset()
	*  
	* Called by framework to reset the data supplier to its initial state.
	*
	* Params: 
	*		-
	* 
	* Returns:
	*		KErrNone if successfull.
	*
	*/
	TInt Reset();

	/*
	* OverallDataSize()
	*  
	* Called by framework when it needs to know the size of the 
	* body data.
	*
	* Params: 
	*		-
	* 
	* Returns:
	* 		Size of the data, or KErrNotFound (or KErrNotSupported)
	*		if the size of the data is not known.
	*
	*/
	TInt OverallDataSize();

/*
* From MHTTPAuthenticationCallback (needed for HTTP authentication)
*/
private:
	/*
	* GetCredentialsL()
	*  
	* Called by framework when username and password for requested URI is 
	* needed.
	*
	* Params: 
	*		aURI: The URI being requested (e.g. "http://host.org")
	*		aRealm: The realm being requested (e.g. "user@host.org")
	*		aAuthenticationType: Authentication type. (e.g. "Basic")
	*		aUsername: Given user name.
	*		aPassword: Given password.
	* 
	* Returns:
	* 		A pointer to the created document
	*
	*/
	TBool GetCredentialsL(	const TUriC8& aURI, 
							RString aRealm, 
							RStringF aAuthenticationType, 
							RString& aUsername, 
							RString& aPassword);

private:
	RHTTPSession			iSession;
	RHTTPTransaction		iTransaction;

	MClientObserver&		iObserver;	// Used for passing body data and
										// events to UI.
	HBufC8*					iPostData;	// Data for HTTP POST
	TBool					iRunning;	// ETrue, if transaction running
	};

#endif // __EXAMPLECLIENTENGINE_H__

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
2019国产精品| 亚洲一区在线观看网站| 亚洲欧美日韩国产中文在线| 午夜精品福利一区二区三区av| 久久成人免费网站| 欧美亚洲综合在线| 国产拍揄自揄精品视频麻豆| 粉嫩aⅴ一区二区三区四区五区| 在线中文字幕一区二区| 久久精品视频一区| 奇米亚洲午夜久久精品| 成年人网站91| 日韩欧美一区电影| 国产精品三级av在线播放| 中文字幕中文字幕在线一区| 亚洲人成电影网站色mp4| 蜜臀av性久久久久av蜜臀妖精| 国产精品一级黄| 欧美影片第一页| 久久久精品免费免费| 亚洲欧美偷拍卡通变态| 极品美女销魂一区二区三区| 色噜噜狠狠成人中文综合| 精品精品国产高清一毛片一天堂| 亚洲欧美一区二区三区极速播放 | 欧美少妇xxx| 久久久另类综合| 日韩中文字幕麻豆| www.综合网.com| 亚洲精品在线免费观看视频| 亚洲一二三四在线观看| 福利一区福利二区| 精品国产三级电影在线观看| 一区二区理论电影在线观看| 福利91精品一区二区三区| 欧美一区永久视频免费观看| 亚洲伦理在线免费看| 国产激情91久久精品导航| 这里只有精品免费| 亚洲精品日产精品乱码不卡| 国产成人精品免费视频网站| 日韩欧美激情在线| 香蕉乱码成人久久天堂爱免费| 成人性生交大片免费| 精品欧美黑人一区二区三区| 视频一区在线播放| 欧美日韩在线免费视频| 亚洲欧美色一区| thepron国产精品| 欧美激情一区二区三区四区| 精品在线一区二区| 日韩欧美国产一区二区三区 | av在线这里只有精品| 欧美韩日一区二区三区四区| 国产精品主播直播| 国产欧美精品一区二区三区四区 | 亚洲一区二区美女| 激情久久五月天| 久久久精品综合| 极品美女销魂一区二区三区| 精品国产乱码91久久久久久网站| 麻豆成人91精品二区三区| 日韩一级黄色片| 免费高清成人在线| 337p粉嫩大胆色噜噜噜噜亚洲| 久久av老司机精品网站导航| 日韩欧美一二区| 韩国三级在线一区| 国产欧美一区二区三区沐欲| 免费xxxx性欧美18vr| 亚洲精品一区二区三区精华液| 婷婷一区二区三区| 91精品综合久久久久久| 午夜电影网亚洲视频| 国产亚洲欧美在线| 高清国产一区二区| 亚洲精品五月天| 5566中文字幕一区二区电影| 国产真实乱偷精品视频免| 欧美激情一区二区三区不卡 | 免费看欧美女人艹b| 精品国产一区二区三区av性色| 国产精品影视在线| 亚洲乱码中文字幕| 日韩欧美一区二区三区在线| 国产盗摄视频一区二区三区| 亚洲欧美一区二区在线观看| 欧美日韩一卡二卡三卡| 久久99热这里只有精品| 国产精品高潮呻吟| 欧美一区在线视频| 岛国一区二区在线观看| 亚洲高清免费观看| 2021中文字幕一区亚洲| 91麻豆国产自产在线观看| 老司机精品视频在线| 精品成人一区二区| 色偷偷88欧美精品久久久| 国产一区二区中文字幕| 亚洲精品视频自拍| 久久久久国色av免费看影院| 日本高清不卡视频| 国产综合色视频| 亚洲一区二区在线免费看| 久久综合九色综合97_久久久 | 日韩免费视频一区| 99在线精品观看| 九色综合狠狠综合久久| 亚洲黄色免费网站| 国产视频一区二区三区在线观看| 欧美午夜影院一区| www.亚洲人| 韩国中文字幕2020精品| 亚洲国产精品久久不卡毛片| 国产精品人人做人人爽人人添| 91精品国产综合久久国产大片| 91丨国产丨九色丨pron| 国产成人精品影视| 蜜桃免费网站一区二区三区| 一级女性全黄久久生活片免费| 国产亚洲精品福利| 精品成人在线观看| 欧美一级电影网站| 欧美日韩激情一区二区三区| 91免费观看国产| 国产成人免费网站| 亚洲一区二区三区自拍| 亚洲va欧美va国产va天堂影院| 亚洲欧美日韩精品久久久久| 中文字幕乱码久久午夜不卡| 久久综合色之久久综合| 欧美不卡视频一区| 欧美一区二区三区的| 欧美妇女性影城| 欧美日韩国产成人在线免费| 欧美体内she精高潮| 色天使色偷偷av一区二区| www.av亚洲| 91啪在线观看| 91视频com| 欧美最新大片在线看| 色婷婷av一区二区三区大白胸| 91年精品国产| 欧美午夜精品久久久久久孕妇| 97se亚洲国产综合自在线不卡| 99这里都是精品| 91免费版在线看| 欧美色电影在线| 在线播放91灌醉迷j高跟美女| 337p亚洲精品色噜噜| 日韩视频永久免费| 精品999在线播放| 国产亚洲综合av| 国产精品毛片无遮挡高清| 中文字幕一区二区三区在线不卡 | 日韩vs国产vs欧美| 免费精品视频在线| 国内外成人在线| av不卡免费电影| 99精品国产99久久久久久白柏| 91丝袜国产在线播放| 在线观看免费一区| 日韩你懂的电影在线观看| 国产一区二区三区综合| 亚洲国产一区视频| 亚洲人成在线观看一区二区| 亚洲色图20p| 午夜成人免费电影| 亚洲欧美另类久久久精品2019| 中文字幕一区二区视频| 亚洲第四色夜色| 国产精品一区二区91| 一本大道久久a久久精品综合| 日本韩国一区二区三区| 日韩欧美亚洲国产精品字幕久久久| 久久嫩草精品久久久精品一| 亚洲免费在线观看| 蜜桃久久久久久| 成人网页在线观看| 欧美久久高跟鞋激| 欧美激情一区二区三区蜜桃视频 | 91香蕉国产在线观看软件| 欧美日韩国产影片| 国产精品三级久久久久三级| 亚洲国产精品久久人人爱蜜臀| 国产高清成人在线| 欧美日韩一卡二卡| 国产精品无遮挡| 日韩精品亚洲一区二区三区免费| 国产一区二区三区美女| 欧美日韩国产一区二区三区地区| 国产欧美一区二区精品性| 日本vs亚洲vs韩国一区三区| 成人黄色777网| 精品国产乱码91久久久久久网站| 亚洲精品日产精品乱码不卡| 国产精品99久| 一区二区三区免费| 国产成人一区二区精品非洲| 欧美日韩一本到|