From 7e87778a02f3d37865c10051a3f14038bbbcbaef Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Sat, 13 Sep 2008 03:59:58 +0200 Subject: Benutze weniger Inline-Funktionen --- src/Common/Request/DisconnectRequest.h | 47 +++++----------------------------- 1 file changed, 7 insertions(+), 40 deletions(-) (limited to 'src/Common/Request/DisconnectRequest.h') diff --git a/src/Common/Request/DisconnectRequest.h b/src/Common/Request/DisconnectRequest.h index 1b2d467..136ef73 100644 --- a/src/Common/Request/DisconnectRequest.h +++ b/src/Common/Request/DisconnectRequest.h @@ -21,60 +21,27 @@ #define MAD_COMMON_REQUEST_DISCONNECTREQUEST_H_ #include "Request.h" -#include "../RequestManager.h" -#include -#include #include namespace Mad { namespace Common { + +class RequestManager; + namespace Request { -class DisconnectRequest: public Request { +class DisconnectRequest : public Request { private: sigc::signal finished; DisconnectRequest() {} public: - static bool send(Net::Connection *connection, RequestManager &requestManager, const sigc::slot &callback) { - DisconnectRequest *request = new DisconnectRequest(); - - 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::DISCONNECT, requestId))) - return false; - - setSent(); - return true; - } - - virtual bool handlePacket(Net::Connection *connection, const Net::Packet &packet) { - if(isFinished()) - return false; - - if(packet.getType() != Net::Packet::OK) - return false; // TODO Logging - - connection->disconnect(); - - finished(); + static bool send(Net::Connection *connection, RequestManager &requestManager, const sigc::slot &callback); - setFinished(); - return true; - } + virtual bool sendRequest(Net::Connection *connection, uint16_t requestId); + virtual bool handlePacket(Net::Connection *connection, const Net::Packet &packet); }; } -- cgit v1.2.3