Tp::DBusTubeChannel Class Reference

| Home · All Classes · All Namespaces · Modules · Functions · Files

Signals | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
Tp::DBusTubeChannel Class Reference
Channel proxies

The DBusTubeChannel class represents a Telepathy channel of type DBusTube. More...

`#include <TelepathyQt/DBusTubeChannel>`

Inherits Tp::TubeChannel.

Inherited by Tp::IncomingDBusTubeChannel, and Tp::OutgoingDBusTubeChannel.

## Signals
void | busNameAdded (const QString &busName, const Tp::ContactPtr &contact)
void | busNameRemoved (const QString &busName, const Tp::ContactPtr &contact)
Signals inherited from Tp::TubeChannel
void | stateChanged (Tp::TubeChannelState state)
Signals inherited from Tp::Channel
void | groupFlagsChanged (Tp::ChannelGroupFlags flags, Tp::ChannelGroupFlags added, Tp::ChannelGroupFlags removed)
void | groupCanAddContactsChanged (bool canAddContacts)
void | groupCanRemoveContactsChanged (bool canRemoveContacts)
void | groupCanRescindContactsChanged (bool canRescindContacts)
void | groupMembersChanged (const Tp::Contacts &groupMembersAdded, const Tp::Contacts &groupLocalPendingMembersAdded, const Tp::Contacts &groupRemotePendingMembersAdded, const Tp::Contacts &groupMembersRemoved, const Tp::Channel::GroupMemberChangeDetails &details)
void | groupHandleOwnersChanged (const Tp::HandleOwnerMap &owners, const Tp::UIntList &added, const Tp::UIntList &removed)
void | groupSelfContactChanged ()
void | conferenceChannelMerged (const Tp::ChannelPtr &channel)
void | conferenceChannelRemoved (const Tp::ChannelPtr &channel, const Tp::Channel::GroupMemberChangeDetails &details)
Signals inherited from Tp::DBusProxy
void | invalidated (Tp::DBusProxy *proxy, const QString &errorName, const QString &errorMessage)
Signals inherited from Tp::Object
void | propertyChanged (const QString &propertyName)

## Public Member Functions
virtual | ~DBusTubeChannel ()
QString | serviceName () const
bool | supportsRestrictingToCurrentUser () const
QHash< QString, Tp::ContactPtr > | contactsForBusNames () const
QString | address () const
Public Member Functions inherited from Tp::TubeChannel
virtual | ~TubeChannel ()
TubeChannelState | state () const
QVariantMap | parameters () const
Public Member Functions inherited from Tp::Channel
virtual | ~Channel ()
ConnectionPtr | connection () const
QVariantMap | immutableProperties () const
QString | channelType () const
HandleType | targetHandleType () const
uint | targetHandle () const
QString | targetId () const
ContactPtr | targetContact () const
bool | isRequested () const
ContactPtr | initiatorContact () const
PendingOperation * | requestClose ()
PendingOperation * | requestLeave (const QString &message=QString(), ChannelGroupChangeReason reason=ChannelGroupChangeReasonNone)
bool | isConference () const
Contacts | conferenceInitialInviteeContacts () const
QList< ChannelPtr > | conferenceChannels () const
QList< ChannelPtr > | conferenceInitialChannels () const
QHash< uint, ChannelPtr > | conferenceOriginalChannels () const
bool | supportsConferenceMerging () const
PendingOperation * | conferenceMergeChannel (const ChannelPtr &channel)
bool | supportsConferenceSplitting () const
PendingOperation * | conferenceSplitChannel ()
ChannelGroupFlags | groupFlags () const
bool | groupCanAddContacts () const
bool | groupCanAddContactsWithMessage () const
bool | groupCanAcceptContactsWithMessage () const
PendingOperation * | groupAddContacts (const QList< ContactPtr > &contacts, const QString &message=QString())
bool | groupCanRescindContacts () const
bool | groupCanRescindContactsWithMessage () const
bool | groupCanRemoveContacts () const
bool | groupCanRemoveContactsWithMessage () const
bool | groupCanRejectContactsWithMessage () const
bool | groupCanDepartWithMessage () const
PendingOperation * | groupRemoveContacts (const QList< ContactPtr > &contacts, const QString &message=QString(), ChannelGroupChangeReason reason=ChannelGroupChangeReasonNone)
Contacts | groupContacts (bool includeSelfContact=true) const
Contacts | groupLocalPendingContacts (bool includeSelfContact=true) const
Contacts | groupRemotePendingContacts (bool includeSelfContact=true) const
GroupMemberChangeDetails | groupLocalPendingContactChangeInfo (const ContactPtr &contact) const
GroupMemberChangeDetails | groupSelfContactRemoveInfo () const
bool | groupAreHandleOwnersAvailable () const
HandleOwnerMap | groupHandleOwners () const
bool | groupIsSelfContactTracked () const
ContactPtr | groupSelfContact () const
Public Member Functions inherited from Tp::StatefulDBusProxy
| StatefulDBusProxy (const QDBusConnection &dbusConnection, const QString &busName, const QString &objectPath, const Feature &featureCore)
virtual | ~StatefulDBusProxy ()
Public Member Functions inherited from Tp::DBusProxy
| DBusProxy (const QDBusConnection &dbusConnection, const QString &busName, const QString &objectPath, const Feature &featureCore)
virtual | ~DBusProxy ()
QDBusConnection | dbusConnection () const
QString | busName () const
QString | objectPath () const
bool | isValid () const
QString | invalidationReason () const
QString | invalidationMessage () const
Public Member Functions inherited from Tp::Object
virtual | ~Object ()
Public Member Functions inherited from Tp::RefCounted
| RefCounted ()
virtual | ~RefCounted ()
Public Member Functions inherited from Tp::ReadyObject
| ReadyObject (RefCounted *object, const Feature &featureCore)
| ReadyObject (DBusProxy *proxy, const Feature &featureCore)
virtual | ~ReadyObject ()
virtual bool | isReady (const Features &features=Features()) const
virtual PendingReady * | becomeReady (const Features &requestedFeatures=Features())
virtual Features | requestedFeatures () const
virtual Features | actualFeatures () const
virtual Features | missingFeatures () const
Public Member Functions inherited from Tp::OptionalInterfaceFactory< Channel >
| OptionalInterfaceFactory (Channel *this_)
| ~OptionalInterfaceFactory ()
QStringList | interfaces () const
bool | hasInterface (const QString &name) const
Interface * | optionalInterface (InterfaceSupportedChecking check=CheckInterfaceSupported) const
Interface * | interface () const

