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

Public Slots | Signals | Public Member Functions | Static Public Member Functions | Protected Member Functions
Tp::Client::ChannelTypeStreamTubeInterface Class Reference
Channel proxies

`#include <TelepathyQt/Channel>`

Inherits Tp::AbstractInterface.

List of all members.

## Public Slots

- QDBusPendingReply Offer (uint addresstype, const QDBusVariant &address, uint accesscontrol, const QVariantMap &parameters, int timeout=-1)
- QDBusPendingReply< QDBusVariant > Accept (uint addresstype, uint accesscontrol, const QDBusVariant &accesscontrolparam, int timeout=-1)

## Signals

- void NewRemoteConnection (uint handle, const QDBusVariant &connectionParam, uint connectionID)
- void NewLocalConnection (uint connectionID)
- void ConnectionClosed (uint connectionID, const QString &error, const QString &message)

## Public Member Functions

- ChannelTypeStreamTubeInterface (const QString &busName, const QString &objectPath, QObject *parent=0)
- ChannelTypeStreamTubeInterface (const QDBusConnection &connection, const QString &busName, const QString &objectPath, QObject *parent=0)
- ChannelTypeStreamTubeInterface (Tp::DBusProxy *proxy)
- ChannelTypeStreamTubeInterface (const Tp::Client::ChannelInterface &mainInterface)
- ChannelTypeStreamTubeInterface (const Tp::Client::ChannelInterface &mainInterface, QObject *parent)
- Tp::PendingVariant * requestPropertyService () const
- Tp::PendingVariant * requestPropertySupportedSocketTypes () const
- Tp::PendingVariantMap * requestAllProperties () const

## Static Public Member Functions

- static QLatin1String staticInterfaceName ()

## Protected Member Functions

- virtual void invalidate (Tp::DBusProxy *, const QString &, const QString &)

## Detailed Description

Proxy class providing a 1:1 mapping of the D-Bus interface "org.freedesktop.Telepathy.Channel.Type.StreamTube".

## Constructor & Destructor Documentation

Tp::Client::ChannelTypeStreamTubeInterface::ChannelTypeStreamTubeInterface | ( | const QString & | busName,
|  | const QString & | objectPath,
|  | QObject * | parent = `0`
| ) |  |

Creates a ChannelTypeStreamTubeInterface associated with the given object on the session bus.

Parameters:

  busName | Name of the service the object is on.
  objectPath | Path to the object on the service.
  parent | Passed to the parent class constructor.

Tp::Client::ChannelTypeStreamTubeInterface::ChannelTypeStreamTubeInterface | ( | const QDBusConnection & | connection,
|  | const QString & | busName,
|  | const QString & | objectPath,
|  | QObject * | parent = `0`
| ) |  |

Creates a ChannelTypeStreamTubeInterface associated with the given object on the given bus.

Parameters:

  connection | The bus via which the object can be reached.
  busName | Name of the service the object is on.
  objectPath | Path to the object on the service.
  parent | Passed to the parent class constructor.

Tp::Client::ChannelTypeStreamTubeInterface::ChannelTypeStreamTubeInterface | ( | Tp::DBusProxy * | proxy | ) |

Creates a ChannelTypeStreamTubeInterface associated with the same object as the given proxy.

Parameters:

  proxy | The proxy to use. It will also be the QObject::parent() for this object.

Tp::Client::ChannelTypeStreamTubeInterface::ChannelTypeStreamTubeInterface | ( | const Tp::Client::ChannelInterface & | mainInterface | ) | `[explicit]`

Creates a ChannelTypeStreamTubeInterface associated with the same object as the given proxy. Additionally, the created proxy will have the same parent as the given proxy.

Parameters:

  mainInterface | The proxy to use.

Tp::Client::ChannelTypeStreamTubeInterface::ChannelTypeStreamTubeInterface | ( | const Tp::Client::ChannelInterface & | mainInterface,
|  | QObject * | parent
| ) |  |

Creates a ChannelTypeStreamTubeInterface associated with the same object as the given proxy. However, a different parent object can be specified.

Parameters:

  mainInterface | The proxy to use.
  parent | Passed to the parent class constructor.

## Member Function Documentation

static QLatin1String Tp::Client::ChannelTypeStreamTubeInterface::staticInterfaceName | ( |  | ) | `[inline, static]`

Returns the name of the interface "org.freedesktop.Telepathy.Channel.Type.StreamTube", which this class represents.

Returns:
  The D-Bus interface name.

Tp::PendingVariant* Tp::Client::ChannelTypeStreamTubeInterface::requestPropertyService | ( |  | ) | const`[inline]`

Asynchronous getter for the remote object property `Service` of type `QString`.

A string representing the service name that will be used over the tube. It should be a well-known TCP service name as defined by http://www.iana.org/assignments/port-numbers or http://www.dns-sd.org/ServiceTypes.html, for instance "rsync" or "daap".

When the tube is offered, the service name is transmitted to the other end.

When requesting a channel with ConnectionInterfaceRequestsInterface::CreateChannel() , this property MUST be included in the request.

Returns:
  A pending variant which will emit finished when the property has been retrieved.

Tp::PendingVariant* Tp::Client::ChannelTypeStreamTubeInterface::requestPropertySupportedSocketTypes | ( |  | ) | const`[inline]`

Asynchronous getter for the remote object property `SupportedSocketTypes` of type `Tp::SupportedSocketMap`.

A mapping from address types (members of Socket_Address_Type) to arrays of access-control type (members of Socket_Access_Control) that the connection manager supports for stream tubes with that address type. For simplicity, if a CM supports offering a particular type of tube, it is assumed to support accepting it.

