summaryrefslogtreecommitdiffstats
path: root/src/Client/InformationManager.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Client/InformationManager.h')
-rw-r--r--src/Client/InformationManager.h17
1 files changed, 7 insertions, 10 deletions
diff --git a/src/Client/InformationManager.h b/src/Client/InformationManager.h
index 4acde37..1464e2f 100644
--- a/src/Client/InformationManager.h
+++ b/src/Client/InformationManager.h
@@ -24,8 +24,8 @@
#include <memory>
#include <Common/HostInfo.h>
-#include <Common/Initializable.h>
#include <Common/Request.h>
+#include <Common/SingletonPtr.h>
namespace Mad {
@@ -40,7 +40,7 @@ class HostListPacket;
namespace Client {
-class InformationManager : public Common::Initializable {
+class InformationManager {
private:
class DaemonStateUpdateRequest : public Common::RequestHandler {
protected:
@@ -50,7 +50,7 @@ class InformationManager : public Common::Initializable {
DaemonStateUpdateRequest() {}
};
- static InformationManager informationManager;
+ static Common::SingletonPtr<InformationManager> informationManager;
std::map<std::string, Common::HostInfo> daemons;
@@ -60,19 +60,16 @@ class InformationManager : public Common::Initializable {
InformationManager(const InformationManager &o);
InformationManager& operator=(const InformationManager &o);
- InformationManager() : updating(false) {}
-
void daemonListRequestFinished(const Common::Request<Net::Packets::HostListPacket> &request);
- protected:
- virtual void doInit();
- virtual void doUninit();
-
public:
static InformationManager* get() {
- return &informationManager;
+ return informationManager.get();
}
+ InformationManager();
+ virtual ~InformationManager();
+
void updateDaemonList(Net::Connection *con);
bool isUpdating() const {