Tp::CallChannel Class Reference

| Home · All Classes · All Namespaces · Modules · Functions · Files

Signals | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
Tp::CallChannel Class Reference
Channel proxies

The CallChannel class provides an object representing a Telepathy channel of type Call. More...

`#include <TelepathyQt/CallChannel>`

Inherits Tp::Channel.

## Signals
void | callStateChanged (Tp::CallState state)
void | callFlagsChanged (Tp::CallFlags flags)
void | remoteMemberFlagsChanged (const QHash< Tp::ContactPtr, Tp::CallMemberFlags > &remoteMemberFlags, const Tp::CallStateReason &reason)
void | remoteMembersRemoved (const Tp::Contacts &remoteMembers, const Tp::CallStateReason &reason)
void | contentAdded (const Tp::CallContentPtr &content)
void | contentRemoved (const Tp::CallContentPtr &content, const Tp::CallStateReason &reason)
void | localHoldStateChanged (Tp::LocalHoldState state, Tp::LocalHoldStateReason reason)
Signals inherited from Tp::Channel
void | groupFlagsChanged (Tp::ChannelGroupFlags flags, Tp::ChannelGroupFlags added, Tp::ChannelGroupFlags removed)
void | groupCanAddContactsChanged (bool canAddContacts)
void | groupCanRemoveContactsChanged (bool canRemoveContacts)
void | groupCanRescindContactsChanged (bool canRescindContacts)
void | groupMembersChanged (const Tp::Contacts &groupMembersAdded, const Tp::Contacts &groupLocalPendingMembersAdded, const Tp::Contacts &groupRemotePendingMembersAdded, const Tp::Contacts &groupMembersRemoved, const Tp::Channel::GroupMemberChangeDetails &details)
void | groupHandleOwnersChanged (const Tp::HandleOwnerMap &owners, const Tp::UIntList &added, const Tp::UIntList &removed)
void | groupSelfContactChanged ()
void | conferenceChannelMerged (const Tp::ChannelPtr &channel)
void | conferenceChannelRemoved (const Tp::ChannelPtr &channel, const Tp::Channel::GroupMemberChangeDetails &details)
Signals inherited from Tp::DBusProxy
void | invalidated (Tp::DBusProxy *proxy, const QString &errorName, const QString &errorMessage)
Signals inherited from Tp::Object
void | propertyChanged (const QString &propertyName)

