MeeGo 1.2 Harmattan Developer Documentation Develop for the Nokia N9
   Home · All Classes · All Namespaces · Modules · Functions · Files

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 StreamedMediaChannelPtr create (const ConnectionPtr &connection, const QString &objectPath, const QVariantMap &immutableProperties)

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:
connection  Connection owning this channel, and specifying the service.
objectPath  The channel object path.
immutableProperties  The channel immutable properties.
coreFeature  The 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:
connection  Connection owning this channel, and specifying the service.
objectPath  The channel object path.
immutableProperties  The 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:
type  The 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:
stream  Media 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:
streams  List 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:
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::StreamedMediaChannel::streamAdded ( const Tp::StreamedMediaStreamPtr &  stream  )  [signal]

Emitted when a media stream is added to this channel.

Parameters:
stream  The 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:
stream  The 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:
stream  The media stream which the direction changed.
direction  The new direction of the stream that changed.
pendingSend  The 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:
stream  The media stream which the state changed.
state  The 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]
void Tp::StreamedMediaChannel::localHoldStateChanged ( Tp::LocalHoldState  state,
Tp::LocalHoldStateReason  reason  
) [signal]

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

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