summaryrefslogtreecommitdiffstats
path: root/src/Core/RequestHandlers/DaemonCommandRequestHandler.cpp
diff options
context:
space:
mode:
authorMatthias Schiffer <matthias@gamezock.de>2009-03-16 19:13:42 +0100
committerMatthias Schiffer <matthias@gamezock.de>2009-03-16 19:13:42 +0100
commit8f098fc3070f791302ec1f497588fab6ed409980 (patch)
tree6cff9f7bb973342344a22636a5d9ef26c7a0d940 /src/Core/RequestHandlers/DaemonCommandRequestHandler.cpp
parentaef0f2e7a5085b8da3aa2e97565215d182d3dd2d (diff)
downloadmad-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.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();