#ifndef __I_RTC_ENGINE_FACTORY_HPP__ #define __I_RTC_ENGINE_FACTORY_HPP__ #include "IMRTCEngine.hpp" RTCENGINE_NAMESPACE_BEGIN class RTCENGINE_API IMRTCEngineFactory { public: DELETE_CTOR_COPY(IMRTCEngineFactory); // // Constructor. // IMRTCEngineFactory() = default; // // Destructor. // virtual ~IMRTCEngineFactory() = default; public: // // Create MRTCEngine. // virtual IMRTCEngine* produceMRTCEngine() = 0; // // Release MRTCEngine. // virtual void releaseMRTCEngine() = 0; }; // // Get MRTCEngine Factory. // RTCENGINE_API IMRTCEngineFactory* getMRTCEngineFactory(); // // Relase MRTCEngine Factory. // RTCENGINE_API void releaseMRTCEngineFactory(IMRTCEngineFactory*& factory); RTCENGINE_NAMESPACE_END #endif