H323DataCapability Class Reference

#include <h323caps.h>

Inheritance diagram for H323DataCapability:

H323Capability H323_H224Capability H323_T120Capability H323_T38Capability H323NonStandardDataCapability H323_T38NonStandardCapability List of all members.

Public Member Functions

Construction
 H323DataCapability (unsigned maxBitRate=0)
Identification functions
virtual MainTypes GetMainType () const
Operations
virtual unsigned GetDefaultSessionID () const
virtual H323CodecCreateCodec (H323Codec::Direction direction) const
Protocol manipulation
virtual BOOL OnSendingPDU (H245_Capability &pdu) const
virtual BOOL OnSendingPDU (H245_DataType &pdu) const
virtual BOOL OnSendingPDU (H245_ModeElement &pdu) const
virtual BOOL OnSendingPDU (H245_DataApplicationCapability &pdu) const
virtual BOOL OnSendingPDU (H245_DataApplicationCapability &pdu, CommandType type) const
virtual BOOL OnSendingPDU (H245_DataMode &pdu) const =0
virtual BOOL OnReceivedPDU (const H245_Capability &pdu)
virtual BOOL OnReceivedPDU (const H245_DataType &pdu, BOOL receiver)
virtual BOOL OnReceivedPDU (const H245_DataApplicationCapability &pdu)
virtual BOOL OnReceivedPDU (const H245_DataApplicationCapability &pdu, CommandType type)

Protected Attributes

unsigned maxBitRate

Detailed Description

This class describes the interface to a data channel used to transfer data via the logical channels opened and managed by the H323 control channel.

An application may create a descendent off this class and override functions as required for descibing a codec.

Definition at line 1572 of file h323caps.h.


Constructor & Destructor Documentation

H323DataCapability::H323DataCapability ( unsigned  maxBitRate = 0  ) 

Create a new data capability.

Parameters:
maxBitRate  Maximum bit rate for data in 100's b/s

Definition at line 2117 of file h323caps.cxx.


Member Function Documentation

H323Capability::MainTypes H323DataCapability::GetMainType (  )  const [virtual]

Get the main type of the capability. Always returns e_Data.

Implements H323Capability.

Definition at line 2123 of file h323caps.cxx.

References H323Capability::e_Data.

unsigned H323DataCapability::GetDefaultSessionID (  )  const [virtual]

Get the default RTP session. This function gets the default RTP session ID for the capability type. For example audio capabilities return the value RTP_Session::DefaultAudioSessionID etc.

The default behaviour returns 3, indicating a data session.

Reimplemented from H323Capability.

Definition at line 2129 of file h323caps.cxx.

H323Codec * H323DataCapability::CreateCodec ( H323Codec::Direction  direction  )  const [virtual]

Create the codec instance, allocating resources as required. As a data channel has no codec, this always returns NULL.

Parameters:
direction  Direction in which this instance runs

Implements H323Capability.

Definition at line 2135 of file h323caps.cxx.

BOOL H323DataCapability::OnSendingPDU ( H245_Capability pdu  )  const [virtual]

This function is called whenever and outgoing TerminalCapabilitySet PDU is being constructed for the control channel. It allows the capability to set the PDU fields from information in members specific to the class.

The default behaviour calls the OnSendingPDU() function with a more specific PDU type.

Parameters:
pdu  PDU to set information on

Implements H323Capability.

Definition at line 2141 of file h323caps.cxx.

References H323Capability::capabilityDirection, H323Capability::e_Receive, H323Capability::e_ReceiveAndTransmit, H245_Capability::e_receiveAndTransmitDataApplicationCapability, H245_Capability::e_receiveDataApplicationCapability, H323Capability::e_TCS, H323Capability::e_Transmit, H245_Capability::e_transmitDataApplicationCapability, H245_DataApplicationCapability::m_maxBitRate, and maxBitRate.

Referenced by OnSendingPDU().

BOOL H323DataCapability::OnSendingPDU ( H245_DataType pdu  )  const [virtual]

This function is called whenever and outgoing OpenLogicalChannel PDU is being constructed for the control channel. It allows the capability to set the PDU fields from information in members specific to the class.

The default behaviour calls the OnSendingPDU() function with a more specific PDU type.

Parameters:
pdu  PDU to set information on

Implements H323Capability.

Definition at line 2160 of file h323caps.cxx.

References H245_DataType::e_data, H323Capability::e_OLC, H245_DataApplicationCapability::m_maxBitRate, maxBitRate, and OnSendingPDU().