A typical value for a host without IPv6 support:

       {
         Socket_Address_Type_IPv4:
           [Socket_Access_Control_Localhost, Socket_Access_Control_Port,
            Socket_Access_Control_Netmask],
         Socket_Address_Type_Unix:
           [Socket_Access_Control_Localhost, Socket_Access_Control_Credentials]
       }

Connection Managers MUST support at least IPv4 with the localhost access control.

When requesting a channel with ConnectionInterfaceRequestsInterface::CreateChannel() , this property MUST NOT be included in the request.

Returns:
  A pending variant which will emit finished when the property has been retrieved.

Tp::PendingVariantMap* Tp::Client::ChannelTypeStreamTubeInterface::requestAllProperties | ( |  | ) | const`[inline]`

Request all of the DBus properties on the interface.

Returns:
  A pending variant map which will emit finished when the properties have been retrieved.

QDBusPendingReply Tp::Client::ChannelTypeStreamTubeInterface::Offer | ( | uint | addresstype,
|  | const QDBusVariant & | address,
|  | uint | accesscontrol,
|  | const QVariantMap & | parameters,
|  | int | timeout = `-1`
| ) |  | `[inline, slot]`

Begins a call to the D-Bus method `Offer` on the remote object.

Offer a stream tube exporting the local socket specified.

Note that timeout is ignored as of now. It will be used once http://bugreports.qt.nokia.com/browse/QTBUG-11775 is fixed.

Parameters:

  addresstype | The type of the listening address of the local service, as a member of Socket_Address_Type.
  address | The listening address of the local service, as indicated by the address_type.
  accesscontrol | The access control the local service applies to the local socket, specified so the connection manager can behave appropriately when it connects.
  parameters | The dictionary of arbitrary Parameters to send with the tube offer.
  timeout | The timeout in milliseconds.

QDBusPendingReply<QDBusVariant> Tp::Client::ChannelTypeStreamTubeInterface::Accept | ( | uint | addresstype,
|  | uint | accesscontrol,
|  | const QDBusVariant & | accesscontrolparam,
|  | int | timeout = `-1`
| ) |  | `[inline, slot]`

Begins a call to the D-Bus method `Accept` on the remote object.

Accept a stream tube that's in the "local pending" state. The connection manager will attempt to open the tube. The tube remains in the "local pending" state until the TubeChannelStateChanged signal is emitted.

Note that timeout is ignored as of now. It will be used once http://bugreports.qt.nokia.com/browse/QTBUG-11775 is fixed.

Parameters:

  addresstype | The type of address the connection manager should listen on.
  accesscontrol | The type of access control the connection manager should apply to the socket. Note that if you plan to establish more than one connection through the tube, the Socket_Access_Control_Port access control can't be used as you can't connect more than once from the same port.
  accesscontrolparam | A parameter for the access control type, to be interpreted as specified in the documentation for the Socket_Access_Control enum.
  timeout | The timeout in milliseconds.

Returns:

The address on which the connection manager will listen for connections to this tube. The client should not attempt to connect to the address until the tube is open.

void Tp::Client::ChannelTypeStreamTubeInterface::NewRemoteConnection | ( | uint | handle,
|  | const QDBusVariant & | connectionParam,
|  | uint | connectionID
| ) |  | `[signal]`

Represents the signal `NewRemoteConnection` on the remote object.

Emitted each time a participant opens a new connection to its socket.

This signal is only fired on the offering side.

Parameters:

  handle | The handle of the participant who opened the new connection

  connectionParam

  A parameter which can be used by the listening process to identify the connection. Note that this parameter has a meaningful value only in the Socket_Access_Control_Port and Socket_Access_Control_Credentials cases. If a different Socket_Access_Control has been chosen when offering the tube, this parameter should be ignored.

  In the Socket_Access_Control_Port case, the variant contains a struct Socket_Address_IPv4 (or Socket_Address_IPv6) containing the address from which the CM is connected to the client application.

  In the Socket_Access_Control_Credentials case, the variant contains the byte (D-Bus signature 'y') that has been sent with the credentials.

  connectionID | The unique ID associated with this connection. This ID will be used to identifiy the connection when reporting errors with ConnectionClosed.

void Tp::Client::ChannelTypeStreamTubeInterface::NewLocalConnection | ( | uint | connectionID | ) | `[signal]`

Represents the signal `NewLocalConnection` on the remote object.

Emitted when the tube application connects to the CM's socket.

This signal is only fired on the accepting side.

Parameters:

  connectionID | The unique ID associated with this connection. This ID will be used to identifiy the connection when reporting errors with ConnectionClosed.

void Tp::Client::ChannelTypeStreamTubeInterface::ConnectionClosed | ( | uint | connectionID,
|  | const QString & | error,
|  | const QString & | message
| ) |  | `[signal]`

Represents the signal `ConnectionClosed` on the remote object.

Emitted when a connection has been closed.

Parameters:

  connectionID | The ID of the connection.

  error

  The name of a D-Bus error describing the error that occurred.

  The following errors can be used:
  - `org.freedesktop.Telepathy.Error.Cancelled`: user closed the socket or the tube.
  - `org.freedesktop.Telepathy.Error.ConnectionLost`: the bytestream relaying connection's data has been broken.
  - `org.freedesktop.Telepathy.Error.ConnectionRefused`: the tube offer refused the connection.

  message | A debug message.

void Tp::Client::ChannelTypeStreamTubeInterface::invalidate | ( | Tp::DBusProxy * | proxy,
|  | const QString & | error,
|  | const QString & | message
| ) |  | `[protected, virtual]`

Reimplemented from Tp::AbstractInterface.