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

📄 smplfsys.h

📁 linux下的一款播放器
💻 H
📖 第 1 页 / 共 2 页
字号:
#ifdef _MACINTOSH    class SMPLAsyncResponse : public CMacAsyncFileResponse    {    public:	SMPLAsyncResponse(CSimpleFileObject* pFileObject);	~SMPLAsyncResponse();	HX_RESULT AsyncReadDone(HX_RESULT result, IHXBuffer* pBuffer);	HX_RESULT AsyncSeekDone(HX_RESULT result);	CSimpleFileObject*  m_pSMPLFileObject;    };    friend class SMPLAsyncResponse;    SMPLAsyncResponse*	    m_pAsyncFileResponse;    IHXInterruptState*	    m_pInterruptState;    IHXFileStatResponse*   m_pFileStatResponse;    SeekReason		    m_eSeekReason;    UINT32		    m_ulPreSeekPosition;    BOOL		    m_bFileToBeClosed;#endif    CHXGenericCallback* m_pStackCallback;#if defined(HELIX_FEATURE_PROGDOWN)    enum    {        CallbackStateUnknown,        CallbackStateSeek,        CallbackStateRead    };    CProgressiveDownloadMonitor* m_pProgDownMon;    UINT32                       m_ulCallbackState;    BOOL                         RequireFullRead();    HX_RESULT                    FinishDoReadWithCallback(UINT32 actual);    HX_RESULT                    FinishDoReadWithoutCallback(UINT32 actual);    BOOL                         m_bProgDownEnabled;#endif /* #if defined(HELIX_FEATURE_PROGDOWN) */public:    CSimpleFileObject    (	CHXString& base_path, 	CSimpleFileSystem*, 	IUnknown*,	UINT32 ulMaxRecursionLevel    );    ~CSimpleFileObject();    /*     *	IUnknown methods     */    STDMETHOD(QueryInterface)	(THIS_    	    	    	    	REFIID riid,    	    	    	    	void** ppvObj);    STDMETHOD_(ULONG32,AddRef)	(THIS);    STDMETHOD_(ULONG32,Release)	(THIS);    /*     *	IHXFileObject methods     */    /************************************************************************     *	Method:     *	    IHXFileObject::Init     *	Purpose:     *	    Associates a file object with the file response object it should     *	    notify of operation completness. This method should also check     *	    for validity of the object (for example by opening it if it is     *	    a local file).     */    STDMETHOD(Init)		(THIS_				ULONG32		    /*IN*/	ulFlags,				IHXFileResponse*   /*IN*/	pFileResponse);    /************************************************************************     *  Method:     *      IHXFileObject::GetFilename     *  Purpose:     *      Returns the filename (without any path information) associated     *      with a file object.     */    STDMETHOD(GetFilename)      (THIS_				REF(const char*)    /*OUT*/  pFilename);    /************************************************************************     *	Method:     *	    IHXFileObject::Close     *	Purpose:     *	    Closes the file resource and releases all resources associated     *	    with the object.     */    STDMETHOD(Close)	    	(THIS);    /************************************************************************     *	Method:     *	    IHXFileObject::Read     *	Purpose:     *	    Reads a buffer of data of the specified length from the file     *	    and asynchronously returns it to the caller via the      *	    IHXFileResponse interface passed in to Init.     */    STDMETHOD(Read)		(THIS_    	    	    	    	ULONG32	    	    ulCount);    /************************************************************************     *	Method:     *	    IHXFileObject::Write     *	Purpose:     *	    Writes a buffer of data to the file and asynchronously notifies     *	    the caller via the IHXFileResponse interface passed in to Init,     *	    of the completeness of the operation.     */    STDMETHOD(Write)	    	(THIS_    	    	    	    	IHXBuffer*	    pBuffer);    /************************************************************************     *	Method:     *	    IHXFileObject::Seek     *	Purpose:     *	    Seeks to an offset in the file and asynchronously notifies     *	    the caller via the IHXFileResponse interface passed in to Init,     *	    of the completeness of the operation.     */    STDMETHOD(Seek)		(THIS_    	    	    	    	 ULONG32	    ulOffset,				 BOOL               bRelative);    /************************************************************************     *	Method:     *	    IHXFileObject::Stat     *	Purpose:     *	    Collects information about the file that is returned to the     *      caller in an IHXStat object     */    STDMETHOD(Stat)		(THIS_				IHXFileStatResponse* pFileStatResponse);    /************************************************************************     *	Method:     *	    IHXFileObject::Advise     *	Purpose:     *      To pass information to the File Object     */    STDMETHOD(Advise)	(THIS_			ULONG32 ulInfo);    /************************************************************************     *	Method:     *	    IHXDirHandler::InitDirHandler     *	Purpose:     *	    Associates a directory handler with the directory handler     *	    response, it should notify of operation completness.     */    STDMETHOD(InitDirHandler)	(THIS_				IHXDirHandlerResponse*    /*IN*/  pDirResponse);    /************************************************************************     *	Method:     *	    IHXDirHandler::CloseDirHandler     *	Purpose:     *	    Closes the directory handler resource and releases all resources     *	    associated with the object.     */    STDMETHOD(CloseDirHandler)	(THIS);    /************************************************************************     *	Method:     *	    IHXDirHandler::MakeDir     *	Purpose:     *	    Create the directory     */    STDMETHOD(MakeDir)	(THIS);    /************************************************************************     *	Method:     *	    IHXDirHandler::ReadDir     *	Purpose:     *	    Get a dump of the directory     */    STDMETHOD(ReadDir)	(THIS);    /************************************************************************     *	Method:     *	    IHXGetFileFromSamePool::GetFileObjectFromPool     *	Purpose:     *      To get another FileObject from the same pool.      */    STDMETHOD(GetFileObjectFromPool)	(THIS_					 IHXGetFileFromSamePoolResponse*);    // IHXFileExists interface    /************************************************************************     *	Method:     *	    IHXFileExists::DoesExist     *	Purpose:     */    STDMETHOD(DoesExist) (THIS_			const char*		/*IN*/  pPath, 			IHXFileExistsResponse* /*IN*/  pFileResponse);    //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);    /************************************************************************     *	Method:     *	    IHXFileRename::Rename     *	Purpose:     *	    Renames the file to the new file name     */    STDMETHOD(Rename)			(THIS_					const char* /*IN*/  pFilename);    /************************************************************************     *	Method:     *	    IHXFileMove::Move     *	Purpose:     *	    Renames the file to the new file name     */    STDMETHOD(Move)			(THIS_					const char* /*IN*/  pFilename);    /************************************************************************     *	Method:     *	    IHXFileRemove::Remove     *	Purpose:     *	    Removes the file from the file system     */    STDMETHOD(Remove)			(THIS);    /************************************************************************     *	Method:     *	    Private interface::_OpenFile     *	Purpose:     *	    This common method is used from Init() and GetFileObjectFromPool()     */    STDMETHOD(_OpenFile) (THIS_			  ULONG32	    ulFlags);    STDMETHOD_(UINT32,IsThreadSafe)(THIS);#if defined(HELIX_FEATURE_PROGDOWN)    // CProgressiveDownloadMonitorResponse methods    STDMETHOD(ProgressiveCallback) (THIS);#endif /* #if defined(HELIX_FEATURE_PROGDOWN) */    // CSimpleFileObject methods    static void StackCallback(void* pArg);};#endif // ndef _SMPLFSYS_H_

⌨️ 快捷键说明

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