Home · Modules · All Classes · All Namespaces
Public Slots | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
Tp::Client::ClientApproverInterface Class Reference

#include <TelepathyQt/Client>

Inherits Tp::AbstractInterface.

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::PendingVariantrequestPropertyApproverChannelFilter () const
 
Tp::PendingVariantMaprequestAllProperties () const
 
- Public Member Functions inherited from Tp::AbstractInterface
virtual ~AbstractInterface ()
 
bool isValid () const
 
QString invalidationReason () const
 
QString invalidationMessage () const
 
void setMonitorProperties (bool monitorProperties)
 
bool isMonitoringProperties () const
 

Static Public Member Functions

static QLatin1String staticInterfaceName ()
 

Protected Member Functions

virtual void invalidate (Tp::DBusProxy *, const QString &, const QString &)
 
- Protected Member Functions inherited from Tp::AbstractInterface
 AbstractInterface (DBusProxy *proxy, const QLatin1String &interface)
 
 AbstractInterface (const QString &busName, const QString &path, const QLatin1String &interface, const QDBusConnection &connection, QObject *parent)
 
PendingVariantinternalRequestProperty (const QString &name) const
 
PendingOperationinternalSetProperty (const QString &name, const QVariant &newValue)
 
PendingVariantMapinternalRequestAllProperties () const
 

Additional Inherited Members

- Signals inherited from Tp::AbstractInterface
void propertiesChanged (const QVariantMap &changedProperties, const QStringList &invalidatedProperties)
 
- Protected Slots inherited from Tp::AbstractInterface

Detailed Description

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

Constructor & Destructor Documentation

◆ ClientApproverInterface() [1/5]

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
busNameName of the service the object is on.
objectPathPath to the object on the service.
parentPassed to the parent class constructor.

◆ ClientApproverInterface() [2/5]

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
connectionThe bus via which the object can be reached.
busNameName of the service the object is on.
objectPathPath to the object on the service.
parentPassed to the parent class constructor.

◆ ClientApproverInterface() [3/5]

Tp::Client::ClientApproverInterface::ClientApproverInterface ( Tp::DBusProxy proxy)

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

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

◆ ClientApproverInterface() [4/5]

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
mainInterfaceThe proxy to use.

◆ ClientApproverInterface() [5/5]

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
mainInterfaceThe proxy to use.
parentPassed to the parent class constructor.

Member Function Documentation

◆ staticInterfaceName()

static QLatin1String Tp::Client::ClientApproverInterface::staticInterfaceName ( )
inlinestatic

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

Returns
The D-Bus interface name.

◆ requestPropertyApproverChannelFilter()

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.

◆ requestAllProperties()

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.

◆ AddDispatchOperation

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

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.
timeoutThe timeout in milliseconds.

◆ invalidate()

void Tp::Client::ClientApproverInterface::invalidate ( Tp::DBusProxy proxy,
const QString &  error,
const QString &  message 
)
protectedvirtual

Reimplemented from Tp::AbstractInterface.