From 389960211861736ef321df82f6abcb59f6302897 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Wed, 17 Dec 2008 21:32:20 +0100 Subject: Sinnlose Klassen SharedPtr und SingletonPtr entfernt --- src/Client/InformationManager.cpp | 6 +++--- src/Client/InformationManager.h | 19 +++++++++++-------- 2 files changed, 14 insertions(+), 11 deletions(-) (limited to 'src/Client') diff --git a/src/Client/InformationManager.cpp b/src/Client/InformationManager.cpp index a2f67cb..cef0ce1 100644 --- a/src/Client/InformationManager.cpp +++ b/src/Client/InformationManager.cpp @@ -28,7 +28,7 @@ namespace Mad { namespace Client { -Common::SingletonPtr InformationManager::informationManager; +InformationManager InformationManager::informationManager; void InformationManager::DaemonStateUpdateRequest::handlePacket(Net::Connection *connection, const Net::Packet &packet) { @@ -56,11 +56,11 @@ void InformationManager::DaemonStateUpdateRequest::handlePacket(Net::Connection } -InformationManager::InformationManager() : updating(false) { +void InformationManager::doInit() { Common::RequestManager::get()->registerPacketType(Net::Packet::DAEMON_STATE_UPDATE); } -InformationManager::~InformationManager() { +void InformationManager::doDeinit() { Common::RequestManager::get()->unregisterPacketType(Net::Packet::DAEMON_STATE_UPDATE); } diff --git a/src/Client/InformationManager.h b/src/Client/InformationManager.h index 1464e2f..80dab9f 100644 --- a/src/Client/InformationManager.h +++ b/src/Client/InformationManager.h @@ -24,8 +24,8 @@ #include #include +#include #include -#include namespace Mad { @@ -40,7 +40,7 @@ class HostListPacket; namespace Client { -class InformationManager { +class InformationManager : public Common::Initializable { private: class DaemonStateUpdateRequest : public Common::RequestHandler { protected: @@ -50,7 +50,7 @@ class InformationManager { DaemonStateUpdateRequest() {} }; - static Common::SingletonPtr informationManager; + static InformationManager informationManager; std::map daemons; @@ -60,16 +60,19 @@ class InformationManager { InformationManager(const InformationManager &o); InformationManager& operator=(const InformationManager &o); + InformationManager() : updating(false) {} + void daemonListRequestFinished(const Common::Request &request); + protected: + virtual void doInit(); + virtual void doDeinit(); + public: - static InformationManager* get() { - return informationManager.get(); + static InformationManager *get() { + return &informationManager; } - InformationManager(); - virtual ~InformationManager(); - void updateDaemonList(Net::Connection *con); bool isUpdating() const { -- cgit v1.2.3