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.


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 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, 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 object path of this channel.
immutablePropertiesThe immutable properties of this channel.
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.

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

Return whether this channel is awaiting remote answer.

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

Accept an incoming call.

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

Request that the call is ended.

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 enabled.

Returns:
The media streams in this channel.
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 enabled.

Parameters:
typeThe interested type.
Returns:
A list of media streams in this channel for the given type type.
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 enabled.

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 enabled.

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 enabled.

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 enabled.

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 MediaSignalling 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.

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

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

This method requires StreamedMediaChannel::FeatureHoldState to be enabled.

Returns:
The channel local hold state.
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 enabled.

Returns:
The channel local hold state reason.
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 connection manager can immediately tell that the requested state change could not possibly succeed, the resulting PendingOperation will fail with error code TELEPATHY_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 TELEPATHY_INTERFACE_CHANNEL_INTERFACE_HOLD interface, the PendingOperation will fail with error code TELEPATHY_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]

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

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

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

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

This signal is 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.
void Tp::StreamedMediaChannel::streamStateChanged ( const Tp::StreamedMediaStreamPtr &  stream,
Tp::MediaStreamState  state 
) [signal]

This signal is emitted when a media stream state changes.

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

This signal is 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]

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

Placeholder for "core functionality" of a StreamedMediaChannel which is currently considered to be just Channel::FeatureCore.

Reimplemented from Tp::Channel.

Feature used in order to access media stream specific methods.

See media stream 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-Qt4 0.7.1