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

📄 httpclientengine.h

📁 《基于Symbian OS的手机开发与应用实践》这本书的配套源码。
💻 H
字号:
/*
* ============================================================================
*  Name     : CHttpClientEngine from HttpClientEngine.cpp
*  Part of  : HttpClient
*  Created  : 07.03.2006 by ToBeReplacedByAuthor
*  Description:
*     Declares document for application.
*  Version  :
*  Copyright: ToBeReplacedByCopyright
* ============================================================================
*/

#ifndef HTTPCLIENTENGINE_H
#define HTTPCLIENTENGINE_H

// INCLUDES
#include <e32base.h> // for CBase
#include <rhttpsession.h> // for RHTTPSession
#include <rhttptransaction.h> // for RHTTPTransaction
#include <mhttptransactioncallback.h> // for MHTTPTransactionCallback


// CLASS DECLARATION
/**
*  CHttpClientEngine application class.
*/
class CHttpClientEngine : public CBase, public MHTTPTransactionCallback
    {
    public: // Public nterface
        class MObserver
            {
            public:
                virtual void OnHeaderL(TInt aStatusCode, const TDesC& aStatusText) = 0;
                virtual void OnBodyL(const TDesC& aBody) = 0;
            };

    public: // Constructors and destructor
        /**
        * Two-phased constructor.
        */
        static CHttpClientEngine* NewL(MObserver& aObserver);

        /**
        * Destructor.
        */
        virtual ~CHttpClientEngine();

    public: // New functions
        void GetL(const TDesC& aUri);
        void Cancel();
        TBool IsGetting();

    private: // Functions from MHTTPTransactionCallback
        void MHFRunL(RHTTPTransaction aTransaction, const THTTPEvent& aEvent);
        TInt MHFRunError(TInt aError, RHTTPTransaction aTransaction, const THTTPEvent& aEvent);

    public: // Functions from base classes

    protected:  // Functions from base classes

    private:
        /**
        * EPOC default constructor.
        */
        CHttpClientEngine(MObserver& aObserver);
        void ConstructL();

    private:  // New functions
        void AddHeaderL(RHTTPHeaders aHeaders, TInt aHeaderField, const TDesC8& aHeaderValue);

    private:
        MObserver& iObserver;

        RHTTPSession iSession;
        RHTTPTransaction iTransaction;
        HBufC8* iUri;
        TUriParser8 iUriParser;
    };

#endif

// End of File

⌨️ 快捷键说明

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