aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/common')
-rw-r--r--src/libjin/common/singleton.h38
-rw-r--r--src/libjin/common/subsystem.h43
2 files changed, 0 insertions, 81 deletions
diff --git a/src/libjin/common/singleton.h b/src/libjin/common/singleton.h
deleted file mode 100644
index ff8a9ce..0000000
--- a/src/libjin/common/singleton.h
+++ /dev/null
@@ -1,38 +0,0 @@
-#ifndef __JIN_SINGLETON_H
-#define __JIN_SINGLETON_H
-
-namespace jin
-{
- template<class T>
- class Singleton
- {
- public:
- static T* get()
- {
- if (_instance == nullptr)
- _instance = new T;
- return _instance;
- }
- static void destroy()
- {
- delete _instance;
- _instance = nullptr;
- }
- protected:
- Singleton() {};
- virtual ~Singleton() {};
- private:
- Singleton(const Singleton&);
- Singleton& operator = (const Singleton&);
-
- static T* _instance;
- };
-
- template<class T> T* Singleton<T>::_instance = nullptr;
-
-#define SINGLETON(T) \
- friend Singleton<T>
-
-} // jin
-
-#endif \ No newline at end of file
diff --git a/src/libjin/common/subsystem.h b/src/libjin/common/subsystem.h
deleted file mode 100644
index 8a4ecf6..0000000
--- a/src/libjin/common/subsystem.h
+++ /dev/null
@@ -1,43 +0,0 @@
-#ifndef __JIN_COMMON_SUBSYSTEM_H
-#define __JIN_COMMON_SUBSYSTEM_H
-
-#include "singleton.h"
-#include "../utils/macros.h"
-
-namespace jin
-{
-
- template<class System>
- class Subsystem : public Singleton<System>
- {
- public:
- struct Setting {};
- typedef Setting SettingBase;
-
- bool init(const SettingBase* setting)
- {
- static bool success = initSystem(setting);
- return success;
- }
-
- void quit()
- {
- CALLONCE(quitSystem());
- destroy();
- }
-
- protected:
-
- Subsystem() {};
- virtual ~Subsystem() {};
-
- SINGLETON(System);
-
- virtual onlyonce bool initSystem(const Setting* setting) = 0;
- virtual onlyonce void quitSystem() = 0;
-
- };
-
-} // jin
-
-#endif \ No newline at end of file