summaryrefslogtreecommitdiffstats
path: root/src/Client/Requests/CoreStatusRequest.cpp
diff options
context:
space:
mode:
authorMatthias Schiffer <matthias@gamezock.de>2008-09-17 05:33:01 +0200
committerMatthias Schiffer <matthias@gamezock.de>2008-09-17 05:33:01 +0200
commit039c218a7b1f2eae4f8e8305bc8e8bf70a67beab (patch)
tree362a59253abd77b5e41800d73a7c5dacf18617f7 /src/Client/Requests/CoreStatusRequest.cpp
parenta0cffb5475d35f0a19b95af2ce56bf6c90c82256 (diff)
downloadmad-039c218a7b1f2eae4f8e8305bc8e8bf70a67beab.tar
mad-039c218a7b1f2eae4f8e8305bc8e8bf70a67beab.zip
Interface der Request-Klassen verbessert; muss noch vereinfacht werden
Diffstat (limited to 'src/Client/Requests/CoreStatusRequest.cpp')
-rw-r--r--src/Client/Requests/CoreStatusRequest.cpp27
1 files changed, 5 insertions, 22 deletions
diff --git a/src/Client/Requests/CoreStatusRequest.cpp b/src/Client/Requests/CoreStatusRequest.cpp
index 93552f6..35a63e2 100644
--- a/src/Client/Requests/CoreStatusRequest.cpp
+++ b/src/Client/Requests/CoreStatusRequest.cpp
@@ -18,41 +18,24 @@
*/
#include "CoreStatusRequest.h"
-#include <Common/RequestManager.h>
+#include <Net/Connection.h>
#include <Net/Packets/HostStatusPacket.h>
namespace Mad {
namespace Client {
namespace Requests {
-bool CoreStatusRequest::send(Net::Connection *connection, const sigc::slot<void,const Net::Packets::HostStatusPacket&> &callback) {
- CoreStatusRequest *request = new CoreStatusRequest();
-
- request->finished.connect(callback);
-
- if(Mad::Common::RequestManager::getRequestManager()->sendRequest(connection, request))
- return true;
-
- delete request;
- return false;
-}
-
-bool CoreStatusRequest::sendRequest(Net::Connection *connection, uint16_t requestId) {
- if(!connection->send(Net::Packet(Net::Packet::STATUS, requestId)))
- return false;
-
- return true;
+void CoreStatusRequest::sendRequest(Net::Connection *connection, uint16_t requestId) {
+ connection->send(Net::Packet(Net::Packet::STATUS, requestId));
}
void CoreStatusRequest::handlePacket(Net::Connection*, const Net::Packet &packet) {
if(packet.getType() != Net::Packet::OK) {
- signalFinished().emit();
+ finishWithError(Common::Exception(Common::Exception::UNEXPECTED_PACKET));
return; // TODO Logging
}
- finished(Net::Packets::HostStatusPacket(packet));
-
- signalFinished().emit();
+ finish(Net::Packets::HostStatusPacket(packet));
}
}