Home · All Classes · All Namespaces · Modules · Functions · Files
Public Member Functions | Protected Member Functions
Tp::CapabilitiesBase Class Reference

The CapabilitiesBase class represents the capabilities a Connection or a Contact supports. More...

#include <TelepathyQt4/CapabilitiesBase>

Inherited by Tp::ConnectionCapabilities, and Tp::ContactCapabilities.

List of all members.

Public Member Functions

Protected Member Functions


Detailed Description

The CapabilitiesBase class represents the capabilities a Connection or a Contact supports.


Constructor & Destructor Documentation

Tp::CapabilitiesBase::CapabilitiesBase ( )

Construct a new CapabilitiesBase object.

Tp::CapabilitiesBase::CapabilitiesBase ( const CapabilitiesBase other)
Tp::CapabilitiesBase::~CapabilitiesBase ( ) [virtual]

Class destructor.

Tp::CapabilitiesBase::CapabilitiesBase ( bool  specificToContact) [protected]

Construct a new CapabilitiesBase object.

Parameters:
specificToContactWhether this object describes the capabilities of a particular contact.
Tp::CapabilitiesBase::CapabilitiesBase ( const RequestableChannelClassList rccs,
bool  specificToContact 
) [protected]

Construct a new CapabilitiesBase object using the given rccs.

Parameters:
rccsRequestableChannelClassList representing the capabilities of a connection or contact.
specificToContactWhether this object describes the capabilities of a particular contact.
Tp::CapabilitiesBase::CapabilitiesBase ( const RequestableChannelClassSpecList rccSpecs,
bool  specificToContact 
) [protected]

Construct a new CapabilitiesBase object using the given rccSpecs.

Parameters:
rccSpecsRequestableChannelClassSpecList representing the capabilities of a connection or contact.
specificToContactWhether this object describes the capabilities of a particular contact.

Member Function Documentation

CapabilitiesBase & Tp::CapabilitiesBase::operator= ( const CapabilitiesBase other)
RequestableChannelClassSpecList Tp::CapabilitiesBase::allClassSpecs ( ) const

Return the list of requestable channel class spec representing the requests that can succeed.

This can be used by advanced clients to determine whether an unusually complex request would succeed. See the Telepathy specification for details of how to interpret the returned list.

The higher-level methods like textChats() are likely to be more useful to the majority of clients.

Returns:
A RequestableChannelClassSpecList indicating the parameters to Account::createChannel, Account::ensureChannel, Connection::createChannel and Connection::ensureChannel that can be expected to work.
bool Tp::CapabilitiesBase::isSpecificToContact ( ) const

Return whether this object accurately describes the capabilities of a particular contact, or if it's only a guess based on the capabilities of the underlying connection.

In protocols like XMPP where each contact advertises their capabilities to others, Contact::capabilities() will generally return an object where this method returns true.

In protocols like SIP where contacts' capabilities are not known, Contact::capabilities() will return an object where this method returns false, whose methods textChats() etc. are based on what the underlying connection supports.

This reflects the fact that the best assumption an application can make is that every contact supports every channel type supported by the connection, while indicating that requests to communicate might fail if the contact does not actually have the necessary functionality.

Returns:
true if this object describes the capabilities of a particular contact, false otherwise.
bool Tp::CapabilitiesBase::textChats ( ) const

Return whether private text channels can be established by providing a contact identifier.

If the protocol is such that text chats can be established, but only via a more elaborate D-Bus API than normal (because more information is needed), then this method will return false.

Returns:
true if Account::ensureTextChat() can be expected to work, false otherwise.
bool Tp::CapabilitiesBase::streamedMediaCalls ( ) const

Return whether private audio and/or video calls can be established by providing a contact identifier.

If the protocol is such that these calls can be established, but only via a more elaborate D-Bus API than normal (because more information is needed), then this method will return false.

Returns:
true if Account::ensureStreamedMediaCall() can be expected to work, false otherwise.
See also:
streamedMediaAudioCalls(), streamedMediaVideoCalls(), streamedMediaVideoCallsWithAudio()
bool Tp::CapabilitiesBase::streamedMediaAudioCalls ( ) const

Return whether private audio calls can be established by providing a contact identifier.

Call upgradingCalls() to determine whether such calls are likely to be upgradable to have a video stream later.

If the protocol is such that these calls can be established, but only via a more elaborate D-Bus API than normal (because more information is needed), then this method will return false.

In some older connection managers, streamedMediaAudioCalls() and streamedMediaVideoCalls() might both return false, even though streamedMediaCalls() returns true. This indicates that only an older API is supported - clients of these connection managers must call Account::ensureStreamedMediaCall() to get an empty call, then add audio and/or video streams to it.

Returns:
true if Account::ensureStreamedMediaAudioCall() can be expected to work, false otherwise.
See also:
streamedMediaCalls(), streamedMediaVideoCalls(), streamedMediaVideoCallsWithAudio()
bool Tp::CapabilitiesBase::streamedMediaVideoCalls ( ) const

Return whether private video calls can be established by providing a contact identifier.

The same comments as for streamedMediaAudioCalls() apply to this method.

Returns:
true if Account::ensureStreamedMediaVideoCall() can be expected to work, if given false as withAudio parameter, false otherwise.
See also:
streamedMediaCalls(), streamedMediaAudioCalls(), streamedMediaVideoCallsWithAudio()
bool Tp::CapabilitiesBase::streamedMediaVideoCallsWithAudio ( ) const

Return whether private video calls with audio can be established by providing a contact identifier.

The same comments as for streamedMediaAudioCalls() apply to this method.

Returns:
true if Account::ensureStreamedMediaVideoCall() can be expected to work, if given true as withAudio parameter, false otherwise.
See also:
streamedMediaCalls(), streamedMediaAudioCalls(), streamedMediaVideoCalls()
bool Tp::CapabilitiesBase::upgradingStreamedMediaCalls ( ) const

Return whether the protocol supports adding streams of a different type to ongoing media calls.

In some protocols and clients (such as XMPP Jingle), all calls potentially support both audio and video. This is indicated by returning true.

In other protocols and clients (such as MSN, and the variant of XMPP Jingle used by Google clients), the streams are fixed at the time the call is started, so if you will ever want video, you have to ask for it at the beginning, for instance with ensureStreamedMediaVideoCall(). This is indicated by returning false.

User interfaces can use this method as a UI hint. If it returns false, then a UI wishing to support both audio and video calls will have to provide separate "audio call" and "video call" buttons or menu items; if it returns true, a single button that makes an audio call is sufficient, because video can be added later.

(The underlying Telepathy feature is the ImmutableStreams property; if this method returns true, then ImmutableStreams is false, and vice versa).

Returns:
true if audio calls can be upgraded to audio + video, false otherwise.
bool Tp::CapabilitiesBase::fileTransfers ( ) const

Return whether file transfer can be established by providing a contact identifier

Returns:
true if file transfers can be expected to work, false otherwise.
void Tp::CapabilitiesBase::updateRequestableChannelClasses ( const RequestableChannelClassList rccs) [protected, virtual]


Copyright © 2008-2011 Collabora Ltd. and Nokia Corporation
Telepathy-Qt4 0.6.5