OPAL
Version 3.18.8
|
#include <mediafmt.h>
Public Types | |
enum | StandardClockRate { AudioClockRate = 8000, VideoClockRate = 90000 } |
typedef OpalMediaFormatInternal | Internal |
Public Member Functions | |
OpalMediaFormat (const OpalMediaFormat &c) | |
virtual | ~OpalMediaFormat () |
OpalMediaFormat & | operator= (const OpalMediaFormat &c) |
virtual PBoolean | MakeUnique () |
OpalMediaFormat (Internal *info=NULL, bool dynamic=false) | |
OpalMediaFormat (const char *fullName, const OpalMediaType &mediaType, RTP_DataFrame::PayloadTypes rtpPayloadType, const char *encodingName, PBoolean needsJitter, OpalBandwidth bandwidth, PINDEX frameSize, unsigned frameTime, unsigned clockRate, time_t timeStamp=0, bool allowMultiple=false) | |
OpalMediaFormat (RTP_DataFrame::PayloadTypes rtpPayloadType, unsigned clockRate, const char *rtpEncodingName=NULL, const char *protocol=NULL) | |
OpalMediaFormat (const char *wildcard) | |
OpalMediaFormat (const PString &wildcard) | |
OpalMediaFormat & | operator= (RTP_DataFrame::PayloadTypes rtpPayloadType) |
OpalMediaFormat & | operator= (const char *wildcard) |
OpalMediaFormat & | operator= (const PString &wildcard) |
virtual PObject * | Clone () const |
virtual Comparison | Compare (const PObject &obj) const |
virtual void | PrintOn (ostream &strm) const |
virtual void | ReadFrom (istream &strm) |
bool | ToNormalisedOptions () |
bool | ToCustomisedOptions () |
bool | Update (const OpalMediaFormat &mediaFormat) |
bool | Merge (const OpalMediaFormat &mediaFormat, bool copyPayloadType=false) |
bool | ValidateMerge (const OpalMediaFormat &mediaFormat) const |
PString | GetName () const |
PString | GetDescription () const |
PBoolean | IsValid () const |
PBoolean | IsTransportable () const |
RTP_DataFrame::PayloadTypes | GetPayloadType () const |
void | SetPayloadType (RTP_DataFrame::PayloadTypes type) |
const char * | GetEncodingName () const |
OpalMediaType | GetMediaType () const |
bool | IsMediaType (const OpalMediaType &mediaType) const |
bool | NeedsJitterBuffer () const |
OpalBandwidth | GetMaxBandwidth () const |
OpalBandwidth | GetUsedBandwidth () const |
PINDEX | GetFrameSize () const |
unsigned | GetFrameTime () const |
unsigned | GetTimeUnits () const |
unsigned | GetClockRate () const |
P_DECLARE_STREAMABLE_BITWISE_ENUM_EX (RTCPFeedback, 8,(e_NoRTCPFb, e_PLI, e_FIR, e_TMMBR, e_TSTR, e_VBCM, e_NACK, e_SLI, e_REMB),"","pli","fir","tmmbr","tstr","vcbm","nack","sli","remb") | |
RTP/RTCP Feedback options. More... | |
PStringToString | GetOptions () const |
PINDEX | GetOptionCount () const |
const OpalMediaOption & | GetOption (PINDEX index) const |
bool | GetOptionValue (const PString &name, PString &value) const |
bool | SetOptionValue (const PString &name, const PString &value) |
bool | GetOptionBoolean (const PString &name, bool dflt=false) const |
bool | SetOptionBoolean (const PString &name, bool value) |
int | GetOptionInteger (const PString &name, int dflt=0) const |
bool | SetOptionInteger (const PString &name, int value) |
RTP_DataFrame::PayloadTypes | GetOptionPayloadType (const PString &name, RTP_DataFrame::PayloadTypes dflt=RTP_DataFrame::IllegalPayloadType) const |
double | GetOptionReal (const PString &name, double dflt=0) const |
bool | SetOptionReal (const PString &name, double value) |
template<typename Enum > | |
Enum | GetOptionEnum (const PString &name, Enum dflt=(Enum) 0) const |
template<typename Enum > | |
bool | SetOptionEnum (const PString &name, Enum value) |
PString | GetOptionString (const PString &name, const PString &dflt=PString::Empty()) const |
bool | SetOptionString (const PString &name, const PString &value) |
bool | GetOptionOctets (const PString &name, PBYTEArray &octets) const |
bool | SetOptionOctets (const PString &name, const PBYTEArray &octets) |
bool | SetOptionOctets (const PString &name, const BYTE *data, PINDEX length) |
bool | AddOption (OpalMediaOption *option, PBoolean overwrite=false) |
bool | HasOption (const PString &name) const |
OpalMediaOption * | FindOption (const PString &name) const |
template<class T > | |
T * | FindOptionAs (const PString &name) const |
bool | IsValidForProtocol (const PString &protocol) const |
time_t | GetCodecVersionTime () const |
ostream & | PrintOptions (ostream &strm) const |
void | AdjustVideoArgs (PVideoDevice::OpenArgs &args) const |
virtual PBoolean | IsEmpty () const |
operator PString () const | |
operator const char * () const | |
bool | operator== (const char *other) const |
bool | operator!= (const char *other) const |
bool | operator== (const PString &other) const |
bool | operator!= (const PString &other) const |
bool | operator== (const OpalMediaFormat &other) const |
bool | operator!= (const OpalMediaFormat &other) const |
PStringArray | GetMediaPacketizations () const |
PStringSet | GetMediaPacketizationSet () const |
void | SetMediaPacketizations (const PStringSet &packetizations) |
Static Public Member Functions | |
static const PString & | DescriptionOption () |
static const PString & | NeedsJitterOption () |
static const PString & | MaxBitRateOption () |
static const PString & | TargetBitRateOption () |
static const PString & | MaxFrameSizeOption () |
static const PString & | FrameTimeOption () |
static const PString & | ClockRateOption () |
static const PString & | ProtocolOption () |
static const PString & | MaxTxPacketSizeOption () |
static const PString & | RTCPFeedbackOption () |
RTP/RTCP Feedback options. More... | |
static OpalMediaFormatList | GetAllRegisteredMediaFormats () |
static void | GetAllRegisteredMediaFormats (OpalMediaFormatList ©) |
static bool | RegisterKnownMediaFormats (const PString &name=PString::Empty()) |
static bool | SetRegisteredMediaFormat (const OpalMediaFormat &mediaFormat) |
static bool | RemoveRegisteredMediaFormats (const PString &wildcard) |
static const PString & | MediaPacketizationOption () |
static const PString & | MediaPacketizationsOption () |
Protected Member Functions | |
virtual void | DestroyContents () |
virtual void | AssignContents (const PContainer &c) |
void | Construct (OpalMediaFormatInternal *info) |
PDECLARE_MUTEX (m_mutex, OpalMediaFormat, 1000) | |
Protected Attributes | |
OpalMediaFormatInternal * | m_info |
bool | m_dynamic |
Friends | |
class | OpalMediaFormatInternal |
class | OpalMediaFormatList |
class | OpalAudioFormat |
class | OpalVideoFormat |
bool | operator== (const char *other, const OpalMediaFormat &fmt) |
bool | operator!= (const char *other, const OpalMediaFormat &fmt) |
bool | operator== (const PString &other, const OpalMediaFormat &fmt) |
bool | operator!= (const PString &other, const OpalMediaFormat &fmt) |
This class describes a media format as used in the OPAL system. A media format is the type of any media data that is trasferred between OPAL entities. For example an audio codec such as G.723.1 is a media format, a video codec such as H.261 is also a media format.
OpalMediaFormat::OpalMediaFormat | ( | const OpalMediaFormat & | c | ) |
|
virtual |
|
explicit |
Default constructor creates a PCM-16 media format.
OpalMediaFormat::OpalMediaFormat | ( | const char * | fullName, |
const OpalMediaType & | mediaType, | ||
RTP_DataFrame::PayloadTypes | rtpPayloadType, | ||
const char * | encodingName, | ||
PBoolean | needsJitter, | ||
OpalBandwidth | bandwidth, | ||
PINDEX | frameSize, | ||
unsigned | frameTime, | ||
unsigned | clockRate, | ||
time_t | timeStamp = 0 , |
||
bool | allowMultiple = false |
||
) |
This form of the constructor will register the full details of the media format into an internal database. This would typically be used as a static global. In fact it would be very dangerous for an instance to use this constructor in any other way, especially local variables.
If the rtpPayloadType is RTP_DataFrame::DynamicBase, then the RTP payload type is actually set to the first unused dynamic RTP payload type that is in the registers set of media formats.
The frameSize parameter indicates that the media format has a maximum size for each data frame, eg G.723.1 frames are no more than 24 bytes long. If zero then there is no intrinsic maximum, eg G.711.
fullName | Full name of media format |
mediaType | media type for this format |
rtpPayloadType | RTP payload type code |
encodingName | RTP encoding name |
needsJitter | Indicate format requires a jitter buffer |
bandwidth | Bandwidth in bits/second |
frameSize | Size of frame in bytes (if applicable) |
frameTime | Time for frame in RTP units (if applicable) |
clockRate | Clock rate for data (if applicable) |
timeStamp | timestamp (for versioning) |
allowMultiple | allow multiple copies of media format in list |
OpalMediaFormat::OpalMediaFormat | ( | RTP_DataFrame::PayloadTypes | rtpPayloadType, |
unsigned | clockRate, | ||
const char * | rtpEncodingName = NULL , |
||
const char * | protocol = NULL |
||
) |
Construct a media format, searching database for information. This constructor will search through the RegisteredMediaFormats list for the match of the payload type, if found the other information fields are set from the database. If not found then the ancestor string is set to the empty string.
Note it is impossible to determine the order of registration so this should not be relied on.
rtpPayloadType | RTP payload type code |
clockRate | clock rate |
rtpEncodingName | RTP payload type name |
protocol | valid protocol (if NULL, then all) |
OpalMediaFormat::OpalMediaFormat | ( | const char * | wildcard | ) |
Construct a media format, searching database for information. This constructor will search through the RegisteredMediaFormats list for the wildcard match of the parameter string, if found the other information fields are set from the database. If not found then the ancestor string is set to the empty string.
The wildcard string is a simple substring match using the '*' character. For example: "G.711*" would match the first of "G.711-uLaw-64k" and "G.711-ALaw-64k" to have been registered.
Note it is impossible to determine the order of registration so this should not be relied on.
wildcard | Wildcard name to search for |
OpalMediaFormat::OpalMediaFormat | ( | const PString & | wildcard | ) |
Construct a media format, searching database for information. This constructor will search through the RegisteredMediaFormats list for the wildcard match of the parameter string, if found the other information fields are set from the database. If not found then the ancestor string is set to the empty string.
The wildcard string is a simple substring match using the '*' character. For example: "G.711*" would match the first of "G.711-uLaw-64k" and "G.711-ALaw-64k" to have been registered.
Note it is impossible to determine the order of registration so this should not be relied on.
wildcard | Wildcard name to search for |
|
inline |
Add a new option to this media format
References OpalMediaFormatInternal::AddOption(), m_info, and MakeUnique().
void OpalMediaFormat::AdjustVideoArgs | ( | PVideoDevice::OpenArgs & | args | ) | const |
Adjust the video device arguments from the media format.
args | Videoo device arguments to adjust |
|
protectedvirtual |
Referenced by operator=().
|
static |
Referenced by GetClockRate().
|
virtual |
Create a copy of the media format.
|
virtual |
Compare two media formats.
Referenced by operator!=(), and operator==().
|
protected |
|
static |
Referenced by GetDescription().
|
protectedvirtual |
|
inline |
Get a pointer to the specified media format option. Returns NULL if thee option does not exist.
References OpalMediaFormatInternal::FindOption(), and m_info.
Referenced by FindOptionAs().
|
inline |
Get a pointer to the specified media format option. Returns NULL if thee option does not exist.
References FindOption().
|
static |
Referenced by GetFrameTime().
|
static |
Get a copy of the list of media formats that have been registered.
|
static |
copy | List to receive the copy of the master list |
|
inline |
Get the clock rate in Hz for this format.
References AudioClockRate, ClockRateOption(), and GetOptionInteger().
Referenced by GetTimeUnits().
|
inline |
References OpalMediaFormatInternal::codecVersionTime, and m_info.
|
inline |
Get the description string for the media format.
References DescriptionOption(), and GetOptionString().
|
inline |
Get the RTP encoding name that is to be used for this media format.
References m_info, and OpalMediaFormatInternal::rtpEncodingName.
|
inline |
Get the maximum frame size in bytes. If this returns zero then the media format has no intrinsic maximum frame size, eg a video format would return zero but G.723.1 would return 24.
References GetOptionInteger(), and MaxFrameSizeOption().
|
inline |
Get the frame time in RTP timestamp units. If this returns zero then the media format is not real time and has no intrinsic timing eg T.120
References FrameTimeOption(), and GetOptionInteger().
|
inline |
Get the maximum bandwidth used in bits/second.
References GetOptionInteger(), and MaxBitRateOption().
PStringArray OpalMediaFormat::GetMediaPacketizations | ( | ) | const |
Referenced by GetMediaPacketizationSet().
|
inline |
References GetMediaPacketizations().
|
inline |
Get the media type for this format
References m_info, and OpalMediaFormatInternal::mediaType.
|
inline |
Get the name of the format
References OpalMediaFormatInternal::formatName, and m_info.
Referenced by MakeOpalTranscoderKey().
|
inline |
Get the option instance at the specified index. This contains the description and value for the option.
index | Index of option in list to get |
References m_info, and OpalMediaFormatInternal::options.
|
inline |
Get the option value of the specified name as a boolean. The default value is returned if the option is not present.
name | Option name |
dflt | Default value if option not present |
References OpalMediaFormatInternal::GetOptionBoolean(), and m_info.
Referenced by NeedsJitterBuffer().
|
inline |
Get the number of options this media format has.
References m_info, and OpalMediaFormatInternal::options.
|
inline |
Get the option value of the specified name as an index into an enumeration list. If the merge mode is IntersectionMerge, then the enum is assume to be a PBitwiseEnum and the multiple names separated by spaces can be used.
The default value is returned if the option is not present.
name | Option name |
dflt | Default value if option not present |
References OpalMediaFormatInternal::GetOptionEnum(), and m_info.
|
inline |
Get the option value of the specified name as an integer. The default value is returned if the option is not present.
name | Option name |
dflt | Default value if option not present |
References OpalMediaFormatInternal::GetOptionInteger(), and m_info.
Referenced by GetClockRate(), GetFrameSize(), GetFrameTime(), GetMaxBandwidth(), and GetUsedBandwidth().
|
inline |
Get the option value of the specified name as an octet array. Returns false if not present.
name | Option name |
octets | Octets in option |
References OpalMediaFormatInternal::GetOptionOctets(), and m_info.
|
inline |
Get the option value of the specified name as a payload type. The default value is returned if the option is not present.
name | Option name |
dflt | Default value if option not present |
References OpalMediaFormatInternal::GetOptionInteger(), and m_info.
|
inline |
Get the option value of the specified name as a real. The default value is returned if the option is not present.
name | Option name |
dflt | Default value if option not present |
References OpalMediaFormatInternal::GetOptionReal(), and m_info.
|
inline |
Get all of the option values of the format as a dictionary. Each entry is a name value pair.
References OpalMediaFormatInternal::GetOptions(), and m_info.
|
inline |
Get the option value of the specified name as a string. The default value is returned if the option is not present.
name | Option name |
dflt | Default value if option not present |
References OpalMediaFormatInternal::GetOptionString(), and m_info.
Referenced by GetDescription().
|
inline |
Get the option value of the specified name as a string.
Returns false of the option is not present.
name | Option name |
value | String to receive option value |
References OpalMediaFormatInternal::GetOptionValue(), and m_info.
|
inline |
Get the RTP payload type that is to be used for this media format. This will either be an intrinsic one for the media format eg GSM or it will be automatically calculated as a dynamic media format that will be uniqueue amongst the registered media formats.
References RTP_DataFrame::IllegalPayloadType, m_info, and OpalMediaFormatInternal::rtpPayloadType.
Referenced by H323Capability::GetPayloadType().
|
inline |
Get the number of RTP timestamp units per millisecond.
References GetClockRate().
|
inline |
Get the used bandwidth used in bits/second.
References GetOptionInteger(), MaxBitRateOption(), and TargetBitRateOption().
|
inline |
Determine if media format has the specified option.
References OpalMediaFormatInternal::FindOption(), and m_info.
|
inlinevirtual |
References OpalMediaFormatInternal::IsValid(), and m_info.
bool OpalMediaFormat::IsMediaType | ( | const OpalMediaType & | mediaType | ) | const |
Test if media type for this format. Note this should be used
|
inline |
Return true if media format info may be sent via RTP. Some formats are internal use only and are never transported "over the wire".
References OpalMediaFormatInternal::IsTransportable(), and m_info.
|
inline |
Return true if media format info is valid. This may be used if the single string constructor is used to check that it matched something in the registered media formats database.
References OpalMediaFormatInternal::IsValid(), and m_info.
|
inline |
Returns true if the media format is valid for the protocol specified This allow plugin codecs to customise which protocols they are valid for The default implementation returns true unless the protocol is H.323 and the rtpEncodingName is NULL
References OpalMediaFormatInternal::IsValidForProtocol(), and m_info.
|
virtual |
|
static |
Referenced by GetMaxBandwidth(), and GetUsedBandwidth().
|
static |
Referenced by GetFrameSize().
|
static |
Get the name of the OpalMediaOption indicating the maximum RTP payload size. Note this is a read only parameter and not generally set by the user. It is intended to get the OpalManager::GetMaxRtpPayloadSize() value to the codec (especially plug ins) before encoding starts in case the codec requires some form of initialisation based on this value.
|
static |
|
static |
bool OpalMediaFormat::Merge | ( | const OpalMediaFormat & | mediaFormat, |
bool | copyPayloadType = false |
||
) |
Merge with another media format. This will alter and validate the options for this media format according to the merge rule for each option. The parameter is typically a "capability" while the current object isthe proposed channel format. This if the current object has a tx number of frames of 3, but the parameter has a value of 1, then the current object will be set to 1.
Returns false if the media formats are incompatible and cannot be merged.
|
inline |
Determine if the media format requires a jitter buffer. As a rule an audio codec needs a jitter buffer and all others do not.
References GetOptionBoolean(), and NeedsJitterOption().
|
static |
Referenced by NeedsJitterBuffer().
|
inline |
References OpalMediaFormatInternal::formatName, and m_info.
|
inline |
References OpalMediaFormatInternal::formatName, and m_info.
|
inline |
References OpalMediaFormatInternal::formatName, and m_info.
|
inline |
References OpalMediaFormatInternal::formatName, and m_info.
|
inline |
References Compare().
|
inline |
References AssignContents().
OpalMediaFormat& OpalMediaFormat::operator= | ( | RTP_DataFrame::PayloadTypes | rtpPayloadType | ) |
Search for the specified format type. This is equivalent to going fmt = OpalMediaFormat(rtpPayloadType);
rtpPayloadType | RTP payload type code |
OpalMediaFormat& OpalMediaFormat::operator= | ( | const char * | wildcard | ) |
Search for the specified format name. This is equivalent to going fmt = OpalMediaFormat(search);
wildcard | Wildcard name to search for |
OpalMediaFormat& OpalMediaFormat::operator= | ( | const PString & | wildcard | ) |
Search for the specified format name. This is equivalent to going fmt = OpalMediaFormat(search);
wildcard | Wildcard name to search for |
|
inline |
References OpalMediaFormatInternal::formatName, and m_info.
|
inline |
References OpalMediaFormatInternal::formatName, and m_info.
|
inline |
References Compare().
OpalMediaFormat::P_DECLARE_STREAMABLE_BITWISE_ENUM_EX | ( | RTCPFeedback | , |
8 | , | ||
(e_NoRTCPFb, e_PLI, e_FIR, e_TMMBR, e_TSTR, e_VBCM, e_NACK, e_SLI, e_REMB) | , | ||
"" | , | ||
"pli" | , | ||
"fir" | , | ||
"tmmbr" | , | ||
"tstr" | , | ||
"vcbm" | , | ||
"nack" | , | ||
"sli" | , | ||
"remb" | |||
) |
RTP/RTCP Feedback options.
|
protected |
|
virtual |
Print media format. Note if the user specifies a width (using setw() for example) of -1, then a details multi-line output of all the options for the format is included.
|
inline |
References m_info.
|
static |
Get the name of the OpalMediaOption indicating the protocol the format is being used on.
|
virtual |
Read media format.
|
static |
Register all "known" media formats. If an application has some other mechanism of taking encoded media, the codec plug ins may not be used. In which case media formats that OPAL knows how to interpret, but not transcode, may be registered with this function.
name | Name for known media format name to register |
|
static |
Remove the media format from master format list entry. Returns false if for matching formats are found.
wildcard | Media format to remove from master list |
|
static |
RTP/RTCP Feedback options.
void OpalMediaFormat::SetMediaPacketizations | ( | const PStringSet & | packetizations | ) |
|
inline |
Set the option value of the specified name as a boolean. Note the option will not be added if it does not exist, the option must be explicitly added using AddOption().
Returns false of the option is not present or is not of the same type.
name | Option name |
value | New value for option |
References m_info, MakeUnique(), and OpalMediaFormatInternal::SetOptionBoolean().
|
inline |
Set the option value of the specified name as an index into an enumeration. If the merge mode is IntersectionMerge, then the enum is assume to be a PBitwiseEnum and the multiple names separated by spaces can be used.
Note the option will not be added if it does not exist, the option must be explicitly added using AddOption().
Returns false of the option is not present or is not of the same type.
name | Option name |
value | New value for option |
References m_info, MakeUnique(), and OpalMediaFormatInternal::SetOptionEnum().
|
inline |
Set the option value of the specified name as an integer. Note the option will not be added if it does not exist, the option must be explicitly added using AddOption().
Returns false of the option is not present, not of the same type or is putside the allowable range.
name | Option name |
value | New value for option |
References m_info, MakeUnique(), and OpalMediaFormatInternal::SetOptionInteger().
|
inline |
Set the option value of the specified name as an octet array. Note the option will not be added if it does not exist, the option must be explicitly added using AddOption().
Returns false of the option is not present or is not of the same type.
name | Option name |
octets | Octets in option |
References m_info, MakeUnique(), and OpalMediaFormatInternal::SetOptionOctets().
|
inline |
name | Option name |
data | Octets in option |
length | Number of octets |
References m_info, MakeUnique(), and OpalMediaFormatInternal::SetOptionOctets().
|
inline |
Set the option value of the specified name as a real. Note the option will not be added if it does not exist, the option must be explicitly added using AddOption().
Returns false of the option is not present or is not of the same type.
name | Option name |
value | New value for option |
References m_info, MakeUnique(), and OpalMediaFormatInternal::SetOptionReal().
|
inline |
Set the option value of the specified name as a string. Note the option will not be added if it does not exist, the option must be explicitly added using AddOption().
Returns false of the option is not present or is not of the same type.
name | Option name |
value | New value for option |
References m_info, MakeUnique(), and OpalMediaFormatInternal::SetOptionString().
|
inline |
Set the option value of the specified name as a string. Note the option will not be added if it does not exist, the option must be explicitly added using AddOption().
Returns false of the option is not present.
name | Option name |
value | New option value as string |
References m_info, MakeUnique(), and OpalMediaFormatInternal::SetOptionValue().
|
inline |
References m_info, MakeUnique(), and OpalMediaFormatInternal::rtpPayloadType.
Referenced by H323Capability::SetPayloadType().
|
static |
Set the options on the master format list entry. The media format must already be registered. Returns false if not.
mediaFormat | Media format to copy to master list |
|
static |
Referenced by GetUsedBandwidth().
bool OpalMediaFormat::ToCustomisedOptions | ( | ) |
This will do the reverse of ToNormalisedOptions, translating the OPAL "normalised" options to codec specific "custom" options.
bool OpalMediaFormat::ToNormalisedOptions | ( | ) |
This will translate the codec specific "custom" options to OPAL "normalised" options, e.g. For H.261 "QCIF MPI"="1", "CIF MPI"="5" would be translated to "Frame Width"="176", "Frame Height"="144".
bool OpalMediaFormat::Update | ( | const OpalMediaFormat & | mediaFormat | ) |
Update media format information.
bool OpalMediaFormat::ValidateMerge | ( | const OpalMediaFormat & | mediaFormat | ) | const |
Return true if the given mediaFormat will successfully merge.
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
protected |
|
protected |
Referenced by AddOption(), FindOption(), GetCodecVersionTime(), GetEncodingName(), GetMediaType(), GetName(), GetOption(), GetOptionBoolean(), GetOptionCount(), GetOptionEnum(), GetOptionInteger(), GetOptionOctets(), GetOptionPayloadType(), GetOptionReal(), GetOptions(), GetOptionString(), GetOptionValue(), GetPayloadType(), HasOption(), IsEmpty(), IsTransportable(), IsValid(), IsValidForProtocol(), operator const char *(), operator PString(), operator!=(), operator==(), PrintOptions(), SetOptionBoolean(), SetOptionEnum(), SetOptionInteger(), SetOptionOctets(), SetOptionReal(), SetOptionString(), SetOptionValue(), and SetPayloadType().