diff --git a/src/transport.cpp b/src/transport.cpp index 99ef21d93bad98fddd108002f4978eb3f6063288..f4e0480b7bfee9436f632fd46d7c69ea123822b0 100644 --- a/src/transport.cpp +++ b/src/transport.cpp @@ -26,7 +26,6 @@ #include "transport/factory.h" #include "transport/userregistry.h" #include "transport/logging.h" -#include "discoinforesponder.h" #include "storageparser.h" #ifdef _WIN32 #include @@ -158,8 +157,7 @@ Component::Component(Swift::EventLoop *loop, Swift::NetworkFactories *factories, m_presenceOracle = new Transport::PresenceOracle(m_stanzaChannel); m_presenceOracle->onPresenceChange.connect(bind(&Component::handlePresence, this, _1)); - m_discoInfoResponder = new DiscoInfoResponder(m_iqRouter, m_config); - m_discoInfoResponder->start(); + // // m_registerHandler = new SpectrumRegisterHandler(m_component); @@ -171,7 +169,6 @@ Component::~Component() { delete m_entityCapsManager; delete m_capsManager; delete m_capsMemoryStorage; - delete m_discoInfoResponder; if (m_component) delete m_component; if (m_server) { @@ -188,19 +185,6 @@ Transport::PresenceOracle *Component::getPresenceOracle() { return m_presenceOracle; } -void Component::setTransportFeatures(std::list &features) { - m_discoInfoResponder->setTransportFeatures(features); -} - -Swift::CapsInfo &Component::getBuddyCapsInfo() { - return m_discoInfoResponder->getBuddyCapsInfo(); -} - -void Component::setBuddyFeatures(std::list &features) { - // TODO: handle caps change - m_discoInfoResponder->setBuddyFeatures(features); -} - void Component::start() { if (m_component && !m_component->isAvailable()) { LOG4CXX_INFO(logger, "Connecting XMPP server " << CONFIG_STRING(m_config, "service.server") << " port " << CONFIG_INT(m_config, "service.port")); @@ -297,9 +281,16 @@ void Component::handlePresence(Swift::Presence::ref presence) { return; } - if (presence->getType() == Presence::Error) { - return; - } + switch (presence->getType()) { + case Presence::Error: + case Presence::Subscribe: + case Presence::Subscribed: + case Presence::Unsubscribe: + case Presence::Unsubscribed: + return; + default: + break; + }; // check if we have this client's capabilities and ask for them if (presence->getType() != Swift::Presence::Unavailable) {