From 7a0e5e31e6e225c55704525c009c68cba30d0f53 Mon Sep 17 00:00:00 2001 From: HanzZ Date: Sun, 5 Jun 2011 14:01:26 +0200 Subject: [PATCH] Moved RosterResponder out of UserManager --- include/transport/networkpluginserver.h | 2 ++ {src => include/transport}/rosterresponder.h | 4 +--- include/transport/usermanager.h | 1 - src/networkpluginserver.cpp | 5 +++++ src/rosterresponder.cpp | 5 ++--- src/usermanager.cpp | 5 ----- 6 files changed, 10 insertions(+), 12 deletions(-) rename {src => include/transport}/rosterresponder.h (90%) diff --git a/include/transport/networkpluginserver.h b/include/transport/networkpluginserver.h index 83b35b99..c1edda8f 100644 --- a/include/transport/networkpluginserver.h +++ b/include/transport/networkpluginserver.h @@ -38,6 +38,7 @@ class LocalBuddy; class Config; class NetworkConversation; class VCardResponder; +class RosterResponder; class NetworkPluginServer { public: @@ -83,6 +84,7 @@ class NetworkPluginServer { UserManager *m_userManager; VCardResponder *m_vcardResponder; + RosterResponder *m_rosterResponder; Config *m_config; boost::shared_ptr m_server; std::list m_clients; diff --git a/src/rosterresponder.h b/include/transport/rosterresponder.h similarity index 90% rename from src/rosterresponder.h rename to include/transport/rosterresponder.h index c4208fea..4fd3aebc 100644 --- a/src/rosterresponder.h +++ b/include/transport/rosterresponder.h @@ -27,18 +27,16 @@ namespace Transport { -class StorageBackend; class UserManager; class RosterResponder : public Swift::Responder { public: - RosterResponder(Swift::IQRouter *router, StorageBackend *storageBackend, UserManager *userManager); + RosterResponder(Swift::IQRouter *router, UserManager *userManager); ~RosterResponder(); private: virtual bool handleGetRequest(const Swift::JID& from, const Swift::JID& to, const std::string& id, boost::shared_ptr payload); virtual bool handleSetRequest(const Swift::JID& from, const Swift::JID& to, const std::string& id, boost::shared_ptr payload); - StorageBackend *m_storageBackend; UserManager *m_userManager; }; diff --git a/include/transport/usermanager.h b/include/transport/usermanager.h index cff90027..153be1bf 100644 --- a/include/transport/usermanager.h +++ b/include/transport/usermanager.h @@ -83,7 +83,6 @@ class UserManager { Component *m_component; StorageBackend *m_storageBackend; StorageResponder *m_storageResponder; - RosterResponder *m_rosterResponder; friend class RosterResponder; }; diff --git a/src/networkpluginserver.cpp b/src/networkpluginserver.cpp index 8f06dc0d..2e635fcb 100644 --- a/src/networkpluginserver.cpp +++ b/src/networkpluginserver.cpp @@ -29,6 +29,7 @@ #include "transport/config.h" #include "transport/conversation.h" #include "transport/vcardresponder.h" +#include "transport/rosterresponder.h" #include "Swiften/Swiften.h" #include "Swiften/Server/ServerStanzaChannel.h" #include "Swiften/Elements/StreamError.h" @@ -126,6 +127,9 @@ NetworkPluginServer::NetworkPluginServer(Component *component, Config *config, U m_vcardResponder->onVCardRequired.connect(boost::bind(&NetworkPluginServer::handleVCardRequired, this, _1, _2, _3)); m_vcardResponder->start(); + m_rosterResponder = new RosterResponder(component->getIQRouter(), userManager); + m_rosterResponder->start(); + m_server = component->getFactories()->getConnectionFactory()->createConnectionServer(10000); m_server->onNewConnection.connect(boost::bind(&NetworkPluginServer::handleNewClientConnection, this, _1)); m_server->start(); @@ -138,6 +142,7 @@ NetworkPluginServer::NetworkPluginServer(Component *component, Config *config, U NetworkPluginServer::~NetworkPluginServer() { m_pingTimer->stop(); delete m_vcardResponder; + delete m_rosterResponder; } void NetworkPluginServer::handleNewClientConnection(boost::shared_ptr c) { diff --git a/src/rosterresponder.cpp b/src/rosterresponder.cpp index 68f566a6..3c8554f3 100644 --- a/src/rosterresponder.cpp +++ b/src/rosterresponder.cpp @@ -18,7 +18,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ -#include "rosterresponder.h" +#include "transport/rosterresponder.h" #include #include @@ -33,8 +33,7 @@ using namespace boost; namespace Transport { -RosterResponder::RosterResponder(Swift::IQRouter *router, StorageBackend *storageBackend, UserManager *userManager) : Swift::Responder(router) { - m_storageBackend = storageBackend; +RosterResponder::RosterResponder(Swift::IQRouter *router, UserManager *userManager) : Swift::Responder(router) { m_userManager = userManager; } diff --git a/src/usermanager.cpp b/src/usermanager.cpp index 23f72469..57463705 100644 --- a/src/usermanager.cpp +++ b/src/usermanager.cpp @@ -25,7 +25,6 @@ #include "transport/conversationmanager.h" #include "transport/rostermanager.h" #include "storageresponder.h" -#include "rosterresponder.h" namespace Transport { @@ -38,9 +37,6 @@ UserManager::UserManager(Component *component, StorageBackend *storageBackend) { m_storageResponder = new StorageResponder(component->getIQRouter(), m_storageBackend, this); m_storageResponder->start(); - m_rosterResponder = new RosterResponder(component->getIQRouter(), m_storageBackend, this); - m_rosterResponder->start(); - component->onUserPresenceReceived.connect(bind(&UserManager::handlePresence, this, _1)); m_component->getStanzaChannel()->onMessageReceived.connect(bind(&UserManager::handleMessageReceived, this, _1)); m_component->getStanzaChannel()->onPresenceReceived.connect(bind(&UserManager::handleGeneralPresenceReceived, this, _1)); @@ -50,7 +46,6 @@ UserManager::UserManager(Component *component, StorageBackend *storageBackend) { UserManager::~UserManager(){ m_storageResponder->stop(); delete m_storageResponder; - delete m_rosterResponder; } void UserManager::addUser(User *user) {