OPAL  Version 3.14.3
H323_UserInputCapability Class Reference

#include <h323caps.h>

Inheritance diagram for H323_UserInputCapability:
Collaboration diagram for H323_UserInputCapability:

Public Member Functions

Overrides from class PObject
virtual PObject * Clone () const
 
Identification functions
virtual MainTypes GetMainType () const
 
virtual unsigned GetSubType () const
 
virtual PString GetFormatName () const
 
Protocol manipulation
virtual PBoolean OnSendingPDU (H245_Capability &pdu) const
 
virtual PBoolean OnSendingPDU (H245_DataType &pdu) const
 
virtual PBoolean OnReceivedPDU (const H245_Capability &pdu)
 
virtual PBoolean OnReceivedPDU (const H245_DataType &pdu, PBoolean receiver)
 
virtual PBoolean IsUsable (const H323Connection &connection) const
 
- 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 GetDefaultSessionID () const
 
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 OnSendingPDU (H245_ModeElement &pdu) const
 
virtual PBoolean IsMatch (const PASN_Object &subTypePDU, const PString &mediaPacketization) 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...
 

Static Public Member Functions

static void AddAllCapabilities (H323Capabilities &capabilities, PINDEX descriptorNum, PINDEX simultaneous, H323Capability *rfc2833=NULL)
 
- Static Public Member Functions inherited from H323Capability
static H323CapabilityCreate (const PString &name)
 

Protected Attributes

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

Construction

enum  SubTypes {
  BasicString, IA5String, GeneralString, SignalToneH245,
  HookFlashH245, SignalToneRFC2833, NumSubTypes
}
 
static const char * GetSubTypeName (SubTypes subType)
 
ostream & operator<< (ostream &strm, SubTypes subType)
 
 H323_UserInputCapability (SubTypes subType)
 

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
}
 
- Protected Member Functions inherited from H323Capability
OpalMediaFormatGetWritableMediaFormat () const
 

Detailed Description

This class describes the UserInput psuedo-channel.

Member Enumeration Documentation

Enumerator
BasicString 
IA5String 
GeneralString 
SignalToneH245 
HookFlashH245 
SignalToneRFC2833 
NumSubTypes 

Constructor & Destructor Documentation

H323_UserInputCapability::H323_UserInputCapability ( SubTypes  subType)

Create the capability for User Input. The subType parameter is a value from the enum H245_UserInputCapability::Choices.

Member Function Documentation

static void H323_UserInputCapability::AddAllCapabilities ( H323Capabilities capabilities,
PINDEX  descriptorNum,
PINDEX  simultaneous,
H323Capability rfc2833 = NULL 
)
static
Parameters
capabilitiesTable to add capabilities to
descriptorNumThe member of the capabilityDescriptor to add
simultaneousThe member of the SimultaneousCapabilitySet to add
virtual PObject* H323_UserInputCapability::Clone ( ) const
virtual

Create a copy of the object.

virtual PString H323_UserInputCapability::GetFormatName ( ) const
virtual

Get the name of the media data format this class represents.

Implements H323Capability.

virtual MainTypes H323_UserInputCapability::GetMainType ( ) const
virtual

Get the main type of the capability.

This function is overridden by one of the three main sub-classes off which real capabilities would be descendend.

Implements H323Capability.

virtual unsigned H323_UserInputCapability::GetSubType ( ) const
virtual

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

Implements H323Capability.

static const char* H323_UserInputCapability::GetSubTypeName ( SubTypes  subType)
static
virtual PBoolean H323_UserInputCapability::IsUsable ( const H323Connection connection) const
virtual

Validate that the capability is usable given the connection. This checks agains the negotiated protocol version number and remote application to determine if this capability should be used in TCS or OLC pdus.

The default behaviour will check for early versions and return false for RFC2833 mode.

Reimplemented from H323Capability.

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

Parameters
pduPDU to set information on

Implements H323Capability.

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

Parameters
pduPDU to set information on

Reimplemented from H323Capability.

Friends And Related Function Documentation

ostream& operator<< ( ostream &  strm,
SubTypes  subType 
)
friend

Field Documentation

SubTypes H323_UserInputCapability::subType
protected

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