IXmppFeature *IqAuthFeatureFactory::newXmppFeature(const QString &AFeatureNS, IXmppStream *AXmppStream) { if (AFeatureNS == NS_FEATURE_IQAUTH) { LOG_STRM_INFO(AXmppStream->streamJid(),"Iq-Auth XMPP stream feature created"); IXmppFeature *feature = new IqAuthFeature(AXmppStream); connect(feature->instance(),SIGNAL(featureDestroyed()),SLOT(onFeatureDestroyed())); emit featureCreated(feature); return feature; } return NULL; }
IXmppFeature *Registration::newXmppFeature(const QString &AFeatureNS, IXmppStream *AXmppStream) { if (AFeatureNS==NS_FEATURE_REGISTER && FStreamRegisterId.contains(AXmppStream) && !FStreamFeatures.contains(AXmppStream)) { LOG_INFO(QString("XMPP account registration feature created, server=%1").arg(AXmppStream->streamJid().pDomain())); RegisterFeature *feature = new RegisterFeature(AXmppStream); connect(feature->instance(),SIGNAL(registerFields(const IRegisterFields &)),SLOT(onXmppFeatureFields(const IRegisterFields &))); connect(feature->instance(),SIGNAL(finished(bool)),SLOT(onXmppFeatureFinished(bool))); connect(feature->instance(),SIGNAL(featureDestroyed()),SLOT(onXmppFeatureDestroyed())); FStreamFeatures.insert(AXmppStream,feature); emit featureCreated(feature); return feature; }