diff options
author | Matthias Schiffer <matthias@gamezock.de> | 2009-03-16 19:13:42 +0100 |
---|---|---|
committer | Matthias Schiffer <matthias@gamezock.de> | 2009-03-16 19:13:42 +0100 |
commit | 8f098fc3070f791302ec1f497588fab6ed409980 (patch) | |
tree | 6cff9f7bb973342344a22636a5d9ef26c7a0d940 /src/Core/RequestHandlers/DaemonCommandRequestHandler.cpp | |
parent | aef0f2e7a5085b8da3aa2e97565215d182d3dd2d (diff) | |
download | mad-8f098fc3070f791302ec1f497588fab6ed409980.tar mad-8f098fc3070f791302ec1f497588fab6ed409980.zip |
Request- und RequestHandler-Interfaces vereinfacht
Diffstat (limited to 'src/Core/RequestHandlers/DaemonCommandRequestHandler.cpp')
-rw-r--r-- | src/Core/RequestHandlers/DaemonCommandRequestHandler.cpp | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/src/Core/RequestHandlers/DaemonCommandRequestHandler.cpp b/src/Core/RequestHandlers/DaemonCommandRequestHandler.cpp index 1bfe3e4..c9a4530 100644 --- a/src/Core/RequestHandlers/DaemonCommandRequestHandler.cpp +++ b/src/Core/RequestHandlers/DaemonCommandRequestHandler.cpp @@ -26,7 +26,7 @@ namespace Mad { namespace Core { namespace RequestHandlers { -void DaemonCommandRequestHandler::handlePacket(Net::Connection *connection, uint16_t rid, const Common::XmlPacket &packet) { +void DaemonCommandRequestHandler::handlePacket(const Common::XmlPacket &packet) { if(packet.getType() != "DaemonCommand") { Common::Logger::log(Common::Logger::ERROR, "Received an unexpected packet."); @@ -34,7 +34,7 @@ void DaemonCommandRequestHandler::handlePacket(Net::Connection *connection, uint ret.setType("Error"); ret.add("ErrorCode", Common::Exception::UNEXPECTED_PACKET); - connection->send(ret.encode(rid)); + sendPacket(ret); signalFinished().emit(); return; @@ -42,16 +42,12 @@ void DaemonCommandRequestHandler::handlePacket(Net::Connection *connection, uint // TODO Require authentication - con = connection; - requestId = rid; - std::string command = packet["command"]; try { Net::Connection *daemonCon = ConnectionManager::get()->getDaemonConnection(packet["daemon"]); - Common::RequestManager::get()->sendRequest(daemonCon, std::auto_ptr<Common::Request>( - new Requests::CommandRequest(command == "reboot", sigc::mem_fun(this, &DaemonCommandRequestHandler::requestFinished)) - )); + Common::RequestManager::get()->sendRequest<Requests::CommandRequest>(daemonCon, + sigc::mem_fun(this, &DaemonCommandRequestHandler::requestFinished), command == "reboot"); } catch(Common::Exception &e) { Common::XmlPacket ret; @@ -61,15 +57,13 @@ void DaemonCommandRequestHandler::handlePacket(Net::Connection *connection, uint ret.add("SubSubCode", e.getSubSubCode()); ret.add("Where", e.getWhere()); - con->send(ret.encode(requestId)); + sendPacket(ret); } } void DaemonCommandRequestHandler::requestFinished(const Common::Request &request) { try { - const Common::XmlPacket &packet = request.getResult(); - - con->send(packet.encode(requestId)); + sendPacket(request.getResult()); } catch(Common::Exception &e) { Common::XmlPacket ret; @@ -79,7 +73,7 @@ void DaemonCommandRequestHandler::requestFinished(const Common::Request &request ret.add("SubSubCode", e.getSubSubCode()); ret.add("Where", e.getWhere()); - con->send(ret.encode(requestId)); + sendPacket(ret); } signalFinished().emit(); |