From 9c076d2649ff8c6997c2dec1e1ef4f7359d404ec Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Thu, 21 May 2009 00:42:57 +0200 Subject: UserBackend-Interface ueberarbeitet --- .../RequestHandlers/UserListRequestHandler.cpp | 39 ++++++++++------------ 1 file changed, 18 insertions(+), 21 deletions(-) (limited to 'src/Server/RequestHandlers/UserListRequestHandler.cpp') diff --git a/src/Server/RequestHandlers/UserListRequestHandler.cpp b/src/Server/RequestHandlers/UserListRequestHandler.cpp index cd05c12..713753b 100644 --- a/src/Server/RequestHandlers/UserListRequestHandler.cpp +++ b/src/Server/RequestHandlers/UserListRequestHandler.cpp @@ -22,8 +22,6 @@ #include #include -#include - namespace Mad { namespace Server { namespace RequestHandlers { @@ -44,29 +42,28 @@ void UserListRequestHandler::handlePacket(const Common::XmlPacket &packet) { // TODO Require authentication - if(!UserManager::get()->getUserList(boost::bind(&UserListRequestHandler::userListHandler, this, _1))) { - Common::XmlPacket ret; - ret.setType("Error"); - ret.add("ErrorCode", Net::Exception::NOT_IMPLEMENTED); - - sendPacket(ret); - signalFinished()(); - } -} + boost::shared_ptr > info = UserManager::get()->getUserList(); -void UserListRequestHandler::userListHandler(const std::map &info) { Common::XmlPacket ret; - ret.setType("OK"); - ret.addList("users"); - for(std::map::const_iterator user = info.begin(); user != info.end(); ++user) { - ret["users"].addEntry(); - Common::XmlPacket::Entry &entry = ret["users"].back(); + if(info) { + ret.setType("OK"); + ret.addList("users"); - entry.add("uid", user->second.getUid()); - entry.add("gid", user->second.getGid()); - entry.add("username", user->second.getUsername()); - entry.add("fullName", user->second.getFullName()); + for(std::map::iterator user = info->begin(); user != info->end(); ++user) { + ret["users"].addEntry(); + Common::XmlPacket::Entry &entry = ret["users"].back(); + + entry.add("uid", user->second.getUid()); + entry.add("gid", user->second.getGid()); + entry.add("username", user->second.getUsername()); + entry.add("fullName", user->second.getFullName()); + } + } + + else { + ret.setType("Error"); + ret.add("ErrorCode", Net::Exception::NOT_IMPLEMENTED); } sendPacket(ret); -- cgit v1.2.3