diff options
Diffstat (limited to 'src/Daemon/RequestHandlers/CommandRequestHandler.cpp')
-rw-r--r-- | src/Daemon/RequestHandlers/CommandRequestHandler.cpp | 34 |
1 files changed, 13 insertions, 21 deletions
diff --git a/src/Daemon/RequestHandlers/CommandRequestHandler.cpp b/src/Daemon/RequestHandlers/CommandRequestHandler.cpp index f7f21de..952837c 100644 --- a/src/Daemon/RequestHandlers/CommandRequestHandler.cpp +++ b/src/Daemon/RequestHandlers/CommandRequestHandler.cpp @@ -22,8 +22,6 @@ #include <Common/Logger.h> #include <Common/SystemManager.h> -#include <boost/bind.hpp> - namespace Mad { namespace Daemon { namespace RequestHandlers { @@ -47,30 +45,24 @@ void CommandRequestHandler::handlePacket(const Common::XmlPacket &packet) { std::string command = packet["command"]; - if(command == "reboot") { - if(Common::SystemManager::get()->shutdown(boost::bind(&CommandRequestHandler::sendReply, this))) - return; + bool ok; + + if(command == "reboot") + ok = Common::SystemManager::get()->shutdown(); + else + ok = Common::SystemManager::get()->reboot(); + + Common::XmlPacket ret; + + if(ok) { + ret.setType("OK"); } else { - if(Common::SystemManager::get()->reboot(boost::bind(&CommandRequestHandler::sendReply, this))) - return; + ret.setType("Error"); + ret.add("ErrorCode", Net::Exception::NOT_IMPLEMENTED); } - Common::XmlPacket ret; - ret.setType("Error"); - ret.add("ErrorCode", Net::Exception::NOT_IMPLEMENTED); - sendPacket(ret); - - signalFinished()(); -} - -void CommandRequestHandler::sendReply() { - Common::XmlPacket packet; - packet.setType("OK"); - - sendPacket(packet); - signalFinished()(); } |