#include <h323caps.h>
Inheritance diagram for H323_UserInputCapability:
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) | |
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 |
Operations | |
virtual H323Channel * | CreateChannel (H323Connection &connection, H323Channel::Directions dir, unsigned sessionID, const H245_H2250LogicalChannelParameters *param) 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 | OnReceivedPDU (const H245_Capability &pdu) |
virtual PBoolean | OnReceivedPDU (const H245_DataType &pdu, PBoolean receiver) |
virtual PBoolean | IsUsable (const H323Connection &connection) const |
Static Public Member Functions | |
static void | AddAllCapabilities (H323Capabilities &capabilities, PINDEX descriptorNum, PINDEX simultaneous) |
Protected Attributes | |
SubTypes | subType |
H323_UserInputCapability::H323_UserInputCapability | ( | SubTypes | subType | ) |
Create the capability for User Input. The subType parameter is a value from the enum H245_UserInputCapability::Choices.
static const char* H323_UserInputCapability::GetSubTypeName | ( | SubTypes | subType | ) | [static] |
virtual PObject* H323_UserInputCapability::Clone | ( | ) | const [virtual] |
Create a copy of the object.
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.
virtual PString H323_UserInputCapability::GetFormatName | ( | ) | const [virtual] |
Get the name of the media data format this class represents.
Implements H323Capability.
virtual 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.
connection | Owner connection for channel |
dir | Direction of channel |
sessionID | Session ID for RTP channel |
param | Parameters for channel |
Implements 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.
pdu | PDU 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.
pdu | PDU to set information on |
Reimplemented from H323Capability.
virtual PBoolean 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.
pdu | PDU to set information on |
Implements 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 PFalse then the received PDU codec description is not supported, so will be ignored. The default behaviour simply returns PTrue.
pdu | PDU 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.
pdu | PDU to get information from |
receiver | Is receiver OLC |
Reimplemented from H323Capability.
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 PFalse for RFC2833 mode.
Reimplemented from H323Capability.
static void H323_UserInputCapability::AddAllCapabilities | ( | H323Capabilities & | capabilities, | |
PINDEX | descriptorNum, | |||
PINDEX | simultaneous | |||
) | [static] |
capabilities | Table to add capabilities to |
descriptorNum | The member of the capabilityDescriptor to add |
simultaneous | The member of the SimultaneousCapabilitySet to add |
ostream& operator<< | ( | ostream & | strm, | |
SubTypes | subType | |||
) | [friend] |
SubTypes H323_UserInputCapability::subType [protected] |