## Public Member Functions
virtual | ~CallChannel ()
bool | handlerStreamingRequired () const
StreamTransportType | initialTransportType () const
bool | hasInitialAudio () const
bool | hasInitialVideo () const
QString | initialAudioName () const
QString | initialVideoName () const
bool | hasMutableContents () const
PendingOperation * | setRinging ()
PendingOperation * | setQueued ()
PendingOperation * | accept ()
PendingOperation * | hangup (CallStateChangeReason reason=CallStateChangeReasonUserRequested, const QString &detailedReason=QString(), const QString &message=QString())
CallState | callState () const
CallFlags | callFlags () const
CallStateReason | callStateReason () const
QVariantMap | callStateDetails () const
Contacts | remoteMembers () const
CallMemberFlags | remoteMemberFlags (const ContactPtr &member) const
CallContents | contents () const
CallContents | contentsForType (MediaStreamType type) const
CallContentPtr | contentByName (const QString &contentName) const
PendingCallContent * | requestContent (const QString &name, MediaStreamType type, MediaStreamDirection direction)
LocalHoldState | localHoldState () const
LocalHoldStateReason | localHoldStateReason () const
PendingOperation * | requestHold (bool hold)
Public Member Functions inherited from Tp::Channel
virtual | ~Channel ()
ConnectionPtr | connection () const
QVariantMap | immutableProperties () const
QString | channelType () const
HandleType | targetHandleType () const
uint | targetHandle () const
QString | targetId () const
ContactPtr | targetContact () const
bool | isRequested () const
ContactPtr | initiatorContact () const
PendingOperation * | requestClose ()
PendingOperation * | requestLeave (const QString &message=QString(), ChannelGroupChangeReason reason=ChannelGroupChangeReasonNone)
bool | isConference () const
Contacts | conferenceInitialInviteeContacts () const
QList< ChannelPtr > | conferenceChannels () const
QList< ChannelPtr > | conferenceInitialChannels () const
QHash< uint, ChannelPtr > | conferenceOriginalChannels () const
bool | supportsConferenceMerging () const
PendingOperation * | conferenceMergeChannel (const ChannelPtr &channel)
bool | supportsConferenceSplitting () const
PendingOperation * | conferenceSplitChannel ()
ChannelGroupFlags | groupFlags () const
bool | groupCanAddContacts () const
bool | groupCanAddContactsWithMessage () const
bool | groupCanAcceptContactsWithMessage () const
PendingOperation * | groupAddContacts (const QList< ContactPtr > &contacts, const QString &message=QString())
bool | groupCanRescindContacts () const
bool | groupCanRescindContactsWithMessage () const
bool | groupCanRemoveContacts () const
bool | groupCanRemoveContactsWithMessage () const
bool | groupCanRejectContactsWithMessage () const
bool | groupCanDepartWithMessage () const
PendingOperation * | groupRemoveContacts (const QList< ContactPtr > &contacts, const QString &message=QString(), ChannelGroupChangeReason reason=ChannelGroupChangeReasonNone)
Contacts | groupContacts (bool includeSelfContact=true) const
Contacts | groupLocalPendingContacts (bool includeSelfContact=true) const
Contacts | groupRemotePendingContacts (bool includeSelfContact=true) const
GroupMemberChangeDetails | groupLocalPendingContactChangeInfo (const ContactPtr &contact) const
GroupMemberChangeDetails | groupSelfContactRemoveInfo () const
bool | groupAreHandleOwnersAvailable () const
HandleOwnerMap | groupHandleOwners () const
bool | groupIsSelfContactTracked () const
ContactPtr | groupSelfContact () const
Public Member Functions inherited from Tp::StatefulDBusProxy
| StatefulDBusProxy (const QDBusConnection &dbusConnection, const QString &busName, const QString &objectPath, const Feature &featureCore)
virtual | ~StatefulDBusProxy ()
Public Member Functions inherited from Tp::DBusProxy
| DBusProxy (const QDBusConnection &dbusConnection, const QString &busName, const QString &objectPath, const Feature &featureCore)
virtual | ~DBusProxy ()
QDBusConnection | dbusConnection () const
QString | busName () const
QString | objectPath () const
bool | isValid () const
QString | invalidationReason () const
QString | invalidationMessage () const
Public Member Functions inherited from Tp::Object
virtual | ~Object ()
Public Member Functions inherited from Tp::RefCounted
| RefCounted ()
virtual | ~RefCounted ()
Public Member Functions inherited from Tp::ReadyObject
| ReadyObject (RefCounted *object, const Feature &featureCore)
| ReadyObject (DBusProxy *proxy, const Feature &featureCore)
virtual | ~ReadyObject ()
virtual bool | isReady (const Features &features=Features()) const
virtual PendingReady * | becomeReady (const Features &requestedFeatures=Features())
virtual Features | requestedFeatures () const
virtual Features | actualFeatures () const
virtual Features | missingFeatures () const
Public Member Functions inherited from Tp::OptionalInterfaceFactory< Channel >
| OptionalInterfaceFactory (Channel *this_)
| ~OptionalInterfaceFactory ()
QStringList | interfaces () const
bool | hasInterface (const QString &name) const
Interface * | optionalInterface (InterfaceSupportedChecking check=CheckInterfaceSupported) const
Interface * | interface () const

## Static Public Member Functions
static CallChannelPtr | create (const ConnectionPtr &connection, const QString &objectPath, const QVariantMap &immutableProperties)
Static Public Member Functions inherited from Tp::Channel
static ChannelPtr | create (const ConnectionPtr &connection, const QString &objectPath, const QVariantMap &immutableProperties)
Static Public Member Functions inherited from Tp::StatefulDBusProxy
static QString | uniqueNameFrom (const QDBusConnection &bus, const QString &wellKnownOrUnique)
static QString | uniqueNameFrom (const QDBusConnection &bus, const QString &wellKnownOrUnique, QString &error, QString &message)

## Static Public Attributes
static const Feature | FeatureCore
static const Feature | FeatureCallState
static const Feature | FeatureCallMembers
static const Feature | FeatureContents
static const Feature | FeatureLocalHoldState
Static Public Attributes inherited from Tp::Channel
static const Feature | FeatureCore
static const Feature | FeatureConferenceInitialInviteeContacts

