25#define MACRO_INTERFACE(Name) \
27 static const char *InterfaceName() { return Name; } \
46 template<
class TINTERFACE>
51 template<
class TINTERFACE>
59 template<
class TINTERFACE>
Definition: kernel.cpp:11
IInterface()
Definition: kernel.h:19
IKernel * Kernel()
Definition: kernel.h:16
virtual void Shutdown()
Definition: kernel.h:21
IKernel * m_pKernel
Definition: kernel.h:13
virtual ~IInterface()
Definition: kernel.h:22
void ReregisterInterface(TINTERFACE *pInterface)
Definition: kernel.h:52
TINTERFACE * RequestInterface()
Definition: kernel.h:60
virtual void Shutdown()=0
virtual void ReregisterInterfaceImpl(const char *pInterfaceName, IInterface *pInterface)=0
static IKernel * Create()
Definition: kernel.cpp:96
virtual void RegisterInterfaceImpl(const char *pInterfaceName, IInterface *pInterface, bool Destroy)=0
virtual ~IKernel()
Definition: kernel.h:43
virtual IInterface * RequestInterfaceImpl(const char *pInterfaceName)=0
void RegisterInterface(TINTERFACE *pInterface, bool Destroy=true)
Definition: kernel.h:47