diff options
Diffstat (limited to 'src/libjin/common/je_subsystem.hpp')
| -rw-r--r-- | src/libjin/common/je_subsystem.hpp | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/src/libjin/common/je_subsystem.hpp b/src/libjin/common/je_subsystem.hpp deleted file mode 100644 index 8f682ef..0000000 --- a/src/libjin/common/je_subsystem.hpp +++ /dev/null @@ -1,74 +0,0 @@ -#ifndef __JE_COMMON_SUBSYSTEM_H__ -#define __JE_COMMON_SUBSYSTEM_H__ - -#include "../utils/je_macros.h" - -#include "je_singleton.hpp" - -namespace JinEngine -{ - - /// - /// Subsystem class. - /// - template<class System> - class Subsystem : public Singleton<System> - { - public: - /// - /// Subsystem setting. - /// - struct Setting - { - }; - - typedef Setting SettingBase; - - /// - /// Initialize subsystem. - /// - /// @param setting Subsystem setting. - /// @return True if initialize sucessful, otherwise return false. - /// - bool start(const SettingBase* setting = nullptr) - { - static bool success = startSystem(setting); - return success; - } - - /// - /// Quit subsystem. - /// - void quit() - { - // Call only once. - static char __dummy__ = (quitSystem(), 1); - Singleton<System>::destroy(); - } - - /// - /// Subsystem constructor. - /// - Subsystem() {}; - - /// - /// Subsystem destructor. - /// - virtual ~Subsystem() {} - - protected: - /// - /// Initializer callback. - /// - virtual bool startSystem(const Setting* setting) = 0; - - /// - /// Quit subsystem callback. - /// - virtual void quitSystem() = 0; - - }; - -} // namespace JinEngine - -#endif
\ No newline at end of file |
