DBusTubeChannel::Private::Private(DBusTubeChannel *parent) : parent(parent), queuedContactFactory(new QueuedContactFactory(parent->connection()->contactManager(), parent)) { parent->connect(queuedContactFactory, SIGNAL(contactsRetrieved(QUuid,QList<Tp::ContactPtr>)), SLOT(onContactsRetrieved(QUuid,QList<Tp::ContactPtr>))); // Initialize readinessHelper + introspectables here readinessHelper = parent->readinessHelper(); ReadinessHelper::Introspectables introspectables; ReadinessHelper::Introspectable introspectableDBusTube( QSet<uint>() << 0, // makesSenseForStatuses Features() << TubeChannel::FeatureCore, // dependsOnFeatures (core) QStringList(), // dependsOnInterfaces (ReadinessHelper::IntrospectFunc) &Private::introspectDBusTube, this); introspectables[DBusTubeChannel::FeatureCore] = introspectableDBusTube; ReadinessHelper::Introspectable introspectableBusNamesMonitoring( QSet<uint>() << 0, // makesSenseForStatuses Features() << DBusTubeChannel::FeatureCore, // dependsOnFeatures (core) QStringList(), // dependsOnInterfaces (ReadinessHelper::IntrospectFunc) &Private::introspectBusNamesMonitoring, this); introspectables[DBusTubeChannel::FeatureBusNameMonitoring] = introspectableBusNamesMonitoring; readinessHelper->addIntrospectables(introspectables); }
/** * Construct a new OutgoingStreamTubeChannel object. * * \param connection Connection owning this channel, and specifying the * service. * \param objectPath The channel object path. * \param immutableProperties The channel immutable properties. * \param coreFeature The core feature of the channel type, if any. The corresponding introspectable should * depend on OutgoingStreamTubeChannel::FeatureCore. */ OutgoingStreamTubeChannel::OutgoingStreamTubeChannel(const ConnectionPtr &connection, const QString &objectPath, const QVariantMap &immutableProperties, const Feature &coreFeature) : StreamTubeChannel(connection, objectPath, immutableProperties, coreFeature), mPriv(new Private(this)) { connect(mPriv->queuedContactFactory, SIGNAL(contactsRetrieved(QUuid,QList<Tp::ContactPtr>)), this, SLOT(onContactsRetrieved(QUuid,QList<Tp::ContactPtr>))); }