summaryrefslogtreecommitdiffstats
path: root/src/Daemon/RequestHandlers/CommandRequestHandler.cpp
diff options
context:
space:
mode:
authorMatthias Schiffer <matthias@gamezock.de>2009-06-06 17:43:47 +0200
committerMatthias Schiffer <matthias@gamezock.de>2009-06-06 17:43:47 +0200
commitfcdd58703e3f5a0f6e77fd74e0304038e7cd4d3e (patch)
tree6956263f5ee93680ba730bb6b522e195000b2543 /src/Daemon/RequestHandlers/CommandRequestHandler.cpp
parent454cfccd51e2b9ad453fe79df04360fcd6eeb742 (diff)
downloadmad-fcdd58703e3f5a0f6e77fd74e0304038e7cd4d3e.tar
mad-fcdd58703e3f5a0f6e77fd74e0304038e7cd4d3e.zip
RequestHandler-Klassen vereinfacht
Diffstat (limited to 'src/Daemon/RequestHandlers/CommandRequestHandler.cpp')
-rw-r--r--src/Daemon/RequestHandlers/CommandRequestHandler.cpp41
1 files changed, 6 insertions, 35 deletions
diff --git a/src/Daemon/RequestHandlers/CommandRequestHandler.cpp b/src/Daemon/RequestHandlers/CommandRequestHandler.cpp
index 208d6e0..d00c415 100644
--- a/src/Daemon/RequestHandlers/CommandRequestHandler.cpp
+++ b/src/Daemon/RequestHandlers/CommandRequestHandler.cpp
@@ -18,53 +18,24 @@
*/
#include "CommandRequestHandler.h"
-#include <Net/Exception.h>
-#include <Common/Logger.h>
#include <Common/SystemManager.h>
namespace Mad {
namespace Daemon {
namespace RequestHandlers {
-void CommandRequestHandler::handlePacket(boost::shared_ptr<const Common::XmlPacket> packet) {
- if(packet->getType() != "Command") {
- Common::Logger::log(Common::Logger::ERROR, "Received an unexpected packet.");
-
- Common::XmlPacket ret;
- ret.setType("Error");
- ret.add("ErrorCode", Net::Exception::UNEXPECTED_PACKET);
-
- sendPacket(ret);
-
- signalFinished();
- return;
- }
-
+void CommandRequestHandler::handleRequest(boost::shared_ptr<const Common::XmlPacket> packet, Common::XmlPacket *ret) {
// TODO Require authentication
// TODO Error handling
std::string command = (*packet)["command"];
- Common::XmlPacket ret;
-
- try {
- if(command == "reboot")
- Common::SystemManager::get()->shutdown();
- else
- Common::SystemManager::get()->reboot();
-
- ret.setType("OK");
- }
- catch(Net::Exception e) {
- ret.setType("Error");
- ret.add("ErrorCode", e.getErrorCode());
- ret.add("SubCode", e.getSubCode());
- ret.add("SubSubCode", e.getSubSubCode());
- ret.add("Where", e.getWhere());
- }
+ if(command == "reboot")
+ Common::SystemManager::get()->reboot();
+ else
+ Common::SystemManager::get()->shutdown();
- sendPacket(ret);
- signalFinished();
+ ret->setType("OK");
}
}