H323UnidirectionalChannel Class Reference

`#include <channels.h>`

Inheritance diagram for H323UnidirectionalChannel:

## Public Member Functions

Construction
| H323UnidirectionalChannel (H323Connection &connection, const H323Capability &capability, Directions direction)
| ~H323UnidirectionalChannel ()
Overrides from class H323Channel
virtual Directions | GetDirection () const
virtual PBoolean | SetInitialBandwidth ()
virtual PBoolean | Open ()
virtual PBoolean | Start ()
Member variable access
virtual OpalMediaStreamPtr | GetMediaStream () const
Public Member Functions inherited from H323Channel
virtual bool | OnMediaCommand (const OpalMediaCommand &)
| H323Channel (H323Connection &connection, const H323Capability &capability)
| ~H323Channel ()
virtual void | PrintOn (ostream &strm) const
const H323ChannelNumber & | GetNumber () const
void | SetNumber (const H323ChannelNumber &num)
const H323ChannelNumber & | GetReverseChannel () const
void | SetReverseChannel (const H323ChannelNumber &num)
unsigned | GetBandwidthUsed () const
PBoolean | SetBandwidthUsed (unsigned bandwidth)
const H323Capability & | GetCapability () const
PBoolean | IsPaused () const
void | SetPause (PBoolean pause)
virtual unsigned | GetSessionID () const
virtual bool | SetSessionID (unsigned sessionID)
virtual PBoolean | GetMediaTransportAddress (OpalTransportAddress &data, OpalTransportAddress &control) const
virtual void | Close ()
PBoolean | IsOpen () const
virtual PBoolean | OnSendingPDU (H245_OpenLogicalChannel &openPDU) const =0
virtual void | OnSendOpenAck (const H245_OpenLogicalChannel &open, H245_OpenLogicalChannelAck &ack) const
virtual PBoolean | OnReceivedPDU (const H245_OpenLogicalChannel &pdu, unsigned &errorCode)
virtual PBoolean | OnReceivedAckPDU (const H245_OpenLogicalChannelAck &pdu)
virtual void | OnFlowControl (long bitRateRestriction)
virtual void | OnMiscellaneousCommand (const H245_MiscellaneousCommand_type &type)
virtual void | OnMiscellaneousIndication (const H245_MiscellaneousIndication_type &type)
virtual void | OnJitterIndication (DWORD jitter, int skippedFrameCount, int additionalBuffer)

## Protected Member Functions

virtual void | InternalClose ()

## Protected Attributes

bool | receiver
OpalMediaStreamPtr | mediaStream
Protected Attributes inherited from H323Channel
H323EndPoint & | endpoint
H323Connection & | connection
H323Capability * | capability
H323ChannelNumber | number
H323ChannelNumber | reverseChannel
bool | opened
bool | paused
PAtomicInteger | m_terminating

## Additional Inherited Members

Public Types inherited from H323Channel
enum | Directions { IsBidirectional, IsTransmitter, IsReceiver, NumDirections }

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

## 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 OpalMediaStreamPtr H323UnidirectionalChannel::GetMediaStream | ( |  | ) | const

virtual

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

Reimplemented from H323Channel.

virtual void H323UnidirectionalChannel::InternalClose | ( |  | ) |

protected virtual

Reimplemented from H323Channel.

Reimplemented in H323DataChannel.

virtual PBoolean H323UnidirectionalChannel::Open | ( |  | ) |

virtual

Open the channel.

Reimplemented from H323Channel.

virtual PBoolean 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 PBoolean 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.

## Field Documentation

OpalMediaStreamPtr H323UnidirectionalChannel::mediaStream

protected

bool H323UnidirectionalChannel::receiver

protected

The documentation for this class was generated from the following file:

- channels.h