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 --- src/Client/CommandManager.cpp | 50 +++++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 23 deletions(-) (limited to 'src/Client/CommandManager.cpp') diff --git a/src/Client/CommandManager.cpp b/src/Client/CommandManager.cpp index aacf939..90d15ae 100644 --- a/src/Client/CommandManager.cpp +++ b/src/Client/CommandManager.cpp @@ -20,10 +20,9 @@ #include "CommandManager.h" #include #include +#include #include #include -#include -#include #include #include @@ -78,11 +77,15 @@ void CommandManager::printFSInfo(const Net::Packets::FSInfoPacket &packet) { std::printf("\n"); } -void CommandManager::printHostStatus(const Net::Packets::HostStatusPacket &packet) { - if(packet.getUptime()) { - unsigned long days = packet.getUptime()/86400; - unsigned long hours = (packet.getUptime()%86400)/3600; - unsigned long minutes = (packet.getUptime()%3600)/60; +void CommandManager::printHostStatus(const Common::XmlPacket &packet) { + unsigned long uptime = packet["uptime"]; + + if(uptime) { + unsigned long uptime = packet["uptime"]; + + unsigned long days = uptime/86400; + unsigned long hours = (uptime%86400)/3600; + unsigned long minutes = (uptime%3600)/60; std::printf("\tUptime:\t\t"); @@ -90,18 +93,18 @@ void CommandManager::printHostStatus(const Net::Packets::HostStatusPacket &packe std::printf("%lu:%02lu", hours, minutes); - std::printf(" (load average: %.2f %.2f %.2f, %lu processes)", packet.getLoadAverage1(), packet.getLoadAverage5(), packet.getLoadAverage15(), (unsigned long)packet.getProcessNumber()); + std::printf(" (load average: %.2f %.2f %.2f, %lu processes)", (float)packet["loadAvg1"], (float)packet["loadAvg5"], (float)packet["loadAvg15"], (unsigned long)packet["nProcesses"]); std::printf("\n\n"); } - if(packet.getTotalMem() && packet.getFreeMem()) { + if((unsigned long)packet["totalMem"] && (unsigned long)packet["freeMem"]) { const std::string units[] = { "kB", "MB", "GB", "TB", "" }; unsigned unit = 0; - float totalMem = packet.getTotalMem(), usedMem = packet.getTotalMem()-packet.getFreeMem(); + float totalMem = packet["totalMem"], usedMem = totalMem-(float)packet["freeMem"]; while(totalMem >= 1024 && !units[unit+1].empty()) { ++unit; @@ -112,9 +115,9 @@ void CommandManager::printHostStatus(const Net::Packets::HostStatusPacket &packe std::printf("\tMemory usage:\t%.*f/%.*f %s", (usedMem < 10) ? 2 : 1, usedMem, (totalMem < 10) ? 2 : 1, totalMem, units[unit].c_str()); std::printf(" (%.1f%%)\n", usedMem*100.0f/totalMem); - if(packet.getTotalSwap() && packet.getFreeSwap()) { + if((unsigned long)packet["totalSwap"] && (unsigned long)packet["freeSwap"]) { unit = 0; - totalMem = packet.getTotalSwap(); usedMem = packet.getTotalSwap()-packet.getFreeSwap(); + totalMem = packet["totalSwap"]; usedMem = totalMem-(float)packet["freeSwap"]; while(totalMem >= 1024 && !units[unit+1].empty()) { ++unit; @@ -155,9 +158,9 @@ void CommandManager::daemonFSInfoRequestFinished(const Common::Request &request) { +void CommandManager::daemonStatusRequestFinished(const Common::XmlRequest &request) { try { - const Net::Packets::HostStatusPacket &packet = request.getResult(); + const Common::XmlPacket &packet = request.getResult(); std::cout << "Host status:" << std::endl; printHostStatus(packet); } @@ -193,9 +196,9 @@ void CommandManager::fsInfoRequestFinished(const Common::Request &request) { +void CommandManager::statusRequestFinished(const Common::XmlRequest &request) { try { - const Net::Packets::HostStatusPacket &packet = request.getResult(); + const Common::XmlPacket &packet = request.getResult(); std::cout << "Server status:" << std::endl; printHostStatus(packet); } @@ -206,20 +209,21 @@ void CommandManager::statusRequestFinished(const Common::Request &request) { +void CommandManager::userListRequestFinished(const Common::XmlRequest &request) { try { - const Net::Packets::UserListPacket &packet = request.getResult(); + const Common::XmlPacket &packet = request.getResult(); - const std::vector &users = packet.getUserInfo(); + const Common::XmlPacket::Element &users = packet["users"]; - if(users.empty()) { + if(users.isEmpty()) { std::cout << "User list is empty." << std::endl; } else { - std::cout << "Found " << packet.getUserInfo().size() << " users:" << std::endl; + std::cout << "Found " << users.getSize() << " users:" << std::endl; + - for(std::vector::const_iterator user = users.begin(); user != users.end(); ++user) - std::cout << " " << user->getUid() << ", " << user->getGid() << ", " << user->getUsername() << ", " << user->getFullName() << std::endl; + for(size_t i = 0; i < users.getSize(); ++i) + std::cout << " " << (unsigned long)users[i]["uid"] << ", " << (unsigned long)users[i]["gid"] << ", " << (const std::string&)users[i]["username"] << ", " << (const std::string&)users[i]["fullName"] << std::endl; } std::cout << std::endl; -- cgit v1.2.3