aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/Common/je_subsystem.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/Common/je_subsystem.hpp')
-rw-r--r--src/libjin/Common/je_subsystem.hpp78
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