25#define MACRO_INTERFACE(Name) \
27 static const char *InterfaceName() { return Name; } \
46 template<
class TINTERFACE>
51 template<
class TINTERFACE>
59 template<
class TINTERFACE>
IInterface()
Definition kernel.h:19
IKernel * Kernel()
Definition kernel.h:16
virtual void Shutdown()
Definition kernel.h:21
virtual ~IInterface()=default
IKernel * m_pKernel
Definition kernel.h:13
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 ~IKernel()=default
virtual void RegisterInterfaceImpl(const char *pInterfaceName, IInterface *pInterface, bool Destroy)=0
virtual IInterface * RequestInterfaceImpl(const char *pInterfaceName)=0
void RegisterInterface(TINTERFACE *pInterface, bool Destroy=true)
Definition kernel.h:47