Home · All Classes · All Namespaces · Modules · Functions · Files
Signals | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions
Tp::DBusTubeChannel Class Reference

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

#include <TelepathyQt/DBusTubeChannel>

Inherits Tp::TubeChannel.

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

List of all members.

Signals

Public Member Functions

Static Public Member Functions

Static Public Attributes

Protected Member Functions


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

Class destructor.

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

Construct a new DBusTubeChannel object.

Parameters:
connectionConnection owning this channel, and specifying the service.
objectPathThe object path of this channel.
immutablePropertiesThe 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:
connectionConnection owning this channel, and specifying the service.
objectPathThe object path of this channel.
immutablePropertiesThe immutable properties of this channel.
Returns:
A DBusTubeChannelPtr object pointing to the newly created DBusTubeChannel object.

Reimplemented from Tp::TubeChannel.

Reimplemented in Tp::IncomingDBusTubeChannel, and Tp::OutgoingDBusTubeChannel.

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

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:
busNameThe bus name of the new participant
contactThe 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:
busNameThe bus name of the participant leaving
contactThe ContactPtr identifying the participant

Member Data Documentation

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.

Reimplemented from Tp::TubeChannel.

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()


Copyright © 2008-2011 Collabora Ltd. and Nokia Corporation
Telepathy-Qt 0.9.3