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

📄 httpfsys.h

📁 linux下的一款播放器
💻 H
📖 第 1 页 / 共 2 页
字号:
    STDMETHOD(WriteReady)	(THIS_    				HX_RESULT		status);    STDMETHOD(Closed)		(THIS_				HX_RESULT		status);    /*     * IHXRequestHandler methods     */    /************************************************************************     *	Method:     *	    IHXRequestHandler::SetRequest     *	Purpose:     *	    Associates an IHXRequest with an object     */    STDMETHOD(SetRequest)   	(THIS_			    	IHXRequest*        /*IN*/  pRequest);    /************************************************************************     *	Method:     *	    IHXRequestHandler::GetRequest     *	Purpose:     *	    Gets the IHXRequest object associated with an object     */    STDMETHOD(GetRequest)   	(THIS_			    	REF(IHXRequest*)  /*OUT*/  pRequest);    /**************************	IHXTimeoutSettings    ***************************/    /************************************************************************     *	Method:     *	    IHXTimeSettings::Get/SetConnnectionTimeout     *	Purpose:     *	    Get/Set the connection timeout setting, in seconds     */    STDMETHOD(GetConnectionTimeout) (THIS_			    	      REF(UINT32)   /*OUT*/ nSeconds);    STDMETHOD(SetConnectionTimeout) (THIS_			    	      UINT32	    /*OUT*/ nSeconds);    /************************************************************************     *	Method:     *	    IHXTimeSettings::Get/SetServerTimeout     *	Purpose:     *	    Get/Set the server timeout setting, in seconds     */    STDMETHOD(GetServerTimeout) (THIS_			    	      REF(UINT32)   /*OUT*/ nSeconds);    STDMETHOD(SetServerTimeout) (THIS_			    	      UINT32	    /*OUT*/ nSeconds);    /************************************************************************     *	Method:     *	    IHXHTTPRedirect::Init     *	Purpose:     *	    Initialize the response object     */    STDMETHOD(Init)	    (THIS_			     IHXHTTPRedirectResponse* pRedirectResponse);    /************************************************************************     *	Method:     *	    IHXHTTPRedirect::SetResponseObject     *	Purpose:     *	    Initialize the response object w/o calling Init     */    STDMETHOD(SetResponseObject) (THIS_			          IHXHTTPRedirectResponse* pRedirectResponse);    // IHXClientAuthResponse    STDMETHODIMP ResponseReady    (	HX_RESULT   HX_RESULTStatus,	IHXRequest* pIHXRequestResponse    );    // Support for cache    STDMETHOD_ (IHXBuffer*, CreateBufferFromValues)     (THIS_ IHXValues /*IN*/ *pHeaderValues);    STDMETHOD_ (IHXValues*, CreateValuesFromBuffer)     (THIS_ IHXBuffer *pBuffer);    STDMETHOD_ (void,        CacheSupport_OpenFile)      (THIS);    STDMETHOD_ (void,        CacheSupport_InitObject)    (THIS);    STDMETHOD_ (void,        CacheSupport_ReadDone)      (THIS);    STDMETHOD_ (void,        CacheSupport_HandleSuccess) (THIS_ HTTPResponseMessage* pMessage);    STDMETHOD  (ProcessCacheCompletions)                 (THIS_ BOOL bRedirected);    // Support for autostreaming    STDMETHOD_( void, SetDestinationFile) ( THIS_ const char *pFilename );    /*     *  IHXProxyAutoConfigCallback methods     */    /************************************************************************    *  Method:    *      IHXProxyAutoConfigCallback::GetProxyInfoDone    *  Purpose:    */    STDMETHOD(GetProxyInfoDone)	    (THIS_				    HX_RESULT   status,				    char*	pszProxyInfo);private:    HX_RESULT	    _OpenFileExt	();    HX_RESULT	    BeginGet		(ULONG32 ulOffsetStart=0);    const char*	    GetActualHost	() const;    const char*	    GetActualResource	() const;    HX_RESULT	    GetUserAgent	(REF(IHXBuffer*) pBuffer);    int		    GetActualPort	() const;    HX_RESULT	    ProcessPendingReads	(void);    void	    AddNoCacheHeader	();    BOOL	    IsLiveStream	(const char* pMimeType);    HX_RESULT       _SendAuthentication(IHXValues* pValues);    HX_RESULT       _HandleSuccess		            (			        HTTPResponseMessage*    pMessage, 			        IHXBuffer*              pBuffer,                    UINT32                  ulHeaderLength		            );    HX_RESULT	    _HandleFail(UINT32 ulHTTPError);    HX_RESULT	    _HandleUnAuthorized(HTTPResponseMessage* pMessage);    HX_RESULT	    _HandleRedirect(HTTPResponseMessage* pMessage);        HX_RESULT	    _EnsureThatWeAreReadingWisely();        HX_RESULT	    _HandleByteRangeSeek(ULONG32 ulSeekLocation);    void	    CallReadDone(HX_RESULT status, IHXBuffer* pBuffer);    // Support for cookie mangling    HX_RESULT	    MangleAllSetCookies	    (IHXRequest* pRequest);    HX_RESULT	    MangleSetCookie	    (IHXBuffer* pInput,					     REF(IHXBuffer*) pOutput);    HX_RESULT	    StoreMangledCookie	    (char* pCookie);    HX_RESULT	    UnmangleAllCookies	    (IHXRequest* pRequest);    HX_RESULT	    UnmangleCookie	    (char* pCookie, 					     UINT32 ulCookieLen, 					     REF(IHXBuffer*) pDomain,					     REF(BOOL) bIsDomain,					     REF(IHXBuffer*) pPath);    HX_RESULT	    CompareDomains	    (IHXBuffer* pURLHost, 					     IHXBuffer* pTestDomain, 					     BOOL bIsDomain);    HX_RESULT	    ComparePaths	    (IHXBuffer* pURLPath, 					     IHXBuffer* pTestPath);    HX_RESULT	    GetHostAndPath	    (IHXRequest* pRequest,					     REF(IHXBuffer*) pHostStr,					     REF(IHXBuffer*) pPathStr);    HX_RESULT	    DePerplexBuffer	    (IHXBuffer* pInput, 					     REF(IHXBuffer*) pOutput);    // Error reporting    void	    ReportConnectionFailure ();    void	    ReportConnectionTimeout ();    void	    ReportServerTimeout	    ();    void	    ReportDocumentMissing   ();    void	    ReportGeneralFailure    ();    HX_RESULT	    DecodeChunkedEncoding(HTTPChunkedEncoding*&	pChunkedEncoding, 					  const char*		pChunk, 					  int			l);    friend class HTTPFileObjCallback;    friend class HTTPTCPResponse;    HX_RESULT			m_LastError;    IHXCommonClassFactory*	m_pCommonClassFactory;    IHXPreferences*		m_pPreferences;    IHXScheduler*		m_pScheduler;    IHXRegistry*		m_pRegistry;    IHXErrorMessages*		m_pErrorMessages;    IHXHTTPRedirectResponse*	m_pRedirectResponse;    IHXCookies*		m_pCookies;    IHXCookies2*		m_pCookies2;    IHXProxyAutoConfig*	m_pPAC;    CHXSimpleList*		m_pPACInfoList;    LISTPOSITION		m_PACInfoPosition;    BOOL			m_bOnServer;    IUnknown*			m_pContext;    IHXValues*			m_pOptions;    IHXInterruptState* m_pInterruptState;    #ifdef _MACINTOSH        IHXBuffer*			m_pReadDoneBuffer;    HX_RESULT			m_uReadDoneStatus;    BOOL				m_bReadDoneToBeProcessed;#endif    BOOL			m_bMimeResponsePending;    IHXFileMimeMapperResponse* m_pMimeMapperResponse;    BOOL			m_bFileExistsResponsePending;    IHXFileExistsResponse*	m_pFileExistsResponse;    BOOL			m_bStatPending;    IHXFileStatResponse*	m_pFileStatResponse;    BOOL			m_bInitResponsePending;    IHXFileResponse*		m_pFileResponse;    IHXFileSystemObject*	m_pFileSystem;    BOOL			m_bTCPReadPending;    HTTPTCPResponse*		m_pTCPResponse;    char*			m_szBaseURL;    char*			m_pFilename;    char*			m_pPath;    char*			m_pHost;    ULONG32			m_ulFlags;    IHXRequest*		m_pRequest;    IHXValues*			m_pRequestHeadersOrig;    IHXValues*			m_pParams;    IHXBuffer*			m_pLanguage; // suggested content lang        BOOL			m_bAuthorized;    DECLARE_SMART_POINTER    (	IHXClientAuthConversation    )				m_spClientAuthConversationAuthenticator;    HTTPFileObjCallback*	m_pCallback;    BOOL			m_bSeekPending;    BOOL			m_bInitPending;    BOOL			m_bGetProxyInfoPending;    BOOL			m_bInitialized;    BOOL			m_bInDestructor;    UINT16			m_uDataLength;    char*			m_pData;    ULONG32			m_ulCurrentReadPosition;#if defined(HELIX_FEATURE_HTTP_GZIP)    CDecoder*			m_pDecoder;#else    void*                       m_pDecoder;#endif    CChunkyRes*			m_pChunkyRes;        BOOL			m_bSupportsByteRanges;    BOOL                        m_bDisableByteRanges;    BOOL			m_bExternalByteRangeRequests;    ULONG32			m_uByteRangeSeekOffset;    BOOL			m_bByteRangeSeekPending;    BOOL			m_bCheckingWhetherByteRangeWorks;    BOOL			m_bServerPresumablyWorksWithByteRangeRequests;        CHXSimpleList		m_PendingReadList;    static CHXSimpleList	zm_pList;    int				m_nPort;    UINT32			m_nRequestTime; // for time-outs waiting for a read to complete    BOOL			m_bSocketReadTimeout;        UINT32			m_nConnTimeout;    UINT32			m_nServerTimeout;    BOOL			m_bDisableConnectionTimeOut;    BOOL			m_bConnTimedOut;    BOOL			m_bMangleCookies;    IHXBuffer*      m_pMangledCookies;    BOOL            m_bShoutcast;    BOOL            m_bConvertFailedSeeksToLinear;    /**************************/    /* These member variables need to go in a struct     * if we wanna keep HTTP connection and related downloaded     * stuff live after the http object is destroyed.     * This is needed in the case when the first ff plug-in realizes     * that the file is not of its type and we then load the next     * related plug-in which then connects to the same URL. We do not     * want to start downloading from scratch and instead want to use data     * that had been dowloaded during the lifetime of earlier plug-in     */    IHXTCPSocket*		m_pSocket;    BOOL			m_bHTTP1_1;    BOOL			m_bConnectDone;    BOOL			m_bWriteDone;    BOOL			m_bReadHeaderDone;    BOOL			m_bReadContentsDone;    BOOL			m_bKnowContentSize;    ULONG32			m_nContentSize;    BOOL			m_bEncoded;        BOOL			m_bChunkedEncoding;    HTTPChunkedEncoding*	m_pChunkedEncoding;    ULONG32			m_nContentRead;    UINT16			m_nTotalRequestSize;    UINT16			m_nRequestWritten;    ULONG32			m_nHeaderRead;    CHXString			m_strHost;    CHXString			m_strRequest;    CHXString			m_strResource;    CHXString			m_strMimeType;    BOOL 			m_bUseProxy;    CHXString			m_strProxyHost;    CHXString			m_strProxyResource;    int				m_nProxyPort;    UINT16			m_uMaxRecursionLevel;    UINT16			m_uRecursionCount;    BOOL			m_bInReadDone;    // Support for cache        UINT32         m_ulCreateTime;          UINT32         m_ulExpiryTime;    UINT32         m_ulLastModTime;        BOOL           m_bCacheEnabled;    UINT32         m_ulCacheMaxSize;    IHXBuffer*    m_pCacheFile;    UINT32         m_ulCutOffDate;    BOOL           m_bCached;    CCacheEntry*   m_pCacheEntry;                 IHXBuffer*    m_pReadBuffer;    BOOL           m_bReadPending;          // Data available, ReadDone sked'd     BOOL           m_bMirroredServers;      // Cache ignores leftmost label in domain     // Support for saving streamed files    BOOL			m_bSaveToFile;    CHXString			m_SaveFileName;    ULONG32			m_ulOffset;    // HTTP POST support.    UINT32 			m_nPostDataSize;    // Resume support.     BOOL			m_bPartialData;        BOOL			m_bUseHTTPS;    BOOL                        m_bClosed;    char*                       m_pLastHeader;    UINT32                      m_ulLastHeaderSize;};class HTTPFileObjCallback : public CUnknownIMP,			    public IHXCallback{    DECLARE_UNKNOWN(HTTPFileObjCallback)public:    HTTPFileObjCallback();    void InitObject(CHTTPFileObject* pFileObject);    /*     *	IHXCallback methods     */    STDMETHOD(Func) (THIS);private:    ~HTTPFileObjCallback();    PRIVATE_DESTRUCTORS_ARE_NOT_A_CRIME    friend class CHTTPFileObject;    CHTTPFileObject*	    m_HTTPFileObject;    BOOL		    m_bCallbackPending;    ULONG32		    m_ulPendingCallbackID;};class HTTPTCPResponse : public CUnknownIMP,			public IHXTCPResponse{    DECLARE_UNKNOWN(HTTPTCPResponse)public:    HTTPTCPResponse();    ~HTTPTCPResponse();    void InitObject(CHTTPFileObject* pOwner);    /*     *	IHXTCPResponse methods     */    STDMETHOD(ConnectDone)	(THIS_				 HX_RESULT		status);    STDMETHOD(ReadDone)		(THIS_				HX_RESULT		status,				IHXBuffer*		pBuffer);    STDMETHOD(WriteReady)	(THIS_    				HX_RESULT		status);    STDMETHOD(Closed)		(THIS_				HX_RESULT		status);protected:    LONG32			m_lRefCount;    CHTTPFileObject*		m_pOwner;    friend class CHTTPFileObject;};#endif // _HTTPFSYS_H_

⌨️ 快捷键说明

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