Home · All Classes · All Namespaces · Modules · Functions · Files
Public Slots | Signals | List of all members
Tp::Service::ConnectionInterfaceContactCapabilitiesAdaptor Class Reference

#include <TelepathyQt/_gen/svc-connection.h>

Inherits Tp::AbstractAdaptor.

Public Slots

void UpdateCapabilities (const Tp::HandlerCapabilitiesList &handlerCapabilities, const QDBusMessage &dbusMessage)
 
Tp::ContactCapabilitiesMap GetContactCapabilities (const Tp::UIntList &handles, const QDBusMessage &dbusMessage)
 

Signals

void ContactCapabilitiesChanged (const Tp::ContactCapabilitiesMap &caps)
 

Additional Inherited Members

- Public Member Functions inherited from Tp::AbstractAdaptor
 AbstractAdaptor (const QDBusConnection &connection, QObject *adaptee, QObject *parent)
 
 ~AbstractAdaptor ()
 
QDBusConnection dbusConnection () const
 
QObject * adaptee () const
 

Detailed Description

Adaptor class providing a 1:1 mapping of the D-Bus interface "org.freedesktop.Telepathy.Connection.Interface.ContactCapabilities".

Member Function Documentation

void Tp::Service::ConnectionInterfaceContactCapabilitiesAdaptor::UpdateCapabilities ( const Tp::HandlerCapabilitiesList handlerCapabilities,
const QDBusMessage &  dbusMessage 
)
slot

Begins a call to the exported D-Bus method UpdateCapabilities on this object.

Adaptees should export this method as a Qt slot with the following signature: void updateCapabilities(const Tp::HandlerCapabilitiesList& handlerCapabilities, const Tp::Service::ConnectionInterfaceContactCapabilitiesAdaptor::UpdateCapabilitiesContextPtr &context);

Implementations should call MethodInvocationContext::setFinished (or setFinishedWithError accordingly) on the received context object once the method has finished processing.

Alter the connection's advertised capabilities to include the intersection of the given clients' capabilities with what the connection manager is able to implement.

On connections managed by the ChannelDispatcher, processes other than the ChannelDispatcher SHOULD NOT call this method, and the ChannelDispatcher SHOULD use this method to advertise the capabilities of all the registered ClientHandlerInterface implementations.On connections not managed by the ChannelDispatcher, clients MAY use this method directly, to indicate the channels they will handle and the extra capabilities they have.

Upon a successful invocation of this method, the connection manager will only emit the ContactCapabilitiesChanged() signal for the user's ConnectionInterface::SelfHandle if, in the underlying protocol, the new capabilities are distinct from the previous state.

The connection manager will essentially intersect the provided capabilities and the channel classes it implements. Therefore, certain properties which are never fixed for a channel class (such as the target handle, or the Parameters property of a tube channel) will almost certainly not be advertised.

This method MAY be called on a newly-created connection while it is still in the DISCONNECTED state, to request that when the connection connects, it will do so with the appropriate capabilities. Doing so MUST NOT fail.

Parameters
handlerCapabilities
The capabilities of one or more clients. For each client in the 
given list, any capabilities previously advertised for the same 
client name are discarded, then replaced by the capabilities 
indicated. As a result, if a client becomes unavailable, this 
method SHOULD be called with a Handler_Capabilities structure 
containing its name, an empty list of channel classes, and an empty 
list of capabilities. When this is done, the connection manager 
SHOULD free all memory associated with that client name. This 
method takes a list of clients so that when the channel dispatcher 
first calls it (with a list of all the Handlers that are initially 
available), the changes can be made atomically, with only one 
transmission of updated capabilities to the network. Afterwards, 
the channel dispatcher will call this method with a single-element 
list every time a Handler becomes available or unavailable. The 
connection manager MUST ignore any channel classes and client 
capabilities for which there is no representation in the protocol 
or no support in the connection manager.
Tp::ContactCapabilitiesMap Tp::Service::ConnectionInterfaceContactCapabilitiesAdaptor::GetContactCapabilities ( const Tp::UIntList handles,
const QDBusMessage &  dbusMessage 
)
slot

Begins a call to the exported D-Bus method GetContactCapabilities on this object.

Adaptees should export this method as a Qt slot with the following signature: void getContactCapabilities(const Tp::UIntList& handles, const Tp::Service::ConnectionInterfaceContactCapabilitiesAdaptor::GetContactCapabilitiesContextPtr &context);

Implementations should call MethodInvocationContext::setFinished (or setFinishedWithError accordingly) on the received context object once the method has finished processing.

Returns an array of requestable channel classes for the given contact handles, representing the channel requests that are expected to succeed.

Parameters
handles

An array of contact handles for this connection.

The handle zero MUST NOT be included in the request.

Returns

A map from contact handles to lists of requestable channel classes, representing the channel requests that are expected to succeed for that contact.

Contacts listed among Handles whose capabilities are unknown SHOULD be omitted from this map; contacts known to have an empty set of capabilities SHOULD be included in the keys of this map, with an empty array as the corresponding value.

void Tp::Service::ConnectionInterfaceContactCapabilitiesAdaptor::ContactCapabilitiesChanged ( const Tp::ContactCapabilitiesMap caps)
signal

Represents the exported D-Bus signal ContactCapabilitiesChanged on this object.

Adaptees should export this signal as a Qt signal with the following signature: void contactCapabilitiesChanged(const Tp::ContactCapabilitiesMap& caps);

The adaptee signal will be automatically relayed as a D-Bus signal once emitted.

Parameters
caps All the capabilities of the contacts


Copyright © 2008-2011 Collabora Ltd. and Nokia Corporation
Telepathy-Qt 0.9.7