diff options
author | Matthias Schiffer <matthias@gamezock.de> | 2008-09-10 03:26:49 +0200 |
---|---|---|
committer | Matthias Schiffer <matthias@gamezock.de> | 2008-09-10 03:26:49 +0200 |
commit | 707344b4d161cb5a11e7f78d7622cb7cd1a791f6 (patch) | |
tree | 8879f226c610e25fc532d64f40f2fe382e6d8371 /src/Common/Request/DisconnectRequest.h | |
parent | 8dd9bc2815347435c8f92bb329a0209b50660618 (diff) | |
download | mad-707344b4d161cb5a11e7f78d7622cb7cd1a791f6.tar mad-707344b4d161cb5a11e7f78d7622cb7cd1a791f6.zip |
Client erweitert; Status-Befehl angefangen
Diffstat (limited to 'src/Common/Request/DisconnectRequest.h')
-rw-r--r-- | src/Common/Request/DisconnectRequest.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/Common/Request/DisconnectRequest.h b/src/Common/Request/DisconnectRequest.h index 48256a7..c20a3d0 100644 --- a/src/Common/Request/DisconnectRequest.h +++ b/src/Common/Request/DisconnectRequest.h @@ -25,18 +25,24 @@ #include <Net/Connection.h> #include <Net/Packet.h> +#include <sigc++/signal.h> + namespace Mad { namespace Common { namespace Request { class DisconnectRequest: public Request { private: + sigc::signal<void> finished; + DisconnectRequest() {} public: - static bool send(Net::Connection *connection, RequestManager &requestManager) { + static bool send(Net::Connection *connection, RequestManager &requestManager, const sigc::slot<void> &callback) { DisconnectRequest *request = new DisconnectRequest(); + request->finished.connect(callback); + if(requestManager.sendRequest(connection, request)) return true; @@ -64,6 +70,8 @@ class DisconnectRequest: public Request { connection->disconnect(); + finished(); + setFinished(); return true; } |