BOOL H323DataCapability::OnSendingPDU ( H245_ModeElement pdu  )  const [virtual]

This function is called whenever and outgoing RequestMode PDU is being constructed for the control channel. It allows the capability to set the PDU fields from information in members specific to the class.

The default behaviour calls the OnSendingPDU() function with a more specific PDU type.

Parameters:
pdu  PDU to set information on

Implements H323Capability.

Definition at line 2169 of file h323caps.cxx.

References H245_ModeElementType::e_dataMode, H245_DataMode::m_bitRate, H245_ModeElement::m_type, maxBitRate, and OnSendingPDU().

BOOL H323DataCapability::OnSendingPDU ( H245_DataApplicationCapability pdu  )  const [virtual]

This function is called whenever and outgoing TerminalCapabilitySet or OpenLogicalChannel PDU is being constructed for the control channel. It allows the capability to set the PDU fields from information in members specific to the class.

The default behaviour is pure.

Parameters:
pdu  PDU to set information on

Reimplemented in H323NonStandardDataCapability, H323_H224Capability, H323_T120Capability, and H323_T38Capability.

Definition at line 2178 of file h323caps.cxx.

BOOL H323DataCapability::OnSendingPDU ( H245_DataApplicationCapability pdu,
CommandType  type 
) const [virtual]

Parameters:
pdu  PDU to set information on
type  Type of PDU to send in

Definition at line 2184 of file h323caps.cxx.

References OnSendingPDU().

virtual BOOL H323DataCapability::OnSendingPDU ( H245_DataMode pdu  )  const [pure virtual]

This function is called whenever and outgoing RequestMode PDU is being constructed for the control channel. It allows the capability to set the PDU fields from information in members specific to the class.

The default behaviour sets the PDUs tag according to the GetSubType() function (translated to different enum).

Parameters:
pdu  PDU to set information on

Implemented in H323NonStandardDataCapability, H323_H224Capability, H323_T120Capability, and H323_T38Capability.

BOOL H323DataCapability::OnReceivedPDU ( const H245_Capability pdu  )  [virtual]

This function is called whenever and incoming TerminalCapabilitySet PDU is received on the control channel, and a new H323Capability descendent was created. This completes reading fields from the PDU into the classes members.

If the function returns FALSE then the received PDU codec description is not supported, so will be ignored. The default behaviour simply returns TRUE.

Parameters:
pdu  PDU to get information from

Reimplemented from H323Capability.

Definition at line 2190 of file h323caps.cxx.

References H245_Capability::e_receiveAndTransmitDataApplicationCapability, H245_Capability::e_receiveDataApplicationCapability, H323Capability::e_TCS, H245_DataApplicationCapability::m_maxBitRate, maxBitRate, and H323Capability::OnReceivedPDU().

Referenced by OnReceivedPDU().

BOOL H323DataCapability::OnReceivedPDU ( const H245_DataType pdu,
BOOL  receiver 
) [virtual]

This function is called whenever and incoming OpenLogicalChannel PDU has been used to construct the control channel. It allows the capability to set from the PDU fields, information in members specific to the class.

The default behaviour is pure.

Parameters:
pdu  PDU to get information from
receiver  Is receiver OLC

Implements H323Capability.

Definition at line 2204 of file h323caps.cxx.

References H245_DataType::e_data, H323Capability::e_OLC, H245_DataApplicationCapability::m_maxBitRate, maxBitRate, and OnReceivedPDU().

BOOL H323DataCapability::OnReceivedPDU ( const H245_DataApplicationCapability pdu  )  [virtual]

This function is called whenever and incoming TerminalCapabilitySet or OpenLogicalChannel PDU has been used to construct the control channel. It allows the capability to set from the PDU fields, information in members specific to the class.

The default behaviour is pure.

Parameters:
pdu  PDU to set information on

Reimplemented in H323NonStandardDataCapability, H323_H224Capability, H323_T120Capability, and H323_T38Capability.

Definition at line 2215 of file h323caps.cxx.

BOOL H323DataCapability::OnReceivedPDU ( const H245_DataApplicationCapability pdu,
CommandType  type 
) [virtual]

Parameters:
pdu  PDU to set information on
type  Type of PDU to send in

Definition at line 2221 of file h323caps.cxx.

References OnReceivedPDU().


The documentation for this class was generated from the following files:
Generated on Thu Oct 25 13:45:23 2007 for h323plus by  doxygen 1.5.2