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

The StreamedMediaChannel class represents a Telepathy channel of type StreamedMedia. More...

#include <TelepathyQt4/StreamedMediaChannel>

Inherits Tp::Channel.

List of all members.

Public Types

Signals

Public Member Functions

Static Public Member Functions

Static Public Attributes

Protected Member Functions


Detailed Description

The StreamedMediaChannel class represents a Telepathy channel of type StreamedMedia.

For more details, please refer to Telepathy specification.

See Asynchronous Object Model, Shared Pointer Usage


Member Enumeration Documentation

Enumerator:
StateChangeReasonUnknown 
StateChangeReasonUserRequested 

Constructor & Destructor Documentation

Tp::StreamedMediaChannel::~StreamedMediaChannel ( ) [virtual]

Class destructor.

Tp::StreamedMediaChannel::StreamedMediaChannel ( const ConnectionPtr &  connection,
const QString objectPath,
const QVariantMap &  immutableProperties,
const Feature coreFeature = StreamedMediaChannel::FeatureCore 
) [protected]

Construct a new StreamedMediaChannel object.

Parameters:
connectionConnection owning this channel, and specifying the service.
objectPathThe channel object path.
immutablePropertiesThe channel immutable properties.
coreFeatureThe core feature of the channel type, if any. The corresponding introspectable should depend on StreamedMediaChannel::FeatureCore.

Member Function Documentation

StreamedMediaChannelPtr Tp::StreamedMediaChannel::create ( const ConnectionPtr &  connection,
const QString objectPath,
const QVariantMap &  immutableProperties 
) [static]

Create a new StreamedMediaChannel object.

Parameters:
connectionConnection owning this channel, and specifying the service.
objectPathThe channel object path.
immutablePropertiesThe channel immutable properties.
Returns:
A StreamedMediaChannelPtr object pointing to the newly created StreamedMediaChannel object.

Reimplemented from Tp::Channel.

bool Tp::StreamedMediaChannel::awaitingLocalAnswer ( ) const

Return whether this channel is awaiting local answer.

This method requires StreamedMediaChannel::FeatureCore to be ready.

Returns:
true if awaiting local answer, false otherwise.
See also:
awaitingRemoteAnswer(), acceptCall()
bool Tp::StreamedMediaChannel::awaitingRemoteAnswer ( ) const

Return whether this channel is awaiting remote answer.

This method requires StreamedMediaChannel::FeatureCore to be ready.

Returns:
true if awaiting remote answer, false otherwise.
See also:
awaitingLocalAnswer()
PendingOperation * Tp::StreamedMediaChannel::acceptCall ( )

Accept an incoming call.

This method requires StreamedMediaChannel::FeatureCore to be ready.

Returns:
A PendingOperation which will emit PendingOperation::finished when the call has finished.
See also:
awaitingLocalAnswer(), hangupCall()
PendingOperation * Tp::StreamedMediaChannel::hangupCall ( )

Request that the call is ended.

This method requires StreamedMediaChannel::FeatureCore to be ready.

Returns:
A PendingOperation which will emit PendingOperation::finished when the call has finished.
StreamedMediaStreams Tp::StreamedMediaChannel::streams ( ) const

Return a list of media streams in this channel.

This methods requires StreamedMediaChannel::FeatureStreams to be ready.

Returns:
A list of pointers to StreamedMediaStream objects.
See also:
streamAdded(), streamRemoved(), streamsForType(), requestStreams()
StreamedMediaStreams Tp::StreamedMediaChannel::streamsForType ( MediaStreamType  type) const

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

This methods requires StreamedMediaChannel::FeatureStreams to be ready.

Parameters:
typeThe interested type.
Returns:
A list of pointers to StreamedMediaStream objects.
See also:
streamAdded(), streamRemoved(), streams(), requestStreams()
PendingStreamedMediaStreams * Tp::StreamedMediaChannel::requestStream ( const ContactPtr &  contact,
MediaStreamType  type 
)

Request that media streams be established to exchange the given type type of media with the given contact contact.

This methods requires StreamedMediaChannel::FeatureStreams to be ready.

Returns:
A PendingStreamedMediaStreams which will emit PendingStreamedMediaStreams::finished when the call has finished.
See also:
streamAdded(), streams(), streamsForType()
PendingStreamedMediaStreams * Tp::StreamedMediaChannel::requestStreams ( const ContactPtr &  contact,
QList< MediaStreamType types 
)

Request that media streams be established to exchange the given types types of media with the given contact contact.

This methods requires StreamedMediaChannel::FeatureStreams to be ready.

Returns:
A PendingStreamedMediaStreams which will emit PendingStreamedMediaStreams::finished when the call has finished.
See also:
streamAdded(), streams(), streamsForType()
PendingOperation * Tp::StreamedMediaChannel::removeStream ( const StreamedMediaStreamPtr &  stream)

