diff -r 819e59dfc032 -r 2d9cac8919d3 loadgen/engine/inc/loadgen_httpreceiver.h --- a/loadgen/engine/inc/loadgen_httpreceiver.h Mon Oct 04 10:09:02 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,183 +0,0 @@ - - -#ifndef CHTTPReceiver_H -#define CHTTPReceiver_H - -#include -#include -#include -#include -#include - -// CONSTANTS -// None. - -// MACROS -#ifdef _DEBUG -#define TRACE( text ) RDebug::Printf( text ); -#define TRACE2( text, arg ) RDebug::Printf( text, arg ); -#else -#define TRACE( text ) -#define TRACE2( text, arg ) -#endif - -// DATA TYPES -// None. - -// FUNCTION PROTOTYPES -// None. - -// FORWARD DECLARATIONS -// None. - -class MHTTPRecvObserver - { - public: - - /** - * Callback for HTTP response received. - * @param aStatus Status code. - * @return None. - */ - virtual void HTTPFileReceived( TInt aStatus ) = 0; - }; - -// CLASS DECLARATION - -class CHTTPReceiver - : public CBase, - public MHTTPTransactionCallback - { - public: // Constructors and destructor - - /** - * Two-phased constructor. - */ - static CHTTPReceiver* NewL( MHTTPRecvObserver& aObserver ); - - /** - * Two-phased constructor. - */ - static CHTTPReceiver* NewLC( MHTTPRecvObserver& aObserver ); - - /** - * Destructor. - */ - virtual ~CHTTPReceiver(); - - /** - * Cancels the current HTTP transaction. - */ - void CancelTransaction(); - - /** - * Opens a connection to destination aUri and sends data using HTTP GET. - * Callbacks via MHTTPRecvObserver::HTTPFileReceived - * Leaves with KErrNotReady If network is not available - * @param aUri Destination URL, if http scheme not specified, prepends scheme. - */ - void SendHTTPGetL( const TDesC8& aUri ); - - protected: // Constructors and destructor - - /** - * C++ default constructor. - */ - CHTTPReceiver( MHTTPRecvObserver& aObserver ); - - /** - * Symbian 2nd phase constructor. - */ - void ConstructL(); - - /** - * Sets HTTP header fields. - * @param aHeaders HTTP headers. - * @param aHdrField Header field to set. - * @param aHdrValue Header field value. - */ - void SetHeaderL(RHTTPHeaders aHeaders, TInt aHdrField, - const TDesC8& aHdrValue); - - //From MHTTPTransactionCallback - /** - * Called by HTTP framework when HTTP events occur. - * @param aTransaction The transaction that the event has occurred on. - * @param aEvent The event that has occurred. - */ - void MHFRunL(RHTTPTransaction aTransaction, const THTTPEvent& aEvent); - - /** - * Called when RunL leaves from a transaction event. - * @param aError The leave code that RunL left with. - * @param aTransaction The transaction that was being processed. - * @param aEvent The event that was being processed. - * @return KErrNone. - */ - TInt MHFRunError( TInt aError, - RHTTPTransaction aTransaction, - const THTTPEvent& aEvent); - - /** - * Starts HTTP connection. - */ - void SetupConnectionL(); - - /** - * Utility:Checks for http uri scheme and prepends if not exists to the url - * @param aUri UriParser. - * @param aURL URL to check for. - * @return None - */ - void CheckForHTTPSchemeL(TUriParser8& aUri, const TDesC8& aURL); - - /** - * Utility: finish receiving, call calback HTTPFileReceived() - * @param aError to be signaled - * @return None - */ - void Finalize(); - - private: - - // Request uri, might need to prepend http scheme. - HBufC8* iUrl; - - // RSocketServ object. - RSocketServ iSocketServ; - - // RConnection object. - RConnection iConnection; - - // HTTP session. - RHTTPSession iSession; - - // HTTP transaction used for request. - RHTTPTransaction iTransaction; - - // Observer to notify. - MHTTPRecvObserver& iObserver; - - // ETrue if transaction in progress. - TBool iRunning; - - // ETrue if connection set up done. - TBool iConnectionSetupDone; - - // Response Status - TInt iResponseStatus; - -#ifdef _DEBUG - // Http response body written to file - RFile iResponseFile; - - // RFs to be used for writing to iResponseFile - RFs iFs; -#endif - -}; - -#endif - -// CHTTPReceiver_H -// End of File