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

# ClientApproverInterface Class Reference

`#include <TelepathyQt4/Client>`

Inherits Tp::AbstractInterface.

List of all members.

## Public Slots

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

## 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::ChannelClassList ApproverChannelFilter () const TELEPATHY_GNUC_DEPRECATED

## Static Public Member Functions

- static const char * staticInterfaceName ()

## Protected Member Functions

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

## Properties

- Tp::ChannelClassList ApproverChannelFilter

## Detailed Description

Proxy class providing a 1:1 mapping of the D-Bus interface "org.freedesktop.Telepathy.Client.Approver."

## Constructor & Destructor Documentation

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.

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.

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.

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.

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 const char* 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::ChannelClassList ApproverChannelFilter | ( |  | ) | const`[inline]`

Getter for the remote object property "ApproverChannelFilter".

Don't use this: it blocks the main loop.

Returns:
  The value of the property, or a default-constructed value if the property is not readable.

QDBusPendingReply AddDispatchOperation | ( | const Tp::ChannelDetailsList & | channels,
|  | const QDBusObjectPath & | dispatchOperation,
|  | const QVariantMap & | properties |
| ) |  |  | `[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.

<tp:rationale> 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. </tp:rationale>

Parameters:

  | channels |

The initial value of the <tp:dbus-ref namespace="org.freedesktop.Telepathy">ChannelDispatchOperation.Channels</tp:dbus-ref> property, containing the <tp:dbus-ref namespace="org.freedesktop.Telepathy">Channel</tp:dbus-ref>s to be dispatched and their properties.

<tp:rationale>

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

This argument always contains all of the channels in the channel dispatch operation, even if not all of them actually match the <tp:member-ref>ApproverChannelFilter</tp:member-ref>.

<tp:rationale>

This seems the least bad way to handle such a situation; see the discussion on bug #21090. </tp:rationale>

The actual channels to be dispatched may reduce as channels are closed: this is signalled by <tp:dbus-ref namespace="org.freedesktop.Telepathy">ChannelDispatchOperation.ChannelLost</tp:dbus-ref>.

Approvers SHOULD connect to ChannelLost and <tp:dbus-ref namespace="org.freedesktop.Telepathy">ChannelDispatchOperation.Finished</tp:dbus-ref>. (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.

Parameters:

  | dispatchOperation |

The <tp:dbus-ref namespace="org.freedesktop.Telepathy">ChannelDispatchOperation</tp:dbus-ref> to be processed.

Parameters:

  | 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.

virtual void invalidate | ( | Tp::DBusProxy * | ,
|  | const QString & | ,
|  | const QString & |  |
| ) |  |  | `[protected, virtual]`

## Property Documentation

Tp::ChannelClassList ApproverChannelFilter`[read]`

Represents property "ApproverChannelFilter" on the remote object.

A specification of the channels in which this approver is interested. The <tp:member-ref>AddDispatchOperation</tp:member-ref> 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 <tp:dbus-ref namespace="org.freedesktop.Telepathy">Client.Observer.ObserverChannelFilter</tp:dbus-ref> 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.