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.cpp39
1 files changed, 18 insertions, 21 deletions
diff --git a/src/Common/RequestHandlers/FSInfoRequestHandler.cpp b/src/Common/RequestHandlers/FSInfoRequestHandler.cpp
index ed70a8b..663e512 100644
--- a/src/Common/RequestHandlers/FSInfoRequestHandler.cpp
+++ b/src/Common/RequestHandlers/FSInfoRequestHandler.cpp
@@ -43,31 +43,28 @@ void FSInfoRequestHandler::handlePacket(const XmlPacket &packet) {
// TODO Require authentication
- if(!SystemManager::get()->getFSInfo(boost::bind(&FSInfoRequestHandler::fsInfoHandler, this, _1))) {
- XmlPacket ret;
- ret.setType("Error");
- ret.add("ErrorCode", Net::Exception::NOT_IMPLEMENTED);
+ std::vector<SystemManager::FSInfo> fsInfo;
- sendPacket(ret);
-
- signalFinished()();
- }
-}
-
-void FSInfoRequestHandler::fsInfoHandler(const std::vector<SystemManager::FSInfo> &info) {
XmlPacket ret;
- ret.setType("OK");
- ret.addList("filesystems");
- for(std::vector<SystemManager::FSInfo>::const_iterator fs = info.begin(); fs != info.end(); ++fs) {
- ret["filesystems"].addEntry();
- XmlPacket::Entry &entry = ret["filesystems"].back();
+ if(SystemManager::get()->getFSInfo(&fsInfo)) {
+ 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();
- 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);
+ }
+ }
+ else {
+ ret.setType("Error");
+ ret.add("ErrorCode", Net::Exception::NOT_IMPLEMENTED);
}
sendPacket(ret);