summaryrefslogtreecommitdiffstats
path: root/src/Common/SystemManager.h
diff options
context:
space:
mode:
authorMatthias Schiffer <matthias@gamezock.de>2009-05-21 01:42:33 +0200
committerMatthias Schiffer <matthias@gamezock.de>2009-05-21 01:42:33 +0200
commit73667d1102735c42cf385442aeb2a1735bb67d6a (patch)
treef0044dc9324ab0c15e63926bb22910d34a684b46 /src/Common/SystemManager.h
parent9c076d2649ff8c6997c2dec1e1ef4f7359d404ec (diff)
downloadmad-73667d1102735c42cf385442aeb2a1735bb67d6a.tar
mad-73667d1102735c42cf385442aeb2a1735bb67d6a.zip
SystemBackend-Interface ueberarbeitet
Diffstat (limited to 'src/Common/SystemManager.h')
-rw-r--r--src/Common/SystemManager.h28
1 files changed, 13 insertions, 15 deletions
diff --git a/src/Common/SystemManager.h b/src/Common/SystemManager.h
index 20d3c05..ef66db8 100644
--- a/src/Common/SystemManager.h
+++ b/src/Common/SystemManager.h
@@ -24,7 +24,7 @@
#include <string>
#include <vector>
-#include <boost/function.hpp>
+#include <boost/smart_ptr.hpp>
namespace Mad {
namespace Common {
@@ -34,12 +34,14 @@ class SystemBackend;
class SystemManager {
private:
struct Compare {
- bool operator() (const SystemBackend *b1, const SystemBackend *b2);
+ bool operator() (boost::shared_ptr<SystemBackend> b1, boost::shared_ptr<SystemBackend> b2);
};
static SystemManager systemManager;
- std::set<SystemBackend*, Compare> backends;
+ std::set<boost::shared_ptr<SystemBackend>, Compare> backends;
+
+ SystemManager() {}
public:
struct FSInfo {
@@ -50,26 +52,22 @@ class SystemManager {
long long available;
};
- private:
- SystemManager() {}
-
- public:
- void registerBackend(SystemBackend *backend) {
+ void registerBackend(boost::shared_ptr<SystemBackend> backend) {
backends.insert(backend);
}
- void unregisterBackend(SystemBackend *backend) {
+ void unregisterBackend(boost::shared_ptr<SystemBackend> backend) {
backends.erase(backend);
}
- bool getUptimeInfo(const boost::function2<void, unsigned long, unsigned long> &callback);
- bool getMemoryInfo(const boost::function4<void, unsigned long, unsigned long, unsigned long, unsigned long> &callback);
- bool getLoadInfo(const boost::function5<void, unsigned long, unsigned long, float, float, float> &callback);
+ bool getUptimeInfo(unsigned long *uptime, unsigned long *idleTime);
+ bool getMemoryInfo(unsigned long *totalMem, unsigned long *freeMem, unsigned long *totalSwap, unsigned long *freeSwap);
+ bool getLoadInfo(unsigned long *currentLoad, unsigned long *nProcesses, float *loadAvg1, float *loadAvg5, float *loadAvg15);
- bool getFSInfo(const boost::function1<void, const std::vector<FSInfo>& > &callback);
+ bool getFSInfo(std::vector<FSInfo> *fsInfo);
- bool shutdown(const boost::function0<void> &callback);
- bool reboot(const boost::function0<void> &callback);
+ bool shutdown();
+ bool reboot();
static SystemManager *get() {
return &systemManager;