summaryrefslogtreecommitdiffstats
path: root/src/Client/CommandManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Client/CommandManager.cpp')
-rw-r--r--src/Client/CommandManager.cpp50
1 files changed, 27 insertions, 23 deletions
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 <Common/HostInfo.h>
#include <Common/Logger.h>
+#include <Common/XmlRequest.h>
#include <Net/Packets/FSInfoPacket.h>
#include <Net/Packets/HostListPacket.h>
-#include <Net/Packets/HostStatusPacket.h>
-#include <Net/Packets/UserListPacket.h>
#include <cmath>
#include <iostream>
@@ -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<Net::Pack
requestFinished();
}
-void CommandManager::daemonStatusRequestFinished(const Common::Request<Net::Packets::HostStatusPacket> &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<Net::Packets::F
requestFinished();
}
-void CommandManager::statusRequestFinished(const Common::Request<Net::Packets::HostStatusPacket> &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<Net::Packets::H
requestFinished();
}
-void CommandManager::userListRequestFinished(const Common::Request<Net::Packets::UserListPacket> &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<Common::UserInfo> &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<Common::UserInfo>::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;