## Static Public Member Functions
static DBusTubeChannelPtr | create (const ConnectionPtr &connection, const QString &objectPath, const QVariantMap &immutableProperties)
Static Public Member Functions inherited from Tp::TubeChannel
static TubeChannelPtr | create (const ConnectionPtr &connection, const QString &objectPath, const QVariantMap &immutableProperties)
Static Public Member Functions inherited from Tp::Channel
static ChannelPtr | create (const ConnectionPtr &connection, const QString &objectPath, const QVariantMap &immutableProperties)
Static Public Member Functions inherited from Tp::StatefulDBusProxy
static QString | uniqueNameFrom (const QDBusConnection &bus, const QString &wellKnownOrUnique)
static QString | uniqueNameFrom (const QDBusConnection &bus, const QString &wellKnownOrUnique, QString &error, QString &message)

## Static Public Attributes
static const Feature | FeatureCore
static const Feature | FeatureBusNameMonitoring
Static Public Attributes inherited from Tp::TubeChannel
static const Feature | FeatureCore
Static Public Attributes inherited from Tp::Channel
static const Feature | FeatureCore
static const Feature | FeatureConferenceInitialInviteeContacts

## Protected Member Functions
| DBusTubeChannel (const ConnectionPtr &connection, const QString &objectPath, const QVariantMap &immutableProperties)
Protected Member Functions inherited from Tp::TubeChannel
| TubeChannel (const ConnectionPtr &connection, const QString &objectPath, const QVariantMap &immutableProperties, const Feature &coreFeature=TubeChannel::FeatureCore)
void | setParameters (const QVariantMap &parameters)
Protected Member Functions inherited from Tp::Channel
| Channel (const ConnectionPtr &connection, const QString &objectPath, const QVariantMap &immutableProperties, const Feature &coreFeature)
Client::ChannelInterface * | baseInterface () const
bool | groupSelfHandleIsLocalPending () const
Protected Member Functions inherited from Tp::DBusProxy
void | setBusName (const QString &busName)
void | invalidate (const QString &reason, const QString &message)
void | invalidate (const QDBusError &error)
Protected Member Functions inherited from Tp::Object
| Object ()
void | notify (const char *propertyName)
Protected Member Functions inherited from Tp::ReadyObject
ReadinessHelper * | readinessHelper () const
Protected Member Functions inherited from Tp::OptionalInterfaceFactory< Channel >
void | setInterfaces (const QStringList &interfaces)

## Additional Inherited Members
Public Types inherited from Tp::OptionalInterfaceFactory< Channel >
enum | InterfaceSupportedChecking
Protected Slots inherited from Tp::Channel
PendingOperation * | groupAddSelfHandle ()

## Detailed Description

The DBusTubeChannel class represents a Telepathy channel of type DBusTube.

It provides a private bus which can be used as a peer-to-peer connection in case of a Contact Channel, or as a full-fledged bus in case of a Room Channel.

DBusTubeChannel is an intermediate base class; OutgoingDBusTubeChannel and IncomingDBusTubeChannel are the specialized classes used for locally and remotely initiated tubes respectively.

