From f85b6d5ab264910f272e69ce5997cebec54886ce Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Tue, 24 Feb 2009 22:03:34 +0100 Subject: Requests Status, DaemonStatus und UserList in XmlRequests umgewandelt --- .../RequestHandlers/StatusRequestHandler.cpp | 36 +++++++++++++++++----- 1 file changed, 28 insertions(+), 8 deletions(-) (limited to 'src/Common/RequestHandlers/StatusRequestHandler.cpp') diff --git a/src/Common/RequestHandlers/StatusRequestHandler.cpp b/src/Common/RequestHandlers/StatusRequestHandler.cpp index 8494fee..86ed970 100644 --- a/src/Common/RequestHandlers/StatusRequestHandler.cpp +++ b/src/Common/RequestHandlers/StatusRequestHandler.cpp @@ -18,20 +18,25 @@ */ #include "StatusRequestHandler.h" +#include "../Exception.h" #include "../SystemBackend.h" #include "../Logger.h" +#include "../XmlPacket.h" #include -#include -#include namespace Mad { namespace Common { namespace RequestHandlers { -void StatusRequestHandler::handlePacket(Net::Connection *con, const Net::Packet &packet) { - if(packet.getType() != Net::Packet::STATUS) { +void StatusRequestHandler::handlePacket(Net::Connection *con, uint16_t requestId, const XmlPacket &packet) { + if(packet.getType() != "GetStatus") { Logger::log(Logger::ERROR, "Received an unexpected packet."); - con->send(Net::Packets::ErrorPacket(Net::Packet::ERROR, packet.getRequestId(), Exception(Exception::UNEXPECTED_PACKET))); + + XmlPacket ret; + ret.setType("Error"); + ret.add("ErrorCode", Exception::UNEXPECTED_PACKET); + + con->send(ret.encode(requestId)); signalFinished().emit(); return; @@ -40,7 +45,7 @@ void StatusRequestHandler::handlePacket(Net::Connection *con, const Net::Packet // TODO Require authentication connection = con; - requestId = packet.getRequestId(); + rid = requestId; if(!SystemBackend::getUptimeInfo(sigc::mem_fun(this, &StatusRequestHandler::uptimeHandler))) needUptime = false; @@ -56,8 +61,23 @@ void StatusRequestHandler::send() { if(needUptime || needMemory || needLoad || sent) return; - connection->send(Net::Packets::HostStatusPacket(Net::Packet::OK, requestId, uptime, idleTime, - totalMem, freeMem, totalSwap, freeSwap, currentLoad, nProcesses, loadAvg1, loadAvg5, loadAvg15)); + XmlPacket packet; + + packet.setType("OK"); + + packet.add("uptime", uptime); + packet.add("idleTime", idleTime); + packet.add("totalMem", totalMem); + packet.add("freeMem", freeMem); + packet.add("totalSwap", totalSwap); + packet.add("freeSwap", freeSwap); + packet.add("currentLoad", currentLoad); + packet.add("nProcesses", nProcesses); + packet.add("loadAvg1", loadAvg1); + packet.add("loadAvg5", loadAvg5); + packet.add("loadAvg15", loadAvg15); + + connection->send(packet.encode(rid)); sent = true; -- cgit v1.2.3