📄 hxcleng.h
字号:
* Method: * IHXClientEngine::GetPlayerCount * Purpose: * Returns the current number of IHXPlayer instances supported by * this client engine instance. */ STDMETHOD_(UINT16, GetPlayerCount)(THIS); /************************************************************************ * Method: * IHXClientEngine::GetPlayer * Purpose: * Returns the Nth IHXPlayer instances supported by this client * engine instance. */ STDMETHOD(GetPlayer) (THIS_ UINT16 nPlayerNumber, REF(IUnknown*) pUnknown); /************************************************************************ * Method: * IHXClientEngine::EventOccurred * Purpose: * Clients call this to pass OS events to all players. HXxEvent * defines a cross-platform event. */ STDMETHOD(EventOccurred) (THIS_ HXxEvent* /*IN*/ pEvent); /* * IHXMimeTypeMapper methods */ STDMETHOD(MapFromExtToMime) (THIS_ const char* /*IN*/ pExtension, REF(const char*) /*OUT*/ pMimeType);#ifdef _UNIX STDMETHOD_(INT32,Select) (THIS_ INT32 n, fd_set* readfds, fd_set* writefds, fd_set* exceptfds, struct timeval* timeout); STDMETHOD(Add) (THIS_ IHXCallback* pCallback, INT32 lFileDescriptor, UINT32 ulFlags); STDMETHOD(Remove) (THIS_ INT32 lFileDescriptor, UINT32 ulFlags); CHXSimpleList* m_select_callbacks;#endif /* * IHXClientEngineSetup methods */ /************************************************************************ * Method: * IHXClientEngineSetup::Setup * Purpose: * Top level clients use this interface to over-ride certain basic * interfaces are: IHXPreferences, IHXHyperNavigate */ STDMETHOD(Setup) (THIS_ IUnknown* pContext); /* * IHXInterruptState methods */ STDMETHOD_(BOOL,AtInterruptTime) (THIS); STDMETHOD(EnterInterruptState) (THIS); STDMETHOD(LeaveInterruptState) (THIS); STDMETHOD(EnableInterrupt) (THIS_ BOOL bEnable); STDMETHOD_(BOOL, IsInterruptEnabled) (THIS); /* * IHXShutDownEverything methods */ /************************************************************************ * Method: * IHXShutDownEverything::ShutDown * Purpose: * Shutdown all the renderers/fileformats * */ STDMETHOD(ShutDown) (THIS); /************************************************************************ * Method: * IHXShutDownEverything::StopAllOtherPlayers * Purpose: * Stop all the players in other processes if they use audio * */ STDMETHOD(StopAllOtherPlayers) (THIS); /************************************************************************ * Method: * IHXShutDownEverything::AskAllOtherPlayersToReload * Purpose: * Ask all other players in other processes to reload their * DLLs. * */ STDMETHOD(AskAllOtherPlayersToReload) (THIS); /************************************************************************ * Method: * IHXShutDownEverything::AskAllOtherPlayersToUnload * Purpose: * Ask all other players in other processes to unload their * unused DLLs. * */ STDMETHOD(AskAllOtherPlayersToUnload) (THIS); /* * IHXOverrideDefaultServices methods */ /************************************************************************ * Method: * IHXOverrideDefaultServices::OverrideServices * Purpose: * Override default services provided by the G2 system. * */ STDMETHOD(OverrideServices) (THIS_ IUnknown* pContext); /* * IHXErrorMessages methods */ /************************************************************************ * Method: * IHXErrorMessages::Report * Purpose: * Call this method to report an error, event, or status message. * Parameters: * * const UINT8 unSeverity * Type of report. This value will impact how the player, tool, or * server will react to the report. Possible values are described * above. Depending on the error type, an error message with the * RMA code, anda string translation of that code will be displayed. * The error dialog includes a "more info" section that displays the * user code and string, and a link to the more info URL. In the * server these messages are logged to the log file. * * const ULONG32 ulHXCode * Well known RMA error code. This will be translated to a text * representation for display in an error dialog box or log file. * * const ULONG32 ulUserCode * User specific error code. This will NOT be translated to a text * representation. This can be any value the caller wants, it will * be logged or displayed but not interpretted. * * const char* pUserString * User specific error string. This will NOT be translated or * modified. This can be any value the caller wants, it will * be logged or displayed but not interpretted. * * const char* pMoreInfoURL * User specific more info URL string. * */ STDMETHOD(Report) (THIS_ const UINT8 unSeverity, HX_RESULT ulHXCode, const ULONG32 ulUserCode, const char* pUserString, const char* pMoreInfoURL); /************************************************************************ * Method: * IHXErrorMessages::GetErrorText * Purpose: * Call this method to get the text description of a RMA error code. * Parameters: * HX_RESULT ulHXCode (A RMA error code) * Return Value: * IHXBuffer* containing error text. */ STDMETHOD_(IHXBuffer*, GetErrorText) (THIS_ HX_RESULT ulHXCode); /************************************************************************ * Method: * IHXClientEngineMapper::GetPlayerBySite * Purpose: * Returns the IHXPlayer instance supported by this client * engine instance that contains the specified IHXSite. */ STDMETHOD(GetPlayerBySite) (THIS_ IHXSite* pSite, REF(IUnknown*) pUnknown); /************************************************************************ * Method: * IHXCoreMutex::LockCoreMutex * Purpose: * Call this method to lock the client engine's core mutex. */ STDMETHOD(LockCoreMutex) (THIS); /************************************************************************ * Method: * IHXCoreMutex::UnlockCoreMutex * Purpose: * Call this method to unlock the client engine's core mutex. */ STDMETHOD(UnlockCoreMutex) (THIS);#if defined(_MACINTOSH) && defined(_CARBON) && defined(THREADS_SUPPORTED) /************************************************************************ * Method: * IHXMacBlitMutex::LockMacBlitMutex * Purpose: * Call this method to lock the Mac blitting mutex */ STDMETHOD(LockMacBlitMutex) (THIS); /************************************************************************ * Method: * IHXMacBlitMutex::UnlockMacBlitMutex * Purpose: * Call this method to unlock the Mac blitting mutex */ STDMETHOD(UnlockMacBlitMutex) (THIS);#endif STDMETHOD(StopAudioPlayback) (THIS); virtual void Close(); HXMutex* GetCoreMutex() {return m_pCoreMutex;}; CHXResMgr* GetResMgr() {return m_pResMgr;}; void NotifyPlayState(BOOL bInPlayingState); HXCookies* GetCookies() {return m_pCookies;}; UINT32 m_lROBActive;protected: void _Initialize(); virtual CHXAudioSession* NewAudioSession(); virtual HXPlayer* NewPlayer(); virtual HXCookies* NewCookies(); void CreatePrefIfNoExist(const char* pName, const char* pValue); void CreatePluginDir(); void CreateCodecDir(); void InitializeThreadedObjects(); void InitializeRegistry(); IHXBuffer* CreateBufferAndSetToString(const char* pStr); void InitPaths(); CHXSimpleList m_PlayerList; HX_RESULT m_LastError; HX_BITFIELD m_bIsSchedulerStarted : 1; HX_BITFIELD m_bInitialized : 1; BOOL m_bUseCoreThread; HX_BITFIELD m_bUseCoreThreadExternallySet : 1; HXCoreComm* m_pCoreComm; HXMutex* m_pCoreMutex;#if defined(_MACINTOSH) && defined(_CARBON) && defined(THREADS_SUPPORTED) BOOL m_bUseMacBlitMutex; HXMutex* m_pMacBlitMutex;#endif const char* m_AUName;};#endif // HXClientEngine
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -