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.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/Client/CommandManager.cpp b/src/Client/CommandManager.cpp
index f46bdcd..b427db7 100644
--- a/src/Client/CommandManager.cpp
+++ b/src/Client/CommandManager.cpp
@@ -251,5 +251,31 @@ void CommandManager::userListRequestFinished(const Common::Request &request) {
requestFinished();
}
+void CommandManager::groupListRequestFinished(const Common::Request &request) {
+ try {
+ const Common::XmlPacket &packet = request.getResult();
+
+ const Common::XmlPacket::Element &groups = packet["groups"];
+
+ if(groups.isEmpty()) {
+ std::cout << "Group list is empty." << std::endl;
+ }
+ else {
+ std::cout << "Found " << groups.getSize() << " groups:" << std::endl;
+
+
+ for(size_t i = 0; i < groups.getSize(); ++i)
+ std::cout << " " << (unsigned long)groups[i]["gid"] << ", " << (const std::string&)groups[i]["name"] << std::endl;
+ }
+
+ std::cout << std::endl;
+ }
+ catch(Net::Exception &exception) {
+ Common::Logger::logf(Common::Logger::ERROR, "An error occurred during your request: %s.", exception.strerror().c_str());
+ }
+
+ requestFinished();
+}
+
}
}