From 039c218a7b1f2eae4f8e8305bc8e8bf70a67beab Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Wed, 17 Sep 2008 05:33:01 +0200 Subject: Interface der Request-Klassen verbessert; muss noch vereinfacht werden --- src/Client/Requests/DaemonStatusRequest.cpp | 33 ++++++----------------------- 1 file changed, 6 insertions(+), 27 deletions(-) (limited to 'src/Client/Requests/DaemonStatusRequest.cpp') diff --git a/src/Client/Requests/DaemonStatusRequest.cpp b/src/Client/Requests/DaemonStatusRequest.cpp index 719ae5c..9238ed6 100644 --- a/src/Client/Requests/DaemonStatusRequest.cpp +++ b/src/Client/Requests/DaemonStatusRequest.cpp @@ -18,7 +18,7 @@ */ #include "DaemonStatusRequest.h" -#include +#include #include #include @@ -26,42 +26,21 @@ namespace Mad { namespace Client { namespace Requests { -bool DaemonStatusRequest::send(Net::Connection *connection, const sigc::slot &callback, - const sigc::slot &errorCallback, const std::string &daemon0) -{ - DaemonStatusRequest *request = new DaemonStatusRequest(daemon0); - - request->finished.connect(callback); - request->error.connect(errorCallback); - - if(Mad::Common::RequestManager::getRequestManager()->sendRequest(connection, request)) - return true; - - delete request; - return false; -} - -bool DaemonStatusRequest::sendRequest(Net::Connection *connection, uint16_t requestId) { - if(!connection->send(Net::Packet(Net::Packet::DAEMON_STATUS, requestId, daemon.c_str(), daemon.length()))) - return false; - - return true; +void DaemonStatusRequest::sendRequest(Net::Connection *connection, uint16_t requestId) { + connection->send(Net::Packet(Net::Packet::DAEMON_STATUS, requestId, daemon.c_str(), daemon.length())); } void DaemonStatusRequest::handlePacket(Net::Connection*, const Net::Packet &packet) { if(packet.getType() == Net::Packet::ERROR) { - error(Net::Packets::ErrorPacket(packet).getException()); - signalFinished().emit(); + finishWithError(Net::Packets::ErrorPacket(packet).getException()); return; } else 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)); } } -- cgit v1.2.3