## Protected Member Functions
| CallChannel (const ConnectionPtr &connection, const QString &objectPath, const QVariantMap &immutableProperties, const Feature &coreFeature=CallChannel::FeatureCore)
Protected Member Functions inherited from Tp::Channel
| Channel (const ConnectionPtr &connection, const QString &objectPath, const QVariantMap &immutableProperties, const Feature &coreFeature)
Client::ChannelInterface * | baseInterface () const
bool | groupSelfHandleIsLocalPending () const
Protected Member Functions inherited from Tp::DBusProxy
void | setBusName (const QString &busName)
void | invalidate (const QString &reason, const QString &message)
void | invalidate (const QDBusError &error)
Protected Member Functions inherited from Tp::Object
| Object ()
void | notify (const char *propertyName)
Protected Member Functions inherited from Tp::ReadyObject
ReadinessHelper * | readinessHelper () const
Protected Member Functions inherited from Tp::OptionalInterfaceFactory< Channel >
void | setInterfaces (const QStringList &interfaces)

## Additional Inherited Members
Public Types inherited from Tp::OptionalInterfaceFactory< Channel >
enum | InterfaceSupportedChecking
Protected Slots inherited from Tp::Channel
PendingOperation * | groupAddSelfHandle ()

## Detailed Description

The CallChannel class provides an object representing a Telepathy channel of type Call.

## Constructor & Destructor Documentation

Tp::CallChannel::~CallChannel | ( |  | ) |
| virtual

Class destructor.

Tp::CallChannel::CallChannel | ( | const ConnectionPtr & | connection,
|  | const QString & | objectPath,
|  | const QVariantMap & | immutableProperties,
|  | const Feature & | coreFeature = `CallChannel::FeatureCore`
| ) |  |
| protected

Construct a new CallChannel associated with the given object on the same service as the given connection.

Parameters

  connection | Connection owning this channel, and specifying the service.
  objectPath | The object path of this channel.
  immutableProperties | The immutable properties of this channel.
  coreFeature | The core feature of the channel type. The corresponding introspectable should depend on Channel::FeatureCore.

## Member Function Documentation

CallChannelPtr Tp::CallChannel::create | ( | const ConnectionPtr & | connection,
|  | const QString & | objectPath,
|  | const QVariantMap & | immutableProperties
| ) |  |
| static

Create a new CallChannel object.

Parameters

  connection | Connection owning this channel, and specifying the service.
  objectPath | The object path of this channel.
  immutableProperties | The immutable properties of this channel.

Returns
  A CallChannelPtr object pointing to the newly created CallChannel object.

bool Tp::CallChannel::handlerStreamingRequired | ( |  | ) | const

Check whether media streaming by the handler is required for this channel.

If `false`, all of the media streaming is done by some mechanism outside the scope of Telepathy, otherwise the handler is responsible for doing the actual media streaming.

Returns
  `true` if required, `false` otherwise.

StreamTransportType Tp::CallChannel::initialTransportType | ( |  | ) | const

Return the initial transport type used for this call if set on a requested channel.

Where not applicable, this property is defined to be StreamTransportTypeUnknown, in particular, on CMs with hardware streaming.

Returns
  The initial transport type used for this call.

bool Tp::CallChannel::hasInitialAudio | ( |  | ) | const

Return whether an audio content was requested at the channel's creation time.

Returns
  `true` if an audio content was requested, `false` otherwise.

bool Tp::CallChannel::hasInitialVideo | ( |  | ) | const

Return whether a video content was requested at the channel's creation time.

Returns
  `true` if an video content was requested, `false` otherwise.

QString Tp::CallChannel::initialAudioName | ( |  | ) | const

Return the name of the initial audio content if hasInitialAudio() returns `true`.

Returns
  The name of the initial audio content.

QString Tp::CallChannel::initialVideoName | ( |  | ) | const

Return the name of the initial video content if hasInitialVideo() returns `true`.

Returns
  The name of the initial video content.

bool Tp::CallChannel::hasMutableContents | ( |  | ) | const

Return whether new contents can be added on the call after the Channel has been requested.

Returns
  `true` if a new content can be added after the Channel has been requested, `false` otherwise.

See Also
  requestContent()

PendingOperation * Tp::CallChannel::setRinging | ( |  | ) |

Indicate that the local user has been alerted about the incoming call.

Returns
  A PendingOperation which will emit PendingOperation::finished when the call has finished.

PendingOperation * Tp::CallChannel::setQueued | ( |  | ) |

Notify the CM that the local user is already in a call, so this call has been put in a call-waiting style queue.

Returns
  A PendingOperation which will emit PendingOperation::finished when the call has finished.

PendingOperation * Tp::CallChannel::accept | ( |  | ) |

Accept an incoming call, or begin calling the remote contact on an outgoing call.

