45 lines
791 B
C++
45 lines
791 B
C++
#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 |