summaryrefslogtreecommitdiffstats
path: root/src/modules/UserListManager/RequestHandlers
diff options
context:
space:
mode:
authorMatthias Schiffer <matthias@gamezock.de>2009-09-23 09:44:02 +0200
committerMatthias Schiffer <matthias@gamezock.de>2009-09-23 09:44:02 +0200
commit0eddc28a331437ef95a60418ed1fc6de4e9b63c1 (patch)
tree17dcb71adbca54b47e12b32fb313597f971709f5 /src/modules/UserListManager/RequestHandlers
parentd6844595c9b47dab1db4b970ff6cc7fb3f64f107 (diff)
downloadmad-0eddc28a331437ef95a60418ed1fc6de4e9b63c1.tar
mad-0eddc28a331437ef95a60418ed1fc6de4e9b63c1.zip
UserListManager: Moved module into libCommon and libServer
Diffstat (limited to 'src/modules/UserListManager/RequestHandlers')
-rw-r--r--src/modules/UserListManager/RequestHandlers/UserListDiffUploadRequestHandler.cpp82
-rw-r--r--src/modules/UserListManager/RequestHandlers/UserListDiffUploadRequestHandler.h51
-rw-r--r--src/modules/UserListManager/RequestHandlers/UserListRequestHandlerGroup.cpp161
-rw-r--r--src/modules/UserListManager/RequestHandlers/UserListRequestHandlerGroup.h66
-rw-r--r--src/modules/UserListManager/RequestHandlers/UserListUploadRequestHandler.cpp83
-rw-r--r--src/modules/UserListManager/RequestHandlers/UserListUploadRequestHandler.h51
6 files changed, 0 insertions, 494 deletions
diff --git a/src/modules/UserListManager/RequestHandlers/UserListDiffUploadRequestHandler.cpp b/src/modules/UserListManager/RequestHandlers/UserListDiffUploadRequestHandler.cpp
deleted file mode 100644
index 4660850..0000000
--- a/src/modules/UserListManager/RequestHandlers/UserListDiffUploadRequestHandler.cpp
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * UserListDiffUploadRequestHandler.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 "UserListDiffUploadRequestHandler.h"
-#include "../UserListManager.h"
-#include "../Util.h"
-
-#include <boost/date_time/posix_time/posix_time.hpp>
-
-namespace Mad {
-namespace Modules {
-namespace UserListManager {
-namespace RequestHandlers {
-
-void UserListDiffUploadRequestHandler::handlePacket(boost::shared_ptr<const Common::XmlData> packet) {
- if(packet->getType() == "Cancel") {
- Common::XmlData ret;
- ret.setType("OK");
- sendPacket(ret);
-
- signalFinished();
- return;
- }
- else if(packet->getType() != "UploadUserListDiff") {
- getApplication()->log(Core::Logger::LOG_ERROR, "Received an unexpected packet.");
-
- Common::XmlData ret;
- ret.setType("Error");
- ret.set("ErrorCode", Core::Exception::UNEXPECTED_PACKET);
-
- sendPacket(ret);
-
- signalFinished();
- return;
- }
-
- if(!getConnection()->isAuthenticated())
- throw(Core::Exception(Core::Exception::PERMISSION));
-
- if(name.empty()) { // Request
- name = packet->get<const std::string&>("name");
-
- if(name.empty())
- name = boost::posix_time::to_simple_string(boost::posix_time::second_clock::universal_time());
-
- Common::XmlData ret;
- ret.setType("Continue");
- ret.set("exists", userListManager->existsUserListDiff(name));
- sendPacket(ret);
- }
- else { // Upload
- boost::shared_ptr<UserListDiff> diff = Util::deserializeUserListDiff(packet.get());
- userListManager->storeUserListDiff(name, diff.get());
-
- Common::XmlData ret;
- ret.setType("OK");
- sendPacket(ret);
-
- signalFinished();
- }
-}
-
-}
-}
-}
-}
diff --git a/src/modules/UserListManager/RequestHandlers/UserListDiffUploadRequestHandler.h b/src/modules/UserListManager/RequestHandlers/UserListDiffUploadRequestHandler.h
deleted file mode 100644
index 205a87f..0000000
--- a/src/modules/UserListManager/RequestHandlers/UserListDiffUploadRequestHandler.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * UserListDiffUploadRequestHandler.h
- *
- * 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/>.
- */
-
-#ifndef MAD_MODULES_USERLISTMANAGER_REQUESTHANDLERS_USERLISTDIFFUPLOADREQUESTHANDLER_H_
-#define MAD_MODULES_USERLISTMANAGER_REQUESTHANDLERS_USERLISTDIFFUPLOADREQUESTHANDLER_H_
-
-#include <Common/RequestHandler.h>
-
-namespace Mad {
-namespace Modules {
-namespace UserListManager {
-
-class UserListManager;
-
-namespace RequestHandlers {
-
-class UserListDiffUploadRequestHandler : public Common::RequestHandler {
- private:
- std::string name;
-
- UserListManager *userListManager;
-
- protected:
- virtual void handlePacket(boost::shared_ptr<const Common::XmlData> packet);
-
- public:
- UserListDiffUploadRequestHandler(Common::Application *application, UserListManager *userListManager0) : Common::RequestHandler(application), userListManager(userListManager0) {}
-};
-
-}
-}
-}
-}
-
-#endif /* MAD_MODULES_USERLISTMANAGER_REQUESTHANDLERS_USERLISTDIFFUPLOADREQUESTHANDLER_H_ */
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));
-}
-
-}
-}
-}
-}
diff --git a/src/modules/UserListManager/RequestHandlers/UserListRequestHandlerGroup.h b/src/modules/UserListManager/RequestHandlers/UserListRequestHandlerGroup.h
deleted file mode 100644
index 61f4c7d..0000000
--- a/src/modules/UserListManager/RequestHandlers/UserListRequestHandlerGroup.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * UserListRequestHandlerGroup.h
- *
- * 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/>.
- */
-
-#ifndef MAD_MODULES_USERLISTMANAGER_REQUESTHANDLERS_USERLISTREQUESTHANDLERGROUP_H_
-#define MAD_MODULES_USERLISTMANAGER_REQUESTHANDLERS_USERLISTREQUESTHANDLERGROUP_H_
-
-#include "../../export.h"
-
-#include <Common/RequestHandlers/SimpleRequestHandlerGroup.h>
-
-namespace Mad {
-
-namespace Server {
-class Application;
-}
-
-namespace Modules {
-namespace UserListManager {
-
-class UserListManager;
-
-namespace RequestHandlers {
-
-class MAD_MODULE_EXPORT UserListRequestHandlerGroup : public Common::RequestHandlers::SimpleRequestHandlerGroup {
- private:
- Server::Application *application;
- UserListManager *userListManager;
-
- void handleUserListListRequest(boost::shared_ptr<const Common::XmlData> packet, Common::XmlData *ret, Common::Connection *connection);
- void handleUserListDownloadRequest(boost::shared_ptr<const Common::XmlData> packet, Common::XmlData *ret, Common::Connection *connection);
- void handleUserListCopyRequest(boost::shared_ptr<const Common::XmlData> packet, Common::XmlData *ret, Common::Connection *connection);
- void handleUserListRenameRequest(boost::shared_ptr<const Common::XmlData> packet, Common::XmlData *ret, Common::Connection *connection);
- void handleUserListRemoveRequest(boost::shared_ptr<const Common::XmlData> packet, Common::XmlData *ret, Common::Connection *connection);
-
- void handleUserListDiffListRequest(boost::shared_ptr<const Common::XmlData> packet, Common::XmlData *ret, Common::Connection *connection);
- void handleUserListDiffDownloadRequest(boost::shared_ptr<const Common::XmlData> packet, Common::XmlData *ret, Common::Connection *connection);
- void handleUserListDiffCopyRequest(boost::shared_ptr<const Common::XmlData> packet, Common::XmlData *ret, Common::Connection *connection);
- void handleUserListDiffRenameRequest(boost::shared_ptr<const Common::XmlData> packet, Common::XmlData *ret, Common::Connection *connection);
- void handleUserListDiffRemoveRequest(boost::shared_ptr<const Common::XmlData> packet, Common::XmlData *ret, Common::Connection *connection);
-
- public:
- UserListRequestHandlerGroup(Server::Application *application0, UserListManager *userListManager0);
-};
-
-}
-}
-}
-}
-
-#endif /* MAD_MODULES_USERLISTMANAGER_REQUESTHANDLERS_USERLISTREQUESTHANDLERGROUP_H_ */
diff --git a/src/modules/UserListManager/RequestHandlers/UserListUploadRequestHandler.cpp b/src/modules/UserListManager/RequestHandlers/UserListUploadRequestHandler.cpp
deleted file mode 100644
index 9d01b5e..0000000
--- a/src/modules/UserListManager/RequestHandlers/UserListUploadRequestHandler.cpp
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * UserListUploadRequestHandler.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 "UserListUploadRequestHandler.h"
-#include "../UserListManager.h"
-#include "../Util.h"
-
-#include <boost/date_time/posix_time/posix_time.hpp>
-
-
-namespace Mad {
-namespace Modules {
-namespace UserListManager {
-namespace RequestHandlers {
-
-void UserListUploadRequestHandler::handlePacket(boost::shared_ptr<const Common::XmlData> packet) {
- if(packet->getType() == "Cancel") {
- Common::XmlData ret;
- ret.setType("OK");
- sendPacket(ret);
-
- signalFinished();
- return;
- }
- else if(packet->getType() != "UploadUserList") {
- getApplication()->log(Core::Logger::LOG_ERROR, "Received an unexpected packet.");
-
- Common::XmlData ret;
- ret.setType("Error");
- ret.set("ErrorCode", Core::Exception::UNEXPECTED_PACKET);
-
- sendPacket(ret);
-
- signalFinished();
- return;
- }
-
- if(!getConnection()->isAuthenticated())
- throw(Core::Exception(Core::Exception::PERMISSION));
-
- if(name.empty()) { // Request
- name = packet->get<const std::string&>("name");
-
- if(name.empty())
- name = boost::posix_time::to_simple_string(boost::posix_time::second_clock::universal_time());
-
- Common::XmlData ret;
- ret.setType("Continue");
- ret.set("exists", userListManager->existsUserList(name));
- sendPacket(ret);
- }
- else { // Upload
- boost::shared_ptr<UserList> userList = Util::deserializeUserList(packet.get());
- userListManager->storeUserList(name, userList.get());
-
- Common::XmlData ret;
- ret.setType("OK");
- sendPacket(ret);
-
- signalFinished();
- }
-}
-
-}
-}
-}
-}
diff --git a/src/modules/UserListManager/RequestHandlers/UserListUploadRequestHandler.h b/src/modules/UserListManager/RequestHandlers/UserListUploadRequestHandler.h
deleted file mode 100644
index 933d4a5..0000000
--- a/src/modules/UserListManager/RequestHandlers/UserListUploadRequestHandler.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * UserListUploadRequestHandler.h
- *
- * 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/>.
- */
-
-#ifndef MAD_MODULES_USERLISTMANAGER_REQUESTHANDLERS_USERLISTUPLOADREQUESTHANDLER_H_
-#define MAD_MODULES_USERLISTMANAGER_REQUESTHANDLERS_USERLISTUPLOADREQUESTHANDLER_H_
-
-#include <Common/RequestHandler.h>
-
-namespace Mad {
-namespace Modules {
-namespace UserListManager {
-
-class UserListManager;
-
-namespace RequestHandlers {
-
-class UserListUploadRequestHandler : public Common::RequestHandler {
- private:
- std::string name;
-
- UserListManager *userListManager;
-
- protected:
- virtual void handlePacket(boost::shared_ptr<const Common::XmlData> packet);
-
- public:
- UserListUploadRequestHandler(Common::Application *application, UserListManager *userListManager0) : Common::RequestHandler(application), userListManager(userListManager0) {}
-};
-
-}
-}
-}
-}
-
-#endif /* MAD_MODULES_USERLISTMANAGER_REQUESTHANDLERS_USERLISTUPLOADREQUESTHANDLER_H_ */