/* * Copyright (c) 2013-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #include #include #include #include #include using namespace Swift; PubSubManagerImpl::PubSubManagerImpl(StanzaChannel* stanzaChannel, IQRouter* router) : stanzaChannel(stanzaChannel), router(router) { stanzaChannel->onMessageReceived.connect(boost::bind(&PubSubManagerImpl::handleMessageRecevied, this, _1)); } PubSubManagerImpl::~PubSubManagerImpl() { stanzaChannel->onMessageReceived.disconnect(boost::bind(&PubSubManagerImpl::handleMessageRecevied, this, _1)); } void PubSubManagerImpl::handleMessageRecevied(std::shared_ptr message) { if (std::shared_ptr event = message->getPayload()) { onEvent(message->getFrom(), event->getPayload()); } }