Remove the specified media stream from this channel.

This methods requires StreamedMediaChannel::FeatureStreams to be ready.

Parameters:
streamMedia stream to remove.
Returns:
A PendingOperation which will emit PendingOperation::finished when the call has finished.
See also:
streamRemoved(), streams(), streamsForType()
PendingOperation * Tp::StreamedMediaChannel::removeStreams ( const StreamedMediaStreams streams)

Remove the specified media streams from this channel.

This methods requires StreamedMediaChannel::FeatureStreams to be ready.

Parameters:
streamsList of media streams to remove.
Returns:
A PendingOperation which will emit PendingOperation::finished when the call has finished.
See also:
streamRemoved(), streams(), streamsForType()
bool Tp::StreamedMediaChannel::handlerStreamingRequired ( ) const

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

For channels with the TP_QT4_IFACE_CHANNEL_INTERFACE_MEDIA_SIGNALLING interface, the main handler of the channel is responsible for doing the actual streaming, for instance by calling createFarsightChannel(channel) from TelepathyQt4-Farsight library and using the telepathy-farsight API on the resulting TfChannel.

This method requires StreamedMediaChannel::FeatureCore to be ready.

Returns:
true if required, false otherwise.
LocalHoldState Tp::StreamedMediaChannel::localHoldState ( ) const

Return the local hold state for this channel.

Whether the local user has placed this channel on hold.

This method requires StreamedMediaChannel::FeatureHoldState to be ready.

Returns:
The local hold state as LocalHoldState.
See also:
requestHold(), localHoldStateChanged()
LocalHoldStateReason Tp::StreamedMediaChannel::localHoldStateReason ( ) const

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

This method requires StreamedMediaChannel::FeatureLocalHoldState to be ready.

Returns:
The local hold state reason as LocalHoldStateReason.
See also:
requestHold(), localHoldStateChanged()
PendingOperation * Tp::StreamedMediaChannel::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 CM can immediately tell that the requested state change could not possibly succeed, the resulting PendingOperation will fail with error code TP_QT4_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 LocalHoldStatePendingHold or 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 LocalHoldStateHeld or 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_QT4_IFACE_CHANNEL_INTERFACE_HOLD interface, the PendingOperation will fail with error code TP_QT4_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()
void Tp::StreamedMediaChannel::streamAdded ( const Tp::StreamedMediaStreamPtr &  stream) [signal]

Emitted when a media stream is added to this channel.

Parameters:
streamThe media stream that was added.
See also:
streams(), streamsForType(), streamRemoved()
void Tp::StreamedMediaChannel::streamRemoved ( const Tp::StreamedMediaStreamPtr &  stream) [signal]

Emitted when a media stream is removed from this channel.

Parameters:
streamThe media stream that was removed.
See also:
streams(), streamsForType(), streamAdded()
void Tp::StreamedMediaChannel::streamDirectionChanged ( const Tp::StreamedMediaStreamPtr &  stream,
Tp::MediaStreamDirection  direction,
Tp::MediaStreamPendingSend  pendingSend 
) [signal]

Emitted when a media stream direction changes.

Parameters:
streamThe media stream which the direction changed.
directionThe new direction of the stream that changed.
pendingSendThe new pending send flags of the stream that changed.
See also:
StreamedMediaStream::direction()
void Tp::StreamedMediaChannel::streamStateChanged ( const Tp::StreamedMediaStreamPtr &  stream,
Tp::MediaStreamState  state 
) [signal]

Emitted when a media stream state changes.

Parameters:
streamThe media stream which the state changed.
stateThe new state of the stream that changed.
See also:
StreamedMediaStream::state()
void Tp::StreamedMediaChannel::streamError ( const Tp::StreamedMediaStreamPtr &  stream,
Tp::MediaStreamError  errorCode,
const QString errorMessage 
) [signal]

Emitted when an error occurs on a media stream.

Parameters:
streamThe media stream which the error occurred.
errorCodeThe error code.
errorMessageThe error message.
void Tp::StreamedMediaChannel::localHoldStateChanged ( Tp::LocalHoldState  state,
Tp::LocalHoldStateReason  reason 
) [signal]

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 StreamedMediaChannel object usable.

This is currently the same as Channel::FeatureCore, but may change to include more.

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

See also:
awaitingLocalAnswer(), awaitingRemoteAnswer(), acceptCall(), hangupCall(), handlerStreamingRequired()

Reimplemented from Tp::Channel.

Feature used in order to access media stream specific methods.

See media stream specific methods' documentation for more details.

See also:
streams(), streamsForType(), requestStream(), requestStreams(), streamAdded() removeStream(), removeStreams(), streamRemoved(), streamDirectionChanged(), streamStateChanged(), streamError()

Feature used in order to access local hold state info.

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

See also:
localHoldState(), localHoldStateReason(), requestHold(), localHoldStateChanged()


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