diff --git a/src/usermanager.cpp b/src/usermanager.cpp index cfafb8f0099ed6fc6cd9aa5978a3346ddc662ec6..4dd66e8fb0efbb8de31179558cf49e01080ee46a 100644 --- a/src/usermanager.cpp +++ b/src/usermanager.cpp @@ -25,6 +25,7 @@ #include "transport/conversationmanager.h" #include "transport/rostermanager.h" #include "storageresponder.h" +#include "rosterresponder.h" namespace Transport { @@ -37,6 +38,9 @@ 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)); @@ -46,6 +50,7 @@ UserManager::UserManager(Component *component, StorageBackend *storageBackend) { UserManager::~UserManager(){ m_storageResponder->stop(); delete m_storageResponder; + delete m_rosterResponder; } void UserManager::addUser(User *user) {