Returns
  A PendingOperation which will emit PendingOperation::finished when the call has finished.

PendingOperation * Tp::CallChannel::hangup | ( | CallStateChangeReason | reason = `CallStateChangeReasonUserRequested`,
|  | const QString & | detailedReason = `QString()`,
|  | const QString & | message = `QString()`
| ) |  |

Request that the call is ended.

Parameters

  reason | A generic hangup reason.
  detailedReason | A more specific reason for the call hangup, if one is available, or an empty string otherwise.
  message | A human-readable message to be sent to the remote contact(s).

Returns
  A PendingOperation which will emit PendingOperation::finished when the call has finished.

CallState Tp::CallChannel::callState | ( |  | ) | const

Return the current high-level state of this call.

This function requires CallChannel::FeatureCallState to be enabled.

Returns
  The current high-level state of this call.

See Also
  callStateChanged()

CallFlags Tp::CallChannel::callFlags | ( |  | ) | const

Return the flags representing the status of this call as a whole, providing more specific information than callState().

This function requires CallChannel::FeatureCallState to be enabled.

Returns
  The flags representing the status of this call.

See Also
  callFlagsChanged()

CallStateReason Tp::CallChannel::callStateReason | ( |  | ) | const

Return the reason for the last change to the callState() and/or callFlags().

This function requires CallChannel::FeatureCallState to be enabled.

Returns
  The reason for the last change to the callState() and/or callFlags().

See Also
  callStateChanged(), callFlagsChanged()

QVariantMap Tp::CallChannel::callStateDetails | ( |  | ) | const

Return optional extensible details for the callState(), callFlags() and/or callStateReason().

This function requires CallChannel::FeatureCallState to be enabled.

Returns
  The optional extensible details for the callState(), callFlags() and/or callStateReason().

See Also
  callStateChanged(), callFlagsChanged()

Contacts Tp::CallChannel::remoteMembers | ( |  | ) | const

Return the remote members of this call.

This function requires CallChannel::FeatureCallMembers to be enabled.

Returns
  The remote members of this call.

See Also
  remoteMemberFlags(), remoteMemberFlagsChanged(), remoteMembersRemoved()

CallMemberFlags Tp::CallChannel::remoteMemberFlags | ( | const ContactPtr & | member | ) | const

Return the flags that describe the status of a given member of this call.

This function requires CallChannel::FeatureCallMembers to be enabled.

Parameters

  member | The member of interest.

Returns
  The flags that describe the status of the requested member.

See Also
  remoteMemberFlagsChanged(), remoteMembers(), remoteMembersRemoved()

CallContents Tp::CallChannel::contents | ( |  | ) | const

Return a list of media contents in this channel.

This methods requires CallChannel::FeatureContents to be enabled.

Returns
  The contents in this channel.

See Also
  contentAdded(), contentRemoved(), contentsForType(), contentByName(), requestContent()

CallContents Tp::CallChannel::contentsForType | ( | MediaStreamType | type | ) | const

Return a list of media contents in this channel for the given type type.

This methods requires CallChannel::FeatureContents to be enabled.

Parameters

  type | The interested type.

Returns
  A list of media contents in this channel for the given type type.

See Also
  contentAdded(), contentRemoved(), contents(), contentByName(), requestContent()

CallContentPtr Tp::CallChannel::contentByName | ( | const QString & | contentName | ) | const

Return the media content in this channel that has the specified name.

This methods requires CallChannel::FeatureContents to be enabled.

Parameters

  name | The interested name.

Returns
  The media content in this channel that has the specified name.

See Also
  contentAdded(), contentRemoved(), contents(), contentsForType(), requestContent()

PendingCallContent * Tp::CallChannel::requestContent | ( | const QString & | name,
|  | MediaStreamType | type,
|  | MediaStreamDirection | direction
| ) |  |

Request a new media content to be created to exchange the given type type of media.

This methods requires CallChannel::FeatureContents to be enabled.

Returns
  A PendingCallContent which will emit PendingCallContent::finished when the call has finished.

See Also
  contentAdded(), contents(), contentsForType(), contentByName()

LocalHoldState Tp::CallChannel::localHoldState | ( |  | ) | const

Return whether the local user has placed this channel on hold.

This method requires CallChannel::FeatureHoldState to be enabled.

Returns
  The channel's local hold state.

See Also
  requestHold(), localHoldStateChanged()

LocalHoldStateReason Tp::CallChannel::localHoldStateReason | ( |  | ) | const

Return the reason why localHoldState() changed to its current value.

