- /*============================================================================*
- *
- * (c) 1995-2002 RealNetworks, Inc. Patents pending. All rights reserved.
- *
- *============================================================================*/
- #if !defined(CHXCLIENTCORE_INCLUDED__)
- #define CHXCLIENTCORE_INCLUDED__
- // forward decl
- #include "chxliteprefs.h"
- #include "hxcore.h"
- #include "chxbody.h"
- #include "hxccf.h"
- struct IHXClientEngine;
- class DLLAccess;
- // inclueds
- #include "chxsmartptr.h"
- #include "comptr.h"
- #include "hxslist.h"
- // SetDllAccessPath exported function from client core dll (missing from hxcore.h)
- typedef HX_RESULT (HXEXPORT_PTR FPRMSETDLLACCESSPATH) (const char*);
- // class CHXClientEngineManager
- class CHXClientEngineManager
- : public CHXBody
- {
- public:
- // ctor and dtor
- CHXClientEngineManager();
- virtual ~CHXClientEngineManager();
- void ConstructL();
- private:
- // disallow assignment and copy
- CHXClientEngineManager(const CHXClientEngineManager& rhs);
- CHXClientEngineManager& operator=(const CHXClientEngineManager& rhs);
- public:
- // methods
- comptr<CHXLitePrefs> GetPrefs();
- comptr<IHXClientEngine> GetEngine();
- comptr<IHXCommonClassFactory> GetFactory();
- private:
- // implementation
- void CreatePrefsL();
- void InitLibSearchPathL();
- void LoadClientCoreL();
- private:
- // data
- // services
- comptr<CHXLitePrefs> m_prefs;
- comptr<IHXCommonClassFactory> m_factory;
- comptr<IHXClientEngine> m_clientEngine;
- // dll stuff
- DLLAccess *m_pDllAccess;
- FPRMCREATEENGINE m_fpCreateEngine;
- FPRMCLOSEENGINE m_fpCloseEngine;
- FPRMSETDLLACCESSPATH m_fpSetDLLAccessPath;
- };
- // smart pointer
- typedef CHXSmartPtr<CHXClientEngineManager> CHXClientEngineManagerPtr;
- inline
- comptr<CHXLitePrefs> CHXClientEngineManager::GetPrefs()
- {
- return m_prefs;
- }
- inline
- comptr<IHXClientEngine> CHXClientEngineManager::GetEngine()
- {
- return m_clientEngine;
- }
- inline
- comptr<IHXCommonClassFactory> CHXClientEngineManager::GetFactory()
- {
- return m_factory;
- }
- #endif // CHXCLIENTCORE_INCLUDED__