diff options
author | Matthias Schiffer <matthias@gamezock.de> | 2008-09-13 03:59:58 +0200 |
---|---|---|
committer | Matthias Schiffer <matthias@gamezock.de> | 2008-09-13 03:59:58 +0200 |
commit | 7e87778a02f3d37865c10051a3f14038bbbcbaef (patch) | |
tree | b1853c2e1d94d0d8d7d87b3e5db73fa618019b29 /src/Client/Request/CoreStatusRequest.h | |
parent | 920c506d477bd7f357e05590e8cdedf8e5e8a1b8 (diff) | |
download | mad-7e87778a02f3d37865c10051a3f14038bbbcbaef.tar mad-7e87778a02f3d37865c10051a3f14038bbbcbaef.zip |
Benutze weniger Inline-Funktionen
Diffstat (limited to 'src/Client/Request/CoreStatusRequest.h')
-rw-r--r-- | src/Client/Request/CoreStatusRequest.h | 51 |
1 files changed, 14 insertions, 37 deletions
diff --git a/src/Client/Request/CoreStatusRequest.h b/src/Client/Request/CoreStatusRequest.h index 328c4ff..1a6a01e 100644 --- a/src/Client/Request/CoreStatusRequest.h +++ b/src/Client/Request/CoreStatusRequest.h @@ -20,14 +20,22 @@ #ifndef MAD_CLIENT_REQUEST_CORESTATUSREQUEST_H_ #define MAD_CLIENT_REQUEST_CORESTATUSREQUEST_H_ -#include <Common/RequestManager.h> #include <Common/Request/Request.h> -#include <Net/Connection.h> -#include <Net/Packets/HostStatusPacket.h> #include <sigc++/signal.h> namespace Mad { + +namespace Common { +class RequestManager; +} + +namespace Net { +namespace Packets { +class HostStatusPacket; +} +} + namespace Client { namespace Request { @@ -38,41 +46,10 @@ class CoreStatusRequest: public Common::Request::Request { CoreStatusRequest() {} public: - static bool send(Net::Connection *connection, Common::RequestManager &requestManager, const sigc::slot<void,const Net::Packets::HostStatusPacket&> &callback) { - CoreStatusRequest *request = new CoreStatusRequest(); - - request->finished.connect(callback); - - if(requestManager.sendRequest(connection, request)) - return true; - - delete request; - return false; - } - - virtual bool sendRequest(Net::Connection *connection, uint16_t requestId) { - if(isSent()) - return false; - - if(!connection->send(Net::Packet(Net::Packet::CORE_STATUS, requestId))) - return false; - - setSent(); - return true; - } - - virtual bool handlePacket(Net::Connection*, const Net::Packet &packet) { - if(isFinished()) - return false; - - if(packet.getType() != Net::Packet::OK) - return false; // TODO Logging - - finished(Net::Packets::HostStatusPacket(packet)); + static bool send(Net::Connection *connection, Common::RequestManager &requestManager, const sigc::slot<void,const Net::Packets::HostStatusPacket&> &callback); - setFinished(); - return true; - } + virtual bool sendRequest(Net::Connection *connection, uint16_t requestId); + virtual bool handlePacket(Net::Connection*, const Net::Packet &packet); }; } |