OPAL  Version 3.14.3
H323DataCapability Class Referenceabstract

#include <h323caps.h>

Inheritance diagram for H323DataCapability:
Collaboration diagram for H323DataCapability:

Public Member Functions

Construction
 H323DataCapability (unsigned maxBitRate)
 
Identification functions
virtual MainTypes GetMainType () const
 
Operations
virtual unsigned GetDefaultSessionID () const
 
Protocol manipulation
virtual PBoolean OnSendingPDU (H245_Capability &pdu) const
 
virtual PBoolean OnSendingPDU (H245_DataType &pdu) const
 
virtual PBoolean OnSendingPDU (H245_ModeElement &pdu) const
 
virtual PBoolean OnSendingPDU (H245_DataApplicationCapability &pdu) const
 
virtual PBoolean OnSendingPDU (H245_DataApplicationCapability &pdu, CommandType type) const
 
virtual PBoolean OnSendingPDU (H245_DataMode &pdu) const =0
 
virtual PBoolean OnReceivedPDU (const H245_Capability &pdu)
 
virtual PBoolean OnReceivedPDU (const H245_DataType &pdu, PBoolean receiver)
 
virtual PBoolean OnReceivedPDU (const H245_DataApplicationCapability &pdu)
 
virtual PBoolean OnReceivedPDU (const H245_DataApplicationCapability &pdu, CommandType type)
 
- Public Member Functions inherited from H323Capability
 H323Capability ()
 
 H323Capability (const H323Capability &other)
 
H323Capabilityoperator= (const H323Capability &other)
 
 ~H323Capability ()
 
Comparison Compare (const PObject &obj) const
 
void PrintOn (ostream &strm) const
 
virtual unsigned GetSubType () const =0
 
virtual PString GetFormatName () const =0
 
virtual void SetTxFramesInPacket (unsigned frames)
 
virtual unsigned GetTxFramesInPacket () const
 
virtual unsigned GetRxFramesInPacket () const
 
virtual H323ChannelCreateChannel (H323Connection &connection, H323Channel::Directions dir, unsigned sessionID, const H245_H2250LogicalChannelParameters *param) const
 
virtual PBoolean IsMatch (const PASN_Object &subTypePDU, const PString &mediaPacketization) const
 
virtual PBoolean IsUsable (const H323Connection &connection) const
 
CapabilityDirection GetCapabilityDirection () const
 
void SetCapabilityDirection (CapabilityDirection dir)
 
unsigned GetCapabilityNumber () const
 Get unique capability number. More...
 
void SetCapabilityNumber (unsigned num)
 Set unique capability number. More...
 
OpalMediaFormat GetMediaFormat () const
 
bool UpdateMediaFormat (const OpalMediaFormat &format)
 
RTP_DataFrame::PayloadTypes GetPayloadType () const
 Get the payload type for the capaibility. More...
 
void SetPayloadType (RTP_DataFrame::PayloadTypes pt)
 Set the payload type for the capaibility. More...
 

Protected Attributes

OpalBandwidth m_maxBitRate
 
- Protected Attributes inherited from H323Capability
unsigned assignedCapabilityNumber
 
CapabilityDirection capabilityDirection
 Unique ID assigned to capability. More...
 
OpalMediaFormat m_mediaFormat
 

Additional Inherited Members

- Public Types inherited from H323Capability
enum  MainTypes {
  e_Audio, e_Video, e_Data, e_UserInput,
  e_GenericControl, e_H235Security, e_FEC, e_NumMainTypes
}
 
enum  {
  DefaultAudioSessionID = 1, DefaultVideoSessionID = 2, DefaultDataSessionID = 3, MasterAllocatedBaseSessionID,
  DeferredSessionID = 1000000
}
 
enum  CommandType { e_TCS, e_OLC, e_ReqMode }
 
enum  CapabilityDirection {
  e_Unknown, e_Receive, e_Transmit, e_ReceiveAndTransmit,
  e_NoDirection, NumCapabilityDirections
}
 
- Static Public Member Functions inherited from H323Capability
static H323CapabilityCreate (const PString &name)
 
- Protected Member Functions inherited from H323Capability
OpalMediaFormatGetWritableMediaFormat () const
 

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.

Constructor & Destructor Documentation

H323DataCapability::H323DataCapability ( unsigned  maxBitRate)

Create a new data capability.

Parameters
maxBitRateMaximum bit rate for data in 100's b/s

Member Function Documentation

virtual 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 H323Capability::DefaultAudioSessionID etc.

The default behaviour returns 3, indicating a data session.

Reimplemented from H323Capability.

virtual MainTypes H323DataCapability::GetMainType ( ) const
virtual

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

Implements H323Capability.

virtual PBoolean 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
pduPDU to get information from

Reimplemented from H323Capability.

virtual PBoolean H323DataCapability::OnReceivedPDU ( const H245_DataType &  pdu,
PBoolean  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
pduPDU to get information from
receiverIs receiver OLC

Reimplemented from H323Capability.

virtual PBoolean 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
pduPDU to set information on

Reimplemented in H323NonStandardDataCapability, H323_T120Capability, and H323_H224_HDLCTunnelingCapability.

virtual PBoolean H323DataCapability::OnReceivedPDU ( const H245_DataApplicationCapability &  pdu,
CommandType  type 
)
virtual
Parameters
pduPDU to set information on
typeType of PDU to send in

Reimplemented in H323GenericDataCapability.

virtual PBoolean 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
pduPDU to set information on

Implements H323Capability.

virtual PBoolean 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
pduPDU to set information on

Reimplemented from H323Capability.

virtual PBoolean 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
pduPDU to set information on

Reimplemented from H323Capability.

virtual PBoolean 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
pduPDU to set information on

Reimplemented in H323NonStandardDataCapability, H323_T120Capability, and H323_H224_HDLCTunnelingCapability.

virtual PBoolean H323DataCapability::OnSendingPDU ( H245_DataApplicationCapability &  pdu,
CommandType  type 
) const
virtual
Parameters
pduPDU to set information on
typeType of PDU to send in

Reimplemented in H323GenericDataCapability.

virtual PBoolean 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
pduPDU to set information on

Implemented in H323GenericDataCapability, H323NonStandardDataCapability, H323_T120Capability, and H323_H224_HDLCTunnelingCapability.

Field Documentation

OpalBandwidth H323DataCapability::m_maxBitRate
protected

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