For more details, please refer to Telepathy specification.

See Asynchronous Object Model, Shared Pointer Usage

## Constructor & Destructor Documentation

Tp::DBusTubeChannel::~DBusTubeChannel | ( |  | ) |
| virtual

Class destructor.

Tp::DBusTubeChannel::DBusTubeChannel | ( | const ConnectionPtr & | connection,
|  | const QString & | objectPath,
|  | const QVariantMap & | immutableProperties
| ) |  |
| protected

Construct a new DBusTubeChannel object.

Parameters

  connection | Connection owning this channel, and specifying the service.
  objectPath | The object path of this channel.
  immutableProperties | The immutable properties of this channel.

## Member Function Documentation

DBusTubeChannelPtr Tp::DBusTubeChannel::create | ( | const ConnectionPtr & | connection,
|  | const QString & | objectPath,
|  | const QVariantMap & | immutableProperties
| ) |  |
| static

Create a new DBusTubeChannel channel.

Parameters

  connection | Connection owning this channel, and specifying the service.
  objectPath | The object path of this channel.
  immutableProperties | The immutable properties of this channel.

Returns
  A DBusTubeChannelPtr object pointing to the newly created DBusTubeChannel object.

QString Tp::DBusTubeChannel::serviceName | ( |  | ) | const

Returns the service name which will be used over the tube. This should be a well-known and valid DBus service name, in the form "org.my.service".

This method requires DBusTubeChannel::FeatureCore to be enabled.

Returns
  the service name that will be used over the tube

bool Tp::DBusTubeChannel::supportsRestrictingToCurrentUser | ( |  | ) | const

Checks if this tube is capable to accept or offer a private bus which will allow connections only from the current user

This method is useful only if your appliance is really security-sensitive: in general, this restriction is always enabled by default on all tubes offered or accepted from Telepathy-Qt, falling back to a general connection allowance if this feature is not available.

If your application does not have specific needs regarding DBus credentials, you can trust Telepathy-Qt to do the right thing - in any case, the most secure method available will be used by default.

This method requires DBusTubeChannel::FeatureCore to be enabled.

Returns
  Whether this DBus tube is capable to accept or offer a private bus restricting access to it to the current user only.

See Also
  IncomingDBusTubeChannel::acceptTube
  OutgoingDBusTubeChannel::offerTube

QHash< QString, Tp::ContactPtr > Tp::DBusTubeChannel::contactsForBusNames | ( |  | ) | const

This function returns all the known active bus names in this tube. It requires FeatureBusNameMonitoring to be activated; however, even a late activation of the feature will make this function return a full list of all the connected bus names, including the ones which appeared before the activation of the feature itself.

This function will always return an empty hash in case the tube is p2p, even if FeatureBusNameMonitoring has been activated.

This method requires FeatureBusNameMonitoring to be enabled.

Returns
  A list of active connection ids known to this tube

QString Tp::DBusTubeChannel::address | ( |  | ) | const

If the tube has been opened, this function returns the private bus address you should be connecting to for using this tube.

Please note this function will return a meaningful value only if the tube has already been opened successfully: in case of failure or the tube being still pending, an empty QString will be returned.

Note
  If you plan to use QtDBus for the DBus connection, please note you should always use QDBusConnection::connectToPeer(), regardless of the fact this tube is a p2p or a group one. The above function has been introduced in Qt 4.8, previous versions of Qt do not allow the use of DBus Tubes through QtDBus.

Returns
  The address of the private bus opened by this tube

void Tp::DBusTubeChannel::busNameAdded | ( | const QString & | busName,
|  | const Tp::ContactPtr & | contact
| ) |  |
| signal

Emitted when a new participant joins this tube.

This signal will be emitted only if the tube is a group tube (not p2p), and if the FeatureBusNameMonitoring feature has been enabled.

Parameters

  busName | The bus name of the new participant
  contact | The ContactPtr identifying the participant

void Tp::DBusTubeChannel::busNameRemoved | ( | const QString & | busName,
|  | const Tp::ContactPtr & | contact
| ) |  |
| signal

Emitted when a participant leaves this tube.

This signal will be emitted only if the tube is a group tube (not p2p), and if the FeatureBusNameMonitoring feature has been enabled.

Parameters

  busName | The bus name of the participant leaving
  contact | The ContactPtr identifying the participant

## Member Data Documentation

const Feature Tp::DBusTubeChannel::FeatureCore
| static

Feature representing the core that needs to become ready to make the DBusTubeChannel object usable.

Note that this feature must be enabled in order to use most DBusTubeChannel methods. See specific methods documentation for more details.

const Feature Tp::DBusTubeChannel::FeatureBusNameMonitoring
| static

Feature used in order to monitor bus names in this DBus tube.

See bus name monitoring specific methods' documentation for more details.

See Also
  busNameAdded(), busNameRemoved()