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

Public Slots | Public Member Functions | Static Public Member Functions | Protected Member Functions
Tp::Client::ClientApproverInterface Class Reference
Client proxies

`#include <TelepathyQt/Client>`

Inherits Tp::AbstractInterface.

List of all members.

## Public Slots

- QDBusPendingReply AddDispatchOperation (const Tp::ChannelDetailsList &channels, const QDBusObjectPath &dispatchOperation, const QVariantMap &properties, int timeout=-1)

## Public Member Functions

- ClientApproverInterface (const QString &busName, const QString &objectPath, QObject *parent=0)
- ClientApproverInterface (const QDBusConnection &connection, const QString &busName, const QString &objectPath, QObject *parent=0)
- ClientApproverInterface (Tp::DBusProxy *proxy)
- ClientApproverInterface (const Tp::Client::ClientInterface &mainInterface)
- ClientApproverInterface (const Tp::Client::ClientInterface &mainInterface, QObject *parent)
- Tp::PendingVariant * requestPropertyApproverChannelFilter () 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.Client.Approver".

## Constructor & Destructor Documentation

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

Creates a ClientApproverInterface 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::ClientApproverInterface::ClientApproverInterface | ( | const QDBusConnection & | connection,
|  | const QString & | busName,
|  | const QString & | objectPath,
|  | QObject * | parent = `0`
| ) |  |

Creates a ClientApproverInterface 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::ClientApproverInterface::ClientApproverInterface | ( | Tp::DBusProxy * | proxy | ) |

Creates a ClientApproverInterface 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::ClientApproverInterface::ClientApproverInterface | ( | const Tp::Client::ClientInterface & | mainInterface | ) | `[explicit]`

Creates a ClientApproverInterface 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::ClientApproverInterface::ClientApproverInterface | ( | const Tp::Client::ClientInterface & | mainInterface,
|  | QObject * | parent
| ) |  |

Creates a ClientApproverInterface 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::ClientApproverInterface::staticInterfaceName | ( |  | ) | `[inline, static]`

Returns the name of the interface "org.freedesktop.Telepathy.Client.Approver", which this class represents.

Returns:
  The D-Bus interface name.

Tp::PendingVariant* Tp::Client::ClientApproverInterface::requestPropertyApproverChannelFilter | ( |  | ) | const`[inline]`

Asynchronous getter for the remote object property `ApproverChannelFilter` of type `Tp::ChannelClassList`.

A specification of the channels in which this approver is interested. The AddDispatchOperation() method should be called by the channel dispatcher whenever at least one of the channels in a channel dispatch operation matches this description.

This property works in exactly the same way as the ClientObserverInterface::ObserverChannelFilter property. In particular, it cannot change while the approver process continues to own the corresponding Client bus name.

In the .client file, it is represented in the same way as ObserverChannelFilter, but the group has the same name as this interface and the keys start with ApproverChannelFilter instead of ObserverChannelFilter.

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

Tp::PendingVariantMap* Tp::Client::ClientApproverInterface::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::ClientApproverInterface::AddDispatchOperation | ( | const Tp::ChannelDetailsList & | channels,
|  | const QDBusObjectPath & | dispatchOperation,
|  | const QVariantMap & | properties,
|  | int | timeout = `-1`
| ) |  | `[inline, slot]`

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

Called by the channel dispatcher when a ChannelDispatchOperation in which the approver has registered an interest is created, or when the approver starts up while such channel dispatch operations already exist.

The channel dispatcher SHOULD call this method on all approvers at the same time. If an approver returns an error from this method, the approver is assumed to be faulty.

If no approvers return from this method successfully (including situations where there are no matching approvers at all), the channel dispatcher SHOULD consider this to be an error, and recover by dispatching the channel to the most preferred handler.

Processes that aren't approvers (or don't at least ensure that there is some approver) probably shouldn't be making connections anyway, so there should always be at least one approver running.

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

Parameters:

  channels

  The initial value of the ChannelDispatchOperationInterface::Channels property, containing the ChannelInterface s to be dispatched and their properties.

  This can't be signalled to the approver through the Properties parameter of this method, because Channels is not an immutable property.

  This argument always contains all of the channels in the channel dispatch operation, even if not all of them actually match the ApproverChannelFilter .

  This seems the least bad way to handle such a situation; see the discussion on bug #21090.

  The actual channels to be dispatched may reduce as channels are closed: this is signalled by ChannelDispatchOperationInterface::ChannelLost() .

  Approvers SHOULD connect to ChannelLost and ChannelDispatchOperationInterface::Finished() . (if desired) before returning from AddDispatchOperation, since those signals are guaranteed not to be emitted until after all AddDispatchOperation calls have returned (with success or failure) or timed out.

  dispatchOperation | The ChannelDispatchOperationInterface to be processed.
  properties | Properties of the channel dispatch operation. The keys MUST be fully qualified D-Bus property names. This MUST NOT include properties that could change, SHOULD include as many properties as possible given that constraint, and MUST include at least the Account, Connection and PossibleHandlers properties.
  timeout | The timeout in milliseconds.

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

Reimplemented from Tp::AbstractInterface.