From 73667d1102735c42cf385442aeb2a1735bb67d6a Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Thu, 21 May 2009 01:42:33 +0200 Subject: SystemBackend-Interface ueberarbeitet --- .../RequestHandlers/StatusRequestHandler.cpp | 49 ++++++++++------------ 1 file changed, 21 insertions(+), 28 deletions(-) (limited to 'src/Common/RequestHandlers/StatusRequestHandler.cpp') diff --git a/src/Common/RequestHandlers/StatusRequestHandler.cpp b/src/Common/RequestHandlers/StatusRequestHandler.cpp index 0c13bd9..94ec5b2 100644 --- a/src/Common/RequestHandlers/StatusRequestHandler.cpp +++ b/src/Common/RequestHandlers/StatusRequestHandler.cpp @@ -44,40 +44,33 @@ void StatusRequestHandler::handlePacket(const XmlPacket &packet) { // TODO Require authentication - if(!SystemManager::get()->getUptimeInfo(boost::bind(&StatusRequestHandler::uptimeHandler, this, _1, _2))) - needUptime = false; - if(!SystemManager::get()->getMemoryInfo(boost::bind(&StatusRequestHandler::memoryHandler, this, _1, _2, _3, _4))) - needMemory = false; - if(!SystemManager::get()->getLoadInfo(boost::bind(&StatusRequestHandler::loadHandler, this, _1, _2, _3, _4, _5))) - needLoad = false; - - send(); -} - -void StatusRequestHandler::send() { - if(needUptime || needMemory || needLoad || sent) - return; + unsigned long uptime, idleTime; + unsigned long totalMem, freeMem, totalSwap, freeSwap; + unsigned long currentLoad, nProcesses; + float 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); + SystemManager::get()->getUptimeInfo(&uptime, &idleTime); + SystemManager::get()->getMemoryInfo(&totalMem, &freeMem, &totalSwap, &freeSwap); + SystemManager::get()->getLoadInfo(¤tLoad, &nProcesses, &loadAvg1, &loadAvg5, &loadAvg15); - sendPacket(packet); + XmlPacket ret; + ret.setType("OK"); - sent = true; + ret.add("uptime", uptime); + ret.add("idleTime", idleTime); + ret.add("totalMem", totalMem); + ret.add("freeMem", freeMem); + ret.add("totalSwap", totalSwap); + ret.add("freeSwap", freeSwap); + ret.add("currentLoad", currentLoad); + ret.add("nProcesses", nProcesses); + ret.add("loadAvg1", loadAvg1); + ret.add("loadAvg5", loadAvg5); + ret.add("loadAvg15", loadAvg15); + sendPacket(ret); signalFinished()(); } -- cgit v1.2.3