H323UnidirectionalChannel Class Reference

#include <channels.h>

Inheritance diagram for H323UnidirectionalChannel:

H323Channel H323_RealTimeChannel H323DataChannel H323_ExternalRTPChannel H323_RTPChannel H323_T120Channel H323_T38Channel List of all members.

Public Member Functions

Overrides from class H323Channel
virtual Directions GetDirection () const
virtual BOOL SetInitialBandwidth ()
virtual BOOL Open ()
virtual BOOL Start ()
virtual void Close ()
virtual void OnMiscellaneousCommand (const H245_MiscellaneousCommand_type &type)
Member variable access
virtual OpalMediaStreamGetMediaStream (BOOL deleted=FALSE) const

Protected Member Functions

 PDECLARE_NOTIFIER (OpalMediaCommand, H323UnidirectionalChannel, OnMediaCommand)

Protected Attributes

BOOL receiver
OpalMediaStreammediaStream

Detailed Description

This class describes a unidirectional logical channel between the two endpoints. They may be created and deleted as required in the H245 protocol.

An application may create a descendent off this class and override functions as required for operating the channel protocol.


Constructor & Destructor Documentation

H323UnidirectionalChannel::H323UnidirectionalChannel ( H323Connection connection,
const H323Capability capability,
Directions  direction 
)

Create a new channel.

Parameters:
connection  Connection to endpoint for channel
capability  Capability channel is using
direction  Direction of channel

H323UnidirectionalChannel::~H323UnidirectionalChannel (  ) 

Destroy the channel, deleting the associated media stream.

H323UnidirectionalChannel::H323UnidirectionalChannel ( H323Connection connection,
const H323Capability capability,
Directions  direction 
)

Create a new channel.

Parameters:
connection  Connection to endpoint for channel
capability  Capability channel is using
direction  Direction of channel

H323UnidirectionalChannel::~H323UnidirectionalChannel (  ) 

Destroy the channel, deleting the associated media stream.


Member Function Documentation

virtual Directions H323UnidirectionalChannel::GetDirection (  )  const [virtual]

Indicate the direction of the channel. Return if the channel is bidirectional, or unidirectional, and which direction for th latter case.

Implements H323Channel.

virtual BOOL H323UnidirectionalChannel::SetInitialBandwidth (  )  [virtual]

Set the initial bandwidth for the channel. This calculates the initial bandwidth required by the channel and returns TRUE if the connection can support this bandwidth.

The default behaviour gets the bandwidth requirement from the codec object created by the channel.

Implements H323Channel.

virtual BOOL H323UnidirectionalChannel::Open (  )  [virtual]

Open the channel.

Reimplemented from H323Channel.

virtual BOOL H323UnidirectionalChannel::Start (  )  [virtual]

This is called when the channel can start transferring data. The default action is to start one threads, with it either calling Receive() or Transmit() depending on the receiver member variable.

Implements H323Channel.

Reimplemented in H323_ExternalRTPChannel.

virtual void H323UnidirectionalChannel::Close (  )  [virtual]

This is called to clean up any threads on connection termination.

Reimplemented from H323Channel.

Reimplemented in H323DataChannel, and H323_T38Channel.

virtual void H323UnidirectionalChannel::OnMiscellaneousCommand ( const H245_MiscellaneousCommand_type type  )  [virtual]

Process a miscellaneous command on the logical channel. The default behaviour passes this on to the codec if not NULL.

Parameters:
type  Command to process

Reimplemented from H323Channel.

virtual OpalMediaStream* H323UnidirectionalChannel::GetMediaStream ( BOOL  deleted = FALSE  )  const [virtual]

Get the media stream associated with this logical channel. The default behaviour returns NULL.

Implements H323Channel.

H323UnidirectionalChannel::PDECLARE_NOTIFIER ( OpalMediaCommand  ,
H323UnidirectionalChannel  ,
OnMediaCommand   
) [protected]


Member Data Documentation

BOOL H323UnidirectionalChannel::receiver [protected]

OpalMediaStream* H323UnidirectionalChannel::mediaStream [mutable, protected]


The documentation for this class was generated from the following file:
Generated on Fri Mar 7 06:33:58 2008 for OPAL by  doxygen 1.5.1