Home · All Classes · All Namespaces · Modules · Functions · Files
Signals | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions
Tp::CallChannel Class Reference

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

#include <TelepathyQt/CallChannel>

Inherits Tp::Channel.

List of all members.

Signals

Public Member Functions

Static Public Member Functions

Static Public Attributes

Protected Member Functions


Detailed Description

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


Constructor & Destructor Documentation

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:
connectionConnection owning this channel, and specifying the service.
objectPathThe object path of this channel.
immutablePropertiesThe immutable properties of this channel.
coreFeatureThe 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:
connectionConnection owning this channel, and specifying the service.
objectPathThe object path of this channel.
immutablePropertiesThe immutable properties of this channel.
Returns:
A CallChannelPtr object pointing to the newly created CallChannel object.

Reimplemented from Tp::Channel.

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.

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.

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

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

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

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

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

Returns:
The name of the initial audio content.

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

Returns:
The name of the initial video content.

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()

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.

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.

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:
reasonA generic hangup reason.
detailedReasonA more specific reason for the call hangup, if one is available, or an empty string otherwise.
messageA human-readable message to be sent to the remote contact(s).
Returns:
A PendingOperation which will emit PendingOperation::finished when the call has finished.

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()

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()

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:
memberThe member of interest.
Returns:
The flags that describe the status of the requested member.
See also:
remoteMemberFlagsChanged(), remoteMembers(), remoteMembersRemoved()

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()

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

This methods requires CallChannel::FeatureContents to be enabled.

Parameters:
typeThe 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:
nameThe 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()

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()

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()

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:
holdA 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()

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

Parameters:
stateThe new state.

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

Parameters:
flagsThe 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:
remoteMemberFlagsA 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.
reasonThe 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:
remoteMembersThe members that were removed.
reasonThe 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:
contentThe 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:
contentThe media content that was removed.
reasonThe reason for this removal.
See also:
contents(), contentsForType()

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

Parameters:
stateThe new local hold state of this channel.
reasonThe reason why the change occurred.
See also:
localHoldState(), localHoldStateReason()

Member Data Documentation

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.

Reimplemented from Tp::Channel.

Feature used in order to access call state specific methods.

See call state specific methods' documentation for more details.

Feature used in order to access members specific methods.

See local members specific methods' documentation for more details.

Feature used in order to access content specific methods.

See media content specific methods' documentation for more details.

Feature used in order to access local hold state info.

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


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