summaryrefslogtreecommitdiffstats
path: root/src/Common/SystemManager.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Common/SystemManager.h')
-rw-r--r--src/Common/SystemManager.h12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/Common/SystemManager.h b/src/Common/SystemManager.h
index 6870489..e8567c5 100644
--- a/src/Common/SystemManager.h
+++ b/src/Common/SystemManager.h
@@ -24,6 +24,7 @@
#include <string>
#include <vector>
+#include <boost/noncopyable.hpp>
#include <boost/smart_ptr.hpp>
#include <Core/Exception.h>
@@ -31,16 +32,17 @@
namespace Mad {
namespace Common {
+class Application;
class SystemBackend;
-class SystemManager {
+class SystemManager : private boost::noncopyable {
private:
+ friend class Application;
+
struct Compare {
bool operator() (boost::shared_ptr<SystemBackend> b1, boost::shared_ptr<SystemBackend> b2);
};
- static SystemManager systemManager;
-
std::set<boost::shared_ptr<SystemBackend>, Compare> backends;
SystemManager() {}
@@ -70,10 +72,6 @@ class SystemManager {
void shutdown() throw(Core::Exception);
void reboot() throw(Core::Exception);
-
- static SystemManager *get() {
- return &systemManager;
- }
};
}