diff options
author | chai <chaifix@163.com> | 2018-07-28 13:47:51 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2018-07-28 13:47:51 +0800 |
commit | d033400614e7e2c0ff49e5100c81e937e5818e74 (patch) | |
tree | 82e011222e9d88b3f7dff239aefae4a2c100fef4 /src/libjin/common | |
parent | 7b7a510321112978090575e89c3dabeba9ea9f97 (diff) |
*update
Diffstat (limited to 'src/libjin/common')
-rw-r--r-- | src/libjin/common/singleton.h | 38 | ||||
-rw-r--r-- | src/libjin/common/subsystem.h | 43 |
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 |