diff options
Diffstat (limited to 'src/Client/InformationManager.h')
-rw-r--r-- | src/Client/InformationManager.h | 17 |
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 { |