diff options
Diffstat (limited to 'src/modules/UserListManager/RequestHandlers/UserListRequestHandlerGroup.cpp')
-rw-r--r-- | src/modules/UserListManager/RequestHandlers/UserListRequestHandlerGroup.cpp | 161 |
1 files changed, 0 insertions, 161 deletions
diff --git a/src/modules/UserListManager/RequestHandlers/UserListRequestHandlerGroup.cpp b/src/modules/UserListManager/RequestHandlers/UserListRequestHandlerGroup.cpp deleted file mode 100644 index 61bbf07..0000000 --- a/src/modules/UserListManager/RequestHandlers/UserListRequestHandlerGroup.cpp +++ /dev/null @@ -1,161 +0,0 @@ -/* - * UserListRequestHandlerGroup.cpp - * - * Copyright (C) 2009 Matthias Schiffer <matthias@gamezock.de> - * - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as published by the - * Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * See the GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License along - * with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#include "UserListRequestHandlerGroup.h" -#include "../UserListManager.h" -#include "../Util.h" - -namespace Mad { -namespace Modules { -namespace UserListManager { -namespace RequestHandlers { - -void UserListRequestHandlerGroup::handleUserListListRequest(boost::shared_ptr<const Common::XmlData> /*packet*/, Common::XmlData *ret, Common::Connection *connection) { - if(!connection->isAuthenticated()) - throw(Core::Exception(Core::Exception::PERMISSION)); - - const std::set<std::string> &userLists = userListManager->getUserLists(); - - ret->setType("OK"); - Common::XmlData::List *list = ret->createList("userLists"); - - for(std::set<std::string>::const_iterator userList = userLists.begin(); userList != userLists.end(); ++userList) { - Common::XmlData::List::iterator entry = list->addEntry(); - - entry->set("name", *userList); - } - -} - -void UserListRequestHandlerGroup::handleUserListDownloadRequest(boost::shared_ptr<const Common::XmlData> packet, Common::XmlData *ret, Common::Connection *connection) { - if(!connection->isAuthenticated()) - throw(Core::Exception(Core::Exception::PERMISSION)); - - boost::shared_ptr<UserList> userList = userListManager->loadUserList(packet->get<const std::string&>("name")); - if(!userList) - throw(Core::Exception(Core::Exception::NOT_FOUND)); - - ret->setType("OK"); - Util::serializeUserList(userList.get(), ret); -} - -void UserListRequestHandlerGroup::handleUserListCopyRequest(boost::shared_ptr<const Common::XmlData> packet, Common::XmlData *ret, Common::Connection *connection) { - if(!connection->isAuthenticated()) - throw(Core::Exception(Core::Exception::PERMISSION)); - - userListManager->copyUserList(packet->get<const std::string&>("fromName"), packet->get<const std::string&>("toName")); - - ret->setType("OK"); -} - -void UserListRequestHandlerGroup::handleUserListRenameRequest(boost::shared_ptr<const Common::XmlData> packet, Common::XmlData *ret, Common::Connection *connection) { - if(!connection->isAuthenticated()) - throw(Core::Exception(Core::Exception::PERMISSION)); - - userListManager->renameUserList(packet->get<const std::string&>("fromName"), packet->get<const std::string&>("toName")); - - ret->setType("OK"); -} - -void UserListRequestHandlerGroup::handleUserListRemoveRequest(boost::shared_ptr<const Common::XmlData> packet, Common::XmlData *ret, Common::Connection *connection) { - if(!connection->isAuthenticated()) - throw(Core::Exception(Core::Exception::PERMISSION)); - - userListManager->removeUserList(packet->get<const std::string&>("name")); - - ret->setType("OK"); -} - - -void UserListRequestHandlerGroup::handleUserListDiffListRequest(boost::shared_ptr<const Common::XmlData> /*packet*/, Common::XmlData *ret, Common::Connection *connection) { - if(!connection->isAuthenticated()) - throw(Core::Exception(Core::Exception::PERMISSION)); - - const std::set<std::string> &userListDiffs = userListManager->getUserListDiffs(); - - ret->setType("OK"); - Common::XmlData::List *list = ret->createList("userListDiffs"); - - for(std::set<std::string>::const_iterator diff = userListDiffs.begin(); diff != userListDiffs.end(); ++diff) { - Common::XmlData::List::iterator entry = list->addEntry(); - - entry->set("name", *diff); - } - -} - -void UserListRequestHandlerGroup::handleUserListDiffDownloadRequest(boost::shared_ptr<const Common::XmlData> packet, Common::XmlData *ret, Common::Connection *connection) { - if(!connection->isAuthenticated()) - throw(Core::Exception(Core::Exception::PERMISSION)); - - boost::shared_ptr<UserListDiff> diff = userListManager->loadUserListDiff(packet->get<const std::string&>("name")); - if(!diff) - throw(Core::Exception(Core::Exception::NOT_FOUND)); - - ret->setType("OK"); - Util::serializeUserListDiff(diff.get(), ret); -} - -void UserListRequestHandlerGroup::handleUserListDiffCopyRequest(boost::shared_ptr<const Common::XmlData> packet, Common::XmlData *ret, Common::Connection *connection) { - if(!connection->isAuthenticated()) - throw(Core::Exception(Core::Exception::PERMISSION)); - - userListManager->copyUserListDiff(packet->get<const std::string&>("fromName"), packet->get<const std::string&>("toName")); - - ret->setType("OK"); -} - -void UserListRequestHandlerGroup::handleUserListDiffRenameRequest(boost::shared_ptr<const Common::XmlData> packet, Common::XmlData *ret, Common::Connection *connection) { - if(!connection->isAuthenticated()) - throw(Core::Exception(Core::Exception::PERMISSION)); - - userListManager->renameUserListDiff(packet->get<const std::string&>("fromName"), packet->get<const std::string&>("toName")); - - ret->setType("OK"); -} - -void UserListRequestHandlerGroup::handleUserListDiffRemoveRequest(boost::shared_ptr<const Common::XmlData> packet, Common::XmlData *ret, Common::Connection *connection) { - if(!connection->isAuthenticated()) - throw(Core::Exception(Core::Exception::PERMISSION)); - - userListManager->removeUserListDiff(packet->get<const std::string&>("name")); - - ret->setType("OK"); -} - - -UserListRequestHandlerGroup::UserListRequestHandlerGroup(Server::Application *application0, UserListManager *userListManager0) -: application(application0), userListManager(userListManager0) { - registerHandler("ListUserLists", boost::bind(&UserListRequestHandlerGroup::handleUserListListRequest, this, _1, _2, _3)); - registerHandler("DownloadUserList", boost::bind(&UserListRequestHandlerGroup::handleUserListDownloadRequest, this, _1, _2, _3)); - registerHandler("CopyUserList", boost::bind(&UserListRequestHandlerGroup::handleUserListCopyRequest, this, _1, _2, _3)); - registerHandler("RenameUserList", boost::bind(&UserListRequestHandlerGroup::handleUserListRenameRequest, this, _1, _2, _3)); - registerHandler("RemoveUserList", boost::bind(&UserListRequestHandlerGroup::handleUserListRemoveRequest, this, _1, _2, _3)); - - registerHandler("ListUserListDiffs", boost::bind(&UserListRequestHandlerGroup::handleUserListDiffListRequest, this, _1, _2, _3)); - registerHandler("DownloadUserListDiff", boost::bind(&UserListRequestHandlerGroup::handleUserListDiffDownloadRequest, this, _1, _2, _3)); - registerHandler("CopyUserListDiff", boost::bind(&UserListRequestHandlerGroup::handleUserListDiffCopyRequest, this, _1, _2, _3)); - registerHandler("RenameUserListDiff", boost::bind(&UserListRequestHandlerGroup::handleUserListDiffRenameRequest, this, _1, _2, _3)); - registerHandler("RemoveUserListDiff", boost::bind(&UserListRequestHandlerGroup::handleUserListDiffRemoveRequest, this, _1, _2, _3)); -} - -} -} -} -} |