# H323UnidirectionalChannel Class Reference

`#include <channels.h>`

Inheritance diagram for H323UnidirectionalChannel:

[legend]
Collaboration diagram for H323UnidirectionalChannel:
[legend]

## 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 bool | PreOpen ()
virtual PBoolean | Open ()
Member variable access
OpalMediaFormat | GetMediaFormat () const
virtual OpalMediaStreamPtr | GetMediaStream () const
virtual void | SetMediaStream (OpalMediaStreamPtr mediaStream)

## Protected Member Functions

virtual void | InternalClose ()

## Protected Attributes

bool | receiver
OpalMediaFormat | m_mediaFormat
OpalMediaStreamPtr | m_mediaStream

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

OpalMediaFormat H323UnidirectionalChannel::GetMediaFormat | ( |  | ) | const`[inline]`

virtual OpalMediaStreamPtr H323UnidirectionalChannel::GetMediaStream | ( |  | ) | const`[virtual]`

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

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 bool H323UnidirectionalChannel::PreOpen | ( |  | ) | `[virtual]`

PreOpen the channel. This occurs when we send an OLC, full open happens when the OLC comes back.

Default behaviour create media stream.

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 void H323UnidirectionalChannel::SetMediaStream | ( | OpalMediaStreamPtr | mediaStream | ) | `[virtual]`

Set the media stream associated with this logical channel. The default behaviour sets m_mediaStream and m_mediaFormat.

Reimplemented from H323Channel.

## Field Documentation

OpalMediaFormat H323UnidirectionalChannel::m_mediaFormat `[protected]`

OpalMediaStreamPtr H323UnidirectionalChannel::m_mediaStream `[protected]`

bool H323UnidirectionalChannel::receiver `[protected]`

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

- channels.h