summaryrefslogtreecommitdiffstats
path: root/src/Server/RequestHandlers/DaemonListRequestHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Server/RequestHandlers/DaemonListRequestHandler.cpp')
-rw-r--r--src/Server/RequestHandlers/DaemonListRequestHandler.cpp32
1 files changed, 7 insertions, 25 deletions
diff --git a/src/Server/RequestHandlers/DaemonListRequestHandler.cpp b/src/Server/RequestHandlers/DaemonListRequestHandler.cpp
index 63d6bb3..6c17ce1 100644
--- a/src/Server/RequestHandlers/DaemonListRequestHandler.cpp
+++ b/src/Server/RequestHandlers/DaemonListRequestHandler.cpp
@@ -25,39 +25,21 @@ namespace Mad {
namespace Server {
namespace RequestHandlers {
-void DaemonListRequestHandler::handlePacket(boost::shared_ptr<const Common::XmlPacket> packet) {
- if(packet->getType() != "ListHosts") {
- 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 DaemonListRequestHandler::handleRequest(boost::shared_ptr<const Common::XmlPacket> packet _UNUSED_PARAMETER_, Common::XmlPacket *ret) {
// TODO Require authentication
- Common::XmlPacket ret;
- ret.setType("OK");
- ret.addList("hosts");
+ ret->setType("OK");
+ ret->addList("hosts");
std::vector<Common::HostInfo> daemons = ConnectionManager::get()->getDaemonList();
for(std::vector<Common::HostInfo>::iterator daemon = daemons.begin(); daemon != daemons.end(); ++daemon) {
- ret["hosts"].addEntry();
+ (*ret)["hosts"].addEntry();
- ret["hosts"].back().add("name", daemon->getName());
- ret["hosts"].back().add("address", daemon->getIP());
- ret["hosts"].back().add("state", daemon->getState());
+ (*ret)["hosts"].back().add("name", daemon->getName());
+ (*ret)["hosts"].back().add("address", daemon->getIP());
+ (*ret)["hosts"].back().add("state", daemon->getState());
}
-
- sendPacket(ret);
-
- signalFinished();
}
}