Moved RosterResponder out of UserManager
This commit is contained in:
parent
b63c1d0aad
commit
7a0e5e31e6
6 changed files with 10 additions and 12 deletions
|
@ -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<Swift::ConnectionServer> m_server;
|
||||
std::list<Client *> m_clients;
|
||||
|
|
|
@ -27,18 +27,16 @@
|
|||
|
||||
namespace Transport {
|
||||
|
||||
class StorageBackend;
|
||||
class UserManager;
|
||||
|
||||
class RosterResponder : public Swift::Responder<Swift::RosterPayload> {
|
||||
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<Swift::RosterPayload> payload);
|
||||
virtual bool handleSetRequest(const Swift::JID& from, const Swift::JID& to, const std::string& id, boost::shared_ptr<Swift::RosterPayload> payload);
|
||||
StorageBackend *m_storageBackend;
|
||||
UserManager *m_userManager;
|
||||
};
|
||||
|
|
@ -83,7 +83,6 @@ class UserManager {
|
|||
Component *m_component;
|
||||
StorageBackend *m_storageBackend;
|
||||
StorageResponder *m_storageResponder;
|
||||
RosterResponder *m_rosterResponder;
|
||||
friend class RosterResponder;
|
||||
};
|
||||
|
||||
|
|
|
@ -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<Swift::Connection> c) {
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
|
||||
*/
|
||||
|
||||
#include "rosterresponder.h"
|
||||
#include "transport/rosterresponder.h"
|
||||
|
||||
#include <iostream>
|
||||
#include <boost/bind.hpp>
|
||||
|
@ -33,8 +33,7 @@ using namespace boost;
|
|||
|
||||
namespace Transport {
|
||||
|
||||
RosterResponder::RosterResponder(Swift::IQRouter *router, StorageBackend *storageBackend, UserManager *userManager) : Swift::Responder<RosterPayload>(router) {
|
||||
m_storageBackend = storageBackend;
|
||||
RosterResponder::RosterResponder(Swift::IQRouter *router, UserManager *userManager) : Swift::Responder<RosterPayload>(router) {
|
||||
m_userManager = userManager;
|
||||
}
|
||||
|
||||
|
|
|
@ -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) {
|
||||
|
|
Loading…
Add table
Reference in a new issue