summaryrefslogtreecommitdiffstats
path: root/src/Common/RequestHandlers/FSInfoRequestHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Common/RequestHandlers/FSInfoRequestHandler.cpp')
-rw-r--r--src/Common/RequestHandlers/FSInfoRequestHandler.cpp57
1 files changed, 13 insertions, 44 deletions
diff --git a/src/Common/RequestHandlers/FSInfoRequestHandler.cpp b/src/Common/RequestHandlers/FSInfoRequestHandler.cpp
index 845258b..7ac4644 100644
--- a/src/Common/RequestHandlers/FSInfoRequestHandler.cpp
+++ b/src/Common/RequestHandlers/FSInfoRequestHandler.cpp
@@ -18,62 +18,31 @@
*/
#include "FSInfoRequestHandler.h"
-#include <Net/Exception.h>
-#include "../Logger.h"
-
-#include <boost/bind.hpp>
+#include "../SystemManager.h"
namespace Mad {
namespace Common {
namespace RequestHandlers {
-void FSInfoRequestHandler::handlePacket(boost::shared_ptr<const XmlPacket> packet) {
- if(packet->getType() != "FSInfo") {
- Logger::log(Logger::ERROR, "Received an unexpected packet.");
-
- XmlPacket ret;
- ret.setType("Error");
- ret.add("ErrorCode", Net::Exception::UNEXPECTED_PACKET);
-
- sendPacket(ret);
-
- signalFinished();
- return;
- }
-
+void FSInfoRequestHandler::handleRequest(boost::shared_ptr<const Common::XmlPacket> packet _UNUSED_PARAMETER_, Common::XmlPacket *ret) {
// TODO Require authentication
std::vector<SystemManager::FSInfo> fsInfo;
+ SystemManager::get()->getFSInfo(&fsInfo);
- XmlPacket ret;
-
- try {
- SystemManager::get()->getFSInfo(&fsInfo);
-
- ret.setType("OK");
- ret.addList("filesystems");
+ ret->setType("OK");
+ ret->addList("filesystems");
- for(std::vector<SystemManager::FSInfo>::const_iterator fs = fsInfo.begin(); fs != fsInfo.end(); ++fs) {
- ret["filesystems"].addEntry();
- XmlPacket::Entry &entry = ret["filesystems"].back();
+ for(std::vector<SystemManager::FSInfo>::const_iterator fs = fsInfo.begin(); fs != fsInfo.end(); ++fs) {
+ (*ret)["filesystems"].addEntry();
+ XmlPacket::Entry &entry = (*ret)["filesystems"].back();
- entry.add("name", fs->fsName);
- entry.add("mountedOn", fs->mountedOn);
- entry.add("totalSize", fs->total);
- entry.add("usedSize", fs->used);
- entry.add("availableSize", fs->available);
- }
+ entry.add("name", fs->fsName);
+ entry.add("mountedOn", fs->mountedOn);
+ entry.add("totalSize", fs->total);
+ entry.add("usedSize", fs->used);
+ entry.add("availableSize", fs->available);
}
- catch(Net::Exception e) {
- ret.setType("Error");
- ret.add("ErrorCode", e.getErrorCode());
- ret.add("SubCode", e.getSubCode());
- ret.add("SubSubCode", e.getSubSubCode());
- ret.add("Where", e.getWhere());
- }
-
- sendPacket(ret);
- signalFinished();
}
}