From 02b9e16833acbdaa820bd3b8b64d652a41a8ff58 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Tue, 23 Jun 2009 18:54:46 +0200 Subject: XmlPacket-Klasse ?berarbeitet --- src/Client/UserCommands.cpp | 47 ++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 24 deletions(-) (limited to 'src/Client/UserCommands.cpp') diff --git a/src/Client/UserCommands.cpp b/src/Client/UserCommands.cpp index a1cfd0f..de5b7ea 100644 --- a/src/Client/UserCommands.cpp +++ b/src/Client/UserCommands.cpp @@ -67,8 +67,8 @@ void UserCommands::userInfoCommand(CommandParser *commandParser, const std::vect else { const Common::XmlPacket &packet = *result.first; - std::cout << " " << (unsigned long)packet["uid"] << ", " << (unsigned long)packet["gid"] << ", " << (const std::string&)packet["username"] << ", " - << (const std::string&)packet["fullName"] << std::endl << std::endl; + std::cout << " " << packet.get("uid") << ", " << packet.get("gid") << ", " + << packet.get("username") << ", " << packet.get("fullName") << std::endl << std::endl; } } @@ -84,17 +84,18 @@ void UserCommands::listUsersCommand(CommandParser *commandParser, const std::vec std::cerr << "An error occurred during your request: " << result.second.strerror() << "." << std::endl; } else { - const Common::XmlPacket::Element &users = (*result.first)["users"]; + const Common::XmlPacket::List *users = result.first->getList("users"); - if(users.isEmpty()) { + if(!users || users->isEmpty()) { std::cout << "User list is empty." << std::endl; } else { - std::cout << "Found " << users.getSize() << " user" << (users.getSize()==1 ? "" : "s") << ":" << std::endl; + std::cout << "Found " << users->getSize() << " user" << (users->getSize()==1 ? "" : "s") << ":" << 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; + for(Common::XmlPacket::List::const_iterator user = users->begin(); user != users->end(); ++user) + std::cout << " " << user->get("uid") << ", " << user->get("gid") + << ", " << user->get("username") << ", " << user->get("fullName") << std::endl; } std::cout << std::endl; @@ -131,18 +132,17 @@ void UserCommands::listUserGroupsCommand(CommandParser *commandParser, const std std::cerr << "An error occurred during your request: " << result.second.strerror() << "." << std::endl; } else { - const Common::XmlPacket::Element &groups = (*result.first)["groups"]; + const Common::XmlPacket::List *groups = result.first->getList("groups"); - if(groups.isEmpty()) { + if(!groups || groups->isEmpty()) { std::cout << "The user isn't member of any group." << std::endl; } else { + std::cout << "User is member of " << groups->getSize() << " group" << (groups->getSize()==1 ? "" : "s") << ":" << std::endl; - std::cout << "User is member of " << groups.getSize() << " group" << (groups.getSize()==1 ? "" : "s") << ":" << std::endl; - - for(size_t i = 0; i < groups.getSize(); ++i) - std::cout << " " << (unsigned long)groups[i]["gid"] << std::endl; + for(Common::XmlPacket::List::const_iterator group = groups->begin(); group != groups->end(); ++group) + std::cout << " " << group->get("gid") << std::endl; } std::cout << std::endl; @@ -161,17 +161,17 @@ void UserCommands::listGroupsCommand(CommandParser *commandParser, const std::ve std::cerr << "An error occurred during your request: " << result.second.strerror() << "." << std::endl; } else { - const Common::XmlPacket::Element &groups = (*result.first)["groups"]; + const Common::XmlPacket::List *groups = result.first->getList("groups"); - if(groups.isEmpty()) { + if(!groups || groups->isEmpty()) { std::cout << "Group list is empty." << std::endl; } else { - std::cout << "Found " << groups.getSize() << " group" << (groups.getSize()==1 ? "" : "s") << ":" << std::endl; + std::cout << "Found " << groups->getSize() << " group" << (groups->getSize()==1 ? "" : "s") << ":" << 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; + for(Common::XmlPacket::List::const_iterator group = groups->begin(); group != groups->end(); ++group) + std::cout << " " << group->get("gid") << ", " << group->get("name") << std::endl; } std::cout << std::endl; @@ -208,18 +208,17 @@ void UserCommands::listGroupUsersCommand(CommandParser *commandParser, const std std::cerr << "An error occurred during your request: " << result.second.strerror() << "." << std::endl; } else { - const Common::XmlPacket::Element &users = (*result.first)["users"]; + const Common::XmlPacket::List *users = result.first->getList("users"); - if(users.isEmpty()) { + if(!users || users->isEmpty()) { std::cout << "The group doesn't have any members." << std::endl; } else { - - std::cout << "The group has " << users.getSize() << " member" << (users.getSize()==1 ? "" : "s") << ":" << std::endl; + std::cout << "The group has " << users->getSize() << " member" << (users->getSize()==1 ? "" : "s") << ":" << std::endl; - for(size_t i = 0; i < users.getSize(); ++i) - std::cout << " " << (unsigned long)users[i]["uid"] << std::endl; + for(Common::XmlPacket::List::const_iterator user = users->begin(); user != users->end(); ++user) + std::cout << " " << user->get("uid") << std::endl; } std::cout << std::endl; -- cgit v1.2.3