This method requires CallChannel::FeatureLocalHoldState to be enabled.

Returns
  The channel local hold state reason.

See Also
  requestHold(), localHoldStateChanged()

PendingOperation * Tp::CallChannel::requestHold | ( | bool | hold | ) |

Request that the channel be put on hold (be instructed not to send any media streams to you) or be taken off hold.

If the connection manager can immediately tell that the requested state change could not possibly succeed, the resulting PendingOperation will fail with error code TP_QT_ERROR_NOT_AVAILABLE. If the requested state is the same as the current state, the resulting PendingOperation will finish successfully.

Otherwise, the channel's local hold state will change to Tp::LocalHoldStatePendingHold or Tp::LocalHoldStatePendingUnhold (as appropriate), then the resulting PendingOperation will finish successfully.

The eventual success or failure of the request is indicated by a subsequent localHoldStateChanged() signal, changing the local hold state to Tp::LocalHoldStateHeld or Tp::LocalHoldStateUnheld.

If the channel has multiple streams, and the connection manager succeeds in changing the hold state of one stream but fails to change the hold state of another, it will attempt to revert all streams to their previous hold states.

If the channel does not support the TP_QT_IFACE_CHANNEL_INTERFACE_HOLD interface, the PendingOperation will fail with error code TP_QT_ERROR_NOT_IMPLEMENTED.

Parameters

  hold | A boolean indicating whether or not the channel should be on hold

Returns
  A PendingOperation, which will emit PendingOperation::finished when the request finishes.

See Also
  localHoldState(), localHoldStateReason(), localHoldStateChanged()

void Tp::CallChannel::callStateChanged | ( | Tp::CallState | state | ) |
| signal

This signal is emitted when the value of callState() changes.

Parameters

  state | The new state.

void Tp::CallChannel::callFlagsChanged | ( | Tp::CallFlags | flags | ) |
| signal

This signal is emitted when the value of callFlags() changes.

Parameters

  flags | The new flags.

void Tp::CallChannel::remoteMemberFlagsChanged | ( | const QHash< Tp::ContactPtr, Tp::CallMemberFlags > & | remoteMemberFlags,
|  | const Tp::CallStateReason & | reason
| ) |  |
| signal

This signal is emitted when the flags of members of the call change, or when new members are added in the call.

Parameters

  remoteMemberFlags | A maping of all the call members whose flags were changed to their new flags, and of all the new members of the call to their initial flags.
  reason | The reason for this change.

void Tp::CallChannel::remoteMembersRemoved | ( | const Tp::Contacts & | remoteMembers,
|  | const Tp::CallStateReason & | reason
| ) |  |
| signal

This signal is emitted when remote members are removed from the call.

Parameters

  remoteMembers | The members that were removed.
  reason | The reason for this removal.

void Tp::CallChannel::contentAdded | ( | const Tp::CallContentPtr & | content | ) |
| signal

This signal is emitted when a media content is added to this channel.

Parameters

  content | The media content that was added.

See Also
  contents(), contentsForType()

void Tp::CallChannel::contentRemoved | ( | const Tp::CallContentPtr & | content,
|  | const Tp::CallStateReason & | reason
| ) |  |
| signal

This signal is emitted when a media content is removed from this channel.

Parameters

  content | The media content that was removed.
  reason | The reason for this removal.

See Also
  contents(), contentsForType()

void Tp::CallChannel::localHoldStateChanged | ( | Tp::LocalHoldState | state,
|  | Tp::LocalHoldStateReason | reason
| ) |  |
| signal

This signal is emitted when the local hold state of this channel changes.

Parameters

  state | The new local hold state of this channel.
  reason | The reason why the change occurred.

See Also
  localHoldState(), localHoldStateReason()

## Member Data Documentation

const Feature Tp::CallChannel::FeatureCore
| static

Feature representing the core that needs to become ready to make the CallChannel object usable.

When calling isReady(), becomeReady(), this feature is implicitly added to the requested features.

const Feature Tp::CallChannel::FeatureCallState
| static

Feature used in order to access call state specific methods.

See call state specific methods' documentation for more details.

const Feature Tp::CallChannel::FeatureCallMembers
| static

Feature used in order to access members specific methods.

See local members specific methods' documentation for more details.

const Feature Tp::CallChannel::FeatureContents
| static

Feature used in order to access content specific methods.

See media content specific methods' documentation for more details.

const Feature Tp::CallChannel::FeatureLocalHoldState
| static

Feature used in order to access local hold state info.

See local hold state specific methods' documentation for more details.