H323GenericControlCapability Class Reference

`#include <h323caps.h>`

Inheritance diagram for H323GenericControlCapability:

## Public Member Functions

Construction
| H323GenericControlCapability (const PString &identifier)
Identification functions
virtual MainTypes | GetMainType () const
virtual unsigned | GetSubType () const
Protocol manipulation
virtual PBoolean | OnSendingPDU (H245_Capability &pdu) const
virtual PBoolean | OnSendingPDU (H245_ModeElement &pdu) const
virtual PBoolean | OnReceivedPDU (const H245_Capability &pdu)
virtual PBoolean | IsMatch (const PASN_Choice &subTypePDU, const PString &mediaPacketization) const
Operations
virtual H323Channel * | CreateChannel (H323Connection &connection, H323Channel::Directions dir, unsigned sessionID, const H245_H2250LogicalChannelParameters *param) const
Public Member Functions inherited from H323Capability
| H323Capability ()
Comparison | Compare (const PObject &obj) const
void | PrintOn (ostream &strm) const
virtual PString | GetFormatName () const =0
virtual unsigned | GetDefaultSessionID () const
virtual void | SetTxFramesInPacket (unsigned frames)
virtual unsigned | GetTxFramesInPacket () const
virtual unsigned | GetRxFramesInPacket () const
virtual PBoolean | OnSendingPDU (H245_DataType &pdu) const
virtual PBoolean | OnReceivedPDU (const H245_DataType &pdu, PBoolean receiver)
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...
virtual void | AttachQoS (RTP_QOS *)
| Attach a QoS specification to this channel. More...
Public Member Functions inherited from H323GenericCapabilityInfo
| H323GenericCapabilityInfo (const PString &id, unsigned maxBitRate=0)
virtual | ~H323GenericCapabilityInfo ()

## Additional Inherited Members

Public Types inherited from H323Capability
enum | MainTypes { e_Audio, e_Video, e_Data, e_UserInput, e_GenericControl, e_NumMainTypes }
enum | { DefaultAudioSessionID = 1, DefaultVideoSessionID = 2, DefaultDataSessionID = 3, DefaultH224SessionID = 4 }
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 H323Capability * | Create (const PString &name)
Protected Member Functions inherited from H323Capability
OpalMediaFormat & | GetWritableMediaFormat () const
Protected Member Functions inherited from H323GenericCapabilityInfo
virtual PBoolean | OnSendingGenericPDU (H245_GenericCapability &pdu, const OpalMediaFormat &mediaFormat, H323Capability::CommandType type) const
virtual PBoolean | OnReceivedGenericPDU (OpalMediaFormat &mediaFormat, const H245_GenericCapability &pdu, H323Capability::CommandType type)
PBoolean | IsMatch (const H245_GenericCapability &param) const
PObject::Comparison | CompareInfo (const H323GenericCapabilityInfo &obj) const
Protected Attributes inherited from H323Capability
unsigned | assignedCapabilityNumber
CapabilityDirection | capabilityDirection
| Unique ID assigned to capability. More...
Protected Attributes inherited from H323GenericCapabilityInfo
PString | m_identifier
unsigned | maxBitRate

## Detailed Description

This class describes a generic control capability, as used in H.239

## Constructor & Destructor Documentation

H323GenericControlCapability::H323GenericControlCapability | ( | const PString & | identifier | ) |

Create a new data capability.

Parameters

  identifier | Indentifer (OID) for generic control

## Member Function Documentation

virtual H323Channel* H323GenericControlCapability::CreateChannel | ( | H323Connection & | connection,
|  | H323Channel::Directions | dir,
|  | unsigned | sessionID,
|  | const H245_H2250LogicalChannelParameters * | param
| ) |  | const

virtual

Create the channel instance, allocating resources as required. This creates a logical channel object appropriate for the parameters provided. Not if param is NULL, sessionID must be provided, otherwise this is taken from the fields in param.

Parameters

  connection | Owner connection for channel
  dir | Direction of channel
  sessionID | Session ID for RTP channel
  param | Parameters for channel

Implements H323Capability.

virtual MainTypes H323GenericControlCapability::GetMainType | ( |  | ) | const

virtual

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

Implements H323Capability.

virtual unsigned H323GenericControlCapability::GetSubType | ( |  | ) | const

virtual

Get the sub-type of the capability. This is a code dependent on the main type of the capability.

This returns H245_VideoCapability::e_extendedVideoCapability.

Implements H323Capability.

virtual PBoolean H323GenericControlCapability::IsMatch | ( | const PASN_Choice & | subTypePDU,
|  | const PString & | mediaPacketization
| ) |  | const

virtual

Compare the generic part of the capability, if applicable.

Parameters

  subTypePDU | sub-type PDU of H323Capability
  mediaPacketization | Media packetization used

Reimplemented from H323Capability.

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

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

virtual PBoolean H323GenericControlCapability::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 is pure.

Parameters

  pdu | PDU to set information on

Implements H323Capability.

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

- h323caps.h