summaryrefslogtreecommitdiffstats
path: root/src/Common/Request/DisconnectRequest.h
diff options
context:
space:
mode:
authorMatthias Schiffer <matthias@gamezock.de>2008-09-10 03:26:49 +0200
committerMatthias Schiffer <matthias@gamezock.de>2008-09-10 03:26:49 +0200
commit707344b4d161cb5a11e7f78d7622cb7cd1a791f6 (patch)
tree8879f226c610e25fc532d64f40f2fe382e6d8371 /src/Common/Request/DisconnectRequest.h
parent8dd9bc2815347435c8f92bb329a0209b50660618 (diff)
downloadmad-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.h10
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;
}