# H323NonStandardCapabilityInfo Class Reference

`#include <h323caps.h>`

Inheritance diagram for H323NonStandardCapabilityInfo:

[legend]

## Public Types

typedef PObject::Comparison(*) | CompareFuncType (struct PluginCodec_H323NonStandardCodecData *)

## Public Member Functions

| H323NonStandardCapabilityInfo (CompareFuncType compareFunc, const BYTE *dataBlock, PINDEX dataSize)
| H323NonStandardCapabilityInfo (const BYTE *dataBlock, PINDEX dataSize, PINDEX comparisonOffset=0, PINDEX comparisonLength=P_MAX_INDEX)
| H323NonStandardCapabilityInfo (const PString &oid, const BYTE *dataBlock, PINDEX dataSize, PINDEX comparisonOffset=0, PINDEX comparisonLength=P_MAX_INDEX)
| H323NonStandardCapabilityInfo (BYTE country, BYTE extension, WORD maufacturer, const BYTE *dataBlock, PINDEX dataSize, PINDEX comparisonOffset=0, PINDEX comparisonLength=P_MAX_INDEX)
virtual | ~H323NonStandardCapabilityInfo ()
virtual PBoolean | OnSendingPDU (PBYTEArray &data) const
virtual PBoolean | OnReceivedPDU (const PBYTEArray &data)
PBoolean | IsMatch (const H245_NonStandardParameter &param) const
PObject::Comparison | CompareParam (const H245_NonStandardParameter &param) const

## Protected Member Functions

PBoolean | OnSendingNonStandardPDU (PASN_Choice &pdu, unsigned nonStandardTag) const
PBoolean | OnReceivedNonStandardPDU (const PASN_Choice &pdu, unsigned nonStandardTag)
PObject::Comparison | CompareInfo (const H323NonStandardCapabilityInfo &obj) const
PObject::Comparison | CompareData (const PBYTEArray &data) const

## Protected Attributes

PString | oid
BYTE | t35CountryCode
BYTE | t35Extension
WORD | manufacturerCode
PBYTEArray | nonStandardData
PINDEX | comparisonOffset
PINDEX | comparisonLength
CompareFuncType | compareFunc

## Detailed Description

This class describes the interface to a non-standard codec used to transfer data via the logical channels opened and managed by the H323 control channel.

It is expected that an application makes a descendent off H323NonStandardAudioCapability or H323NonStandardVideoCapability which multiply inherit from this class.

## Member Typedef Documentation

typedef PObject::Comparison(*) H323NonStandardCapabilityInfo::CompareFuncType(struct PluginCodec_H323NonStandardCodecData *)

## Constructor & Destructor Documentation

H323NonStandardCapabilityInfo::H323NonStandardCapabilityInfo | ( | CompareFuncType | compareFunc,
|  | const BYTE * | dataBlock,
|  | PINDEX | dataSize |
| ) |  |  |

Create a new set of information about a non-standard codec.

Parameters:

  dataBlock | Non-Standard data for codec type
  dataSize | Size of dataBlock. If 0 and dataBlock != NULL use strlen(dataBlock)

H323NonStandardCapabilityInfo::H323NonStandardCapabilityInfo | ( | const BYTE * | dataBlock,
|  | PINDEX | dataSize,
|  | PINDEX | comparisonOffset = `0`,
|  | PINDEX | comparisonLength = `P_MAX_INDEX` |
| ) |  |  |

Create a new set of information about a non-standard codec.

Parameters:

  dataBlock | Non-Standard data for codec type
  dataSize | Size of dataBlock. If 0 and dataBlock != NULL use strlen(dataBlock)
  comparisonOffset | Offset into dataBlock to compare
  comparisonLength | Length of bytes to compare

H323NonStandardCapabilityInfo::H323NonStandardCapabilityInfo | ( | const PString & | oid,
|  | const BYTE * | dataBlock,
|  | PINDEX | dataSize,
|  | PINDEX | comparisonOffset = `0`,
|  | PINDEX | comparisonLength = `P_MAX_INDEX` |
| ) |  |  |

Create a new set of information about a non-standard codec.

Parameters:

  dataBlock | Non-Standard data for codec type
  dataSize | Size of dataBlock. If 0 and dataBlock != NULL use strlen(dataBlock)

H323NonStandardCapabilityInfo::H323NonStandardCapabilityInfo | ( | BYTE | country,
|  | BYTE | extension,
|  | WORD | maufacturer,
|  | const BYTE * | dataBlock,
|  | PINDEX | dataSize,
|  | PINDEX | comparisonOffset = `0`,
|  | PINDEX | comparisonLength = `P_MAX_INDEX` |
| ) |  |  |

Create a new set of information about a non-standard codec.

Parameters:

  country | t35 information
  extension | t35 information
  maufacturer | t35 information
  dataBlock | Non-Standard data for codec type
  dataSize | Size of dataBlock. If 0 and dataBlock != NULL use strlen(dataBlock)
  comparisonOffset | Offset into dataBlock to compare
  comparisonLength | Length of bytes to compare

virtual H323NonStandardCapabilityInfo::~H323NonStandardCapabilityInfo | ( |  | ) | `[virtual]`

Destroy the capability information

## Member Function Documentation

PObject::Comparison H323NonStandardCapabilityInfo::CompareData | ( | const PBYTEArray & | data | ) | const`[protected]`

Parameters:

  data | Data field in PDU received

PObject::Comparison H323NonStandardCapabilityInfo::CompareInfo | ( | const H323NonStandardCapabilityInfo & | obj | ) | const`[protected]`

PObject::Comparison H323NonStandardCapabilityInfo::CompareParam | ( | const H245_NonStandardParameter & | param | ) | const

PBoolean H323NonStandardCapabilityInfo::IsMatch | ( | const H245_NonStandardParameter & | param | ) | const

PBoolean H323NonStandardCapabilityInfo::OnReceivedNonStandardPDU | ( | const PASN_Choice & | pdu,
|  | unsigned | nonStandardTag |
| ) |  |  | `[protected]`

virtual PBoolean H323NonStandardCapabilityInfo::OnReceivedPDU | ( | const PBYTEArray & | data | ) | `[virtual]`

This function validates and uses the non-standard data field.

The default behaviour returns true if data is equal to fixedData.

Parameters:

  data | Data field in PDU received

PBoolean H323NonStandardCapabilityInfo::OnSendingNonStandardPDU | ( | PASN_Choice & | pdu,
|  | unsigned | nonStandardTag |
| ) |  |  | const`[protected]`

virtual PBoolean H323NonStandardCapabilityInfo::OnSendingPDU | ( | PBYTEArray & | data | ) | const`[virtual]`

This function gets the non-standard data field.

The default behaviour sets data to fixedData.

Parameters:

  data | Data field in PDU to send

## Field Documentation

CompareFuncType H323NonStandardCapabilityInfo::compareFunc `[protected]`

PINDEX H323NonStandardCapabilityInfo::comparisonLength `[protected]`

PINDEX H323NonStandardCapabilityInfo::comparisonOffset `[protected]`

WORD H323NonStandardCapabilityInfo::manufacturerCode `[protected]`

PBYTEArray H323NonStandardCapabilityInfo::nonStandardData `[protected]`

PString H323NonStandardCapabilityInfo::oid `[protected]`

BYTE H323NonStandardCapabilityInfo::t35CountryCode `[protected]`

BYTE H323NonStandardCapabilityInfo::t35Extension `[protected]`

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

- h323caps.h