diff options
Diffstat (limited to 'src/libjin/Common/je_subsystem.hpp')
-rw-r--r-- | src/libjin/Common/je_subsystem.hpp | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/src/libjin/Common/je_subsystem.hpp b/src/libjin/Common/je_subsystem.hpp deleted file mode 100644 index c015bef..0000000 --- a/src/libjin/Common/je_subsystem.hpp +++ /dev/null @@ -1,78 +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 init(const SettingBase* setting = nullptr) - { - static bool success = initSystem(setting); - return success; - } - - /// - /// Quit subsystem. - /// - void quit() - { - // Call only once. - static char __dummy__ = (quitSystem(), 1); - Singleton<System>::destroy(); - } - - protected: - singleton(System); - - /// - /// Subsystem constructor. - /// - Subsystem() {}; - - /// - /// Subsystem destructor. - /// - virtual ~Subsystem() - { - }; - - /// - /// Initializer callback. - /// - virtual bool initSystem(const Setting* setting) = 0; - - /// - /// Quit subsystem callback. - /// - virtual void quitSystem() = 0; - - }; - -} // namespace JinEngine - -#endif
\ No newline at end of file |