TpPrototype::CapabilitiesManager Class Reference
[Connection Management]

#include <TelepathyQt4/Prototype/CapabilitiesManager.h>

Collaboration diagram for TpPrototype::CapabilitiesManager:

Collaboration graph
[legend]

List of all members.

Signals

void signalCapabilitiesChanged (TpPrototype::Contact *contact, const Telepathy::CapabilityChange &changedCapability)
void signalOwnCapabilityChanged (const Telepathy::CapabilityChange &changedCapability)

Public Member Functions

bool isValid ()
TpPrototype::Connectionconnection ()
bool setCapabilities (const Telepathy::CapabilityPairList &capabilities, const QStringList &removedChannels=QStringList())
Telepathy::ContactCapabilityList capabilities ()
void capabilitiesForContactList (const QList< QPointer< Contact > > &contacts)

Protected Slots

void slotCapabilitiesChanged (const Telepathy::CapabilityChangeList &capabilities)

Protected Member Functions

 CapabilitiesManager (TpPrototype::Connection *connection, Telepathy::Client::ConnectionInterface *interface, QObject *parent=NULL)
 ~CapabilitiesManager ()

Friends

class Connection
class ConnectionPrivate


Detailed Description

This class manages capabilities information for one connection. Setting the right capability decide whether it is possible to handle incoming or outgoing VoIP or Video over IP channels! Whenever a contact capability changes, the signal signalCapabilitiesChanged() is emitted. This signal provides the related contact object obtained from the ContactManager. In order to keep the contacts updated, you just have to instantiate this class (by requesting the object with Connection::capabilitiesManager()) and initialize the list of contacts once (by calling capabilitiesForContactList() ). After this point, the capabilty information of the contact is updated automatically if a change is signalled by the backend.
See also:
Connection

StreamedMediaChannel


Constructor & Destructor Documentation

CapabilitiesManager::CapabilitiesManager ( TpPrototype::Connection connection,
Telepathy::Client::ConnectionInterface interface,
QObject *  parent = NULL 
) [protected]

Constructor. The capabilities manager cannot be instantiated directly. Use Connection::CapabilitiesManager() for it!

CapabilitiesManager::~CapabilitiesManager (  )  [protected]


Member Function Documentation

Telepathy::ContactCapabilityList CapabilitiesManager::capabilities (  ) 

Request capabilites. Returns the capabilites of the account that belongs to this connection.

Returns:
List of capabilities

References TpPrototype::ConnectionFacade::instance(), and TpPrototype::ConnectionFacade::selfHandleForConnectionInterface().

Referenced by capabilitiesForContactList().

void CapabilitiesManager::capabilitiesForContactList ( const QList< QPointer< Contact > > &  contacts  ) 

Gets the capabilities for a list of contacts and provides them to to specific contacts. The capabilities can be requested from the contact object.

References capabilities(), Telepathy::ContactCapability::handle, TpPrototype::Contact::setCapabilities(), and TpPrototype::Contact::telepathyHandle().

TpPrototype::Connection * CapabilitiesManager::connection (  ) 

Returns the connection that belongs to this capabilities information.

Returns:
The connection object

bool CapabilitiesManager::isValid (  ) 

Validity. Do not access any methods if the object is invalid!

bool CapabilitiesManager::setCapabilities ( const Telepathy::CapabilityPairList capabilities,
const QStringList &  removedChannels = QStringList() 
)

Set the capabilities. This function sets the capabilites of the account that belongs to this connection.

Parameters:
capabilities List of capabilities for a specific channel. See Telepathy D-Bus spec section "Channel_Media_Capabilities"
removedChanels List of channels that are removed.
Returns:
true if setting was successful

void TpPrototype::CapabilitiesManager::signalCapabilitiesChanged ( TpPrototype::Contact contact,
const Telepathy::CapabilityChange changedCapability 
) [signal]

The capability of a contact has changed. This signal is emitted when any of the known contacts changed its capability.

Referenced by slotCapabilitiesChanged().

void TpPrototype::CapabilitiesManager::signalOwnCapabilityChanged ( const Telepathy::CapabilityChange changedCapability  )  [signal]

My capability was changed. This signal is emmitted if the capability of one of my channes was changed.

Referenced by slotCapabilitiesChanged().

void CapabilitiesManager::slotCapabilitiesChanged ( const Telepathy::CapabilityChangeList capabilities  )  [protected, slot]


Friends And Related Function Documentation

friend class Connection [friend]

friend class ConnectionPrivate [friend]


Generated on Thu Mar 5 18:52:14 2009 for TelepathyQt4-0.1.1 by  doxygen 1.5.8