H323_UserInputCapability Class Reference

Inheritance diagram for H323_UserInputCapability:

H323Capability List of all members.

Construction

enum  SubTypes {
  BasicString, IA5String, GeneralString, SignalToneH245,
  HookFlashH245, SignalToneRFC2833, H249A_Navigation, H249B_Softkey,
  H249C_PointDevice, H249D_Modal, NumSubTypes
}
enum  NavigateKeyID {
  NavigateRight = 1, NavigateLeft, NavigateUp, NavigateDown,
  NavigateActivate
}
static const char *const SubTypeNames [NumSubTypes]
static const char *const SubTypeOID [4]
 H323_UserInputCapability (SubTypes subType)

Operations

virtual H323ChannelCreateChannel (H323Connection &connection, H323Channel::Directions dir, unsigned sessionID, const H245_H2250LogicalChannelParameters *param) const
virtual H323CodecCreateCodec (H323Codec::Direction direction) const
static H245_GenericInformationBuildGenericIndication (const char *oid)
static H245_GenericParameterBuildGenericParameter (unsigned id, unsigned type, const PString &value)

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 BOOL OnSendingPDU (H245_Capability &pdu) const
virtual BOOL OnSendingPDU (H245_DataType &pdu) const
virtual BOOL OnSendingPDU (H245_ModeElement &pdu) const
virtual BOOL OnReceivedPDU (const H245_Capability &pdu)
virtual BOOL OnReceivedPDU (const H245_DataType &pdu, BOOL receiver)
virtual BOOL IsUsable (const H323Connection &connection) const

Static Public Member Functions

static void AddAllCapabilities (H323Capabilities &capabilities, PINDEX descriptorNum, PINDEX simultaneous)

Protected Attributes

SubTypes subType
PString subTypeOID

Detailed Description

Definition at line 1920 of file h323caps.h.


Member Enumeration Documentation

enum H323_UserInputCapability::SubTypes

Enumerator:
BasicString 
IA5String 
GeneralString 
SignalToneH245 
HookFlashH245 
SignalToneRFC2833 
H249A_Navigation 
H249B_Softkey 
H249C_PointDevice 
H249D_Modal 
NumSubTypes 

Definition at line 1927 of file h323caps.h.

enum H323_UserInputCapability::NavigateKeyID

Enumerator:
NavigateRight 
NavigateLeft 
NavigateUp 
NavigateDown 
NavigateActivate 

Definition at line 1945 of file h323caps.h.


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.

Referenced by AddAllCapabilities(), and Clone().


Member Function Documentation

PObject * H323_UserInputCapability::Clone (  )  const [virtual]

Create a copy of the object.

Definition at line 2418 of file h323caps.cxx.

References H323_UserInputCapability().

H323Capability::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.

Definition at line 2424 of file h323caps.cxx.

References H323Capability::e_UserInput.

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.

Definition at line 2447 of file h323caps.cxx.

References subType.

PString H323_UserInputCapability::GetFormatName (  )  const [virtual]

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

Implements H323Capability.

Definition at line 2453 of file h323caps.cxx.

References subType, and SubTypeNames.

H323Channel * H323_UserInputCapability::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.

Definition at line 2459 of file h323caps.cxx.

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

Create the codec instance, allocating resources as required.

Parameters:
direction  Direction in which this instance runs

Implements H323Capability.

Definition at line 2469 of file h323caps.cxx.

static H245_GenericInformation* H323_UserInputCapability::BuildGenericIndication ( const char *  oid  )  [static]

Build Generic UserInputIndication

Parameters:
oid  OID of parameter

static H245_GenericParameter* H323_UserInputCapability::BuildGenericParameter ( unsigned  id,
unsigned  type,
const PString &  value 
) [static]

Parameters:
id  Standard Identifier of the parameter
type  H245_GenericParameter Type
value  Value of the parameter

Referenced by OnSendingPDU().

BOOL 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:
pdu  PDU to set information on

Implements H323Capability.

Definition at line 2516 of file h323caps.cxx.

References BuildGenericParameter(), H245_Capability::e_receiveRTPAudioTelephonyEventCapability, H245_Capability::e_receiveUserInputCapability, H245_CapabilityIdentifier::e_standard, H245_ParameterValue::e_unsignedMin, H249B_Softkey, H245_AudioTelephonyEventCapability::m_audioTelephoneEvent, H245_AudioTelephonyEventCapability::m_dynamicRTPPayloadType, H323Capability::rtpPayloadType, SignalToneRFC2833, subType, and subTypeOID.

BOOL 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:
pdu  PDU to set information on

Implements H323Capability.

Definition at line 2553 of file h323caps.cxx.

BOOL H323_UserInputCapability::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 2560 of file h323caps.cxx.

BOOL 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:
pdu  PDU to get information from

Reimplemented from H323Capability.

Definition at line 2567 of file h323caps.cxx.

References H245_Capability::e_receiveRTPAudioTelephonyEventCapability, H245_CapabilityIdentifier::e_standard, H245_AudioTelephonyEventCapability::m_dynamicRTPPayloadType, H323Capability::OnReceivedPDU(), H323Capability::rtpPayloadType, SignalToneRFC2833, subType, and subTypeOID.

BOOL H323_UserInputCapability::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 2600 of file h323caps.cxx.

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

Definition at line 2607 of file h323caps.cxx.

References H323Connection::GetControlVersion(), H323Connection::GetRemoteApplication(), SignalToneRFC2833, and subType.

void H323_UserInputCapability::AddAllCapabilities ( H323Capabilities capabilities,
PINDEX  descriptorNum,
PINDEX  simultaneous 
) [static]

Parameters:
capabilities  Table to add capabilities to
descriptorNum  The member of the capabilityDescriptor to add
simultaneous  The member of the SimultaneousCapabilitySet to add

Definition at line 2619 of file h323caps.cxx.

References BasicString, H249B_Softkey, H249C_PointDevice, H249D_Modal, H323_UserInputCapability(), HookFlashH245, H323Capabilities::SetCapability(), SignalToneH245, and SignalToneRFC2833.

Referenced by H323EndPoint::AddAllUserInputCapabilities(), and H323Capabilities::H323Capabilities().


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