Proxy class providing a 1:1 mapping of the D-Bus interface "org.freedesktop.Telepathy.Client.Approver".
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.
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.
|
timeout | The timeout in milliseconds. |