summaryrefslogtreecommitdiffstats
path: root/src/Core/RequestHandlers/DaemonCommandRequestHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Core/RequestHandlers/DaemonCommandRequestHandler.cpp')
-rw-r--r--src/Core/RequestHandlers/DaemonCommandRequestHandler.cpp20
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();