HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UT_ISubSystem Class Referenceabstract

#include <UT_SubSystem.h>

+ Inheritance diagram for UT_ISubSystem:

Public Types

enum  Type { UT_SUBSYSTEM, NET_SUBSYSTEM, LM_SUBSYSTEM, MAX_SUBSYSTEMS }
 

Public Member Functions

 UT_NON_COPYABLE (UT_ISubSystem)
 
virtual ~UT_ISubSystem ()=default
 
virtual Type type () const =0
 The type of the subsystem. More...
 

Static Public Member Functions

template<typename SubSystemT >
static bool registerSubSystem (SubSystemT &subsys)
 

Protected Member Functions

 UT_ISubSystem ()=default
 
virtual void initialize_ ()=0
 Initialize this subsystem. More...
 
virtual void shutdown_ ()=0
 Shutdown this subsystem. More...
 

Friends

class ut_SubSystemRegistry
 

Detailed Description

All subsystems should derive from this interface. Each subsystem then defines how to initialize and shutdown its components. All components of a subsystem should be lazy initialized.

Definition at line 30 of file UT_SubSystem.h.

Member Enumeration Documentation

Enumerator
UT_SUBSYSTEM 
NET_SUBSYSTEM 
LM_SUBSYSTEM 
MAX_SUBSYSTEMS 

Definition at line 33 of file UT_SubSystem.h.

Constructor & Destructor Documentation

virtual UT_ISubSystem::~UT_ISubSystem ( )
virtualdefault
UT_ISubSystem::UT_ISubSystem ( )
protecteddefault

Member Function Documentation

virtual void UT_ISubSystem::initialize_ ( )
protectedpure virtual

Initialize this subsystem.

Implemented in UT_SubSystem.

template<typename SubSystemT >
static bool UT_ISubSystem::registerSubSystem ( SubSystemT &  subsys)
inlinestatic

Definition at line 49 of file UT_SubSystem.h.

virtual void UT_ISubSystem::shutdown_ ( )
protectedpure virtual

Shutdown this subsystem.

Implemented in UT_SubSystem.

virtual Type UT_ISubSystem::type ( ) const
pure virtual

The type of the subsystem.

UT_ISubSystem::UT_NON_COPYABLE ( UT_ISubSystem  )

Friends And Related Function Documentation

friend class ut_SubSystemRegistry
friend

Definition at line 65 of file UT_SubSystem.h.


The documentation for this class was generated from the following file: