Yate
Public Member Functions
IAXIEList Class Reference

Information Element container. More...

#include <yateiax.h>

List of all members.

Public Member Functions

 IAXIEList ()
 IAXIEList (const IAXFullFrame *frame, bool incoming=true)
 ~IAXIEList ()
bool invalidIEList () const
void clear ()
bool empty ()
void insertVersion ()
bool validVersion ()
void appendIE (IAXInfoElement *ie)
void appendNull (IAXInfoElement::Type type)
void appendString (IAXInfoElement::Type type, const String &src)
void appendString (IAXInfoElement::Type type, unsigned char *src, unsigned len)
void appendNumeric (IAXInfoElement::Type type, u_int32_t value, u_int8_t len)
void appendBinary (IAXInfoElement::Type type, unsigned char *data, unsigned len)
bool createFromFrame (const IAXFullFrame *frame, bool incoming=true)
void toBuffer (DataBlock &buf)
void toString (String &dest, const char *indent=0)
IAXInfoElementgetIE (IAXInfoElement::Type type)
bool getString (IAXInfoElement::Type type, String &dest)
bool getNumeric (IAXInfoElement::Type type, u_int32_t &dest)
bool getBinary (IAXInfoElement::Type type, DataBlock &dest)

Detailed Description

Information Element container.

Management class for a list of Information Elements


Constructor & Destructor Documentation

IAXIEList ( )

Constructor

IAXIEList ( const IAXFullFrame frame,
bool  incoming = true 
)

Constructor. Construct the list from an IAXFullFrame object

Parameters:
frameSource object
incomingTrue if it is an incoming frame
~IAXIEList ( )

Destructor


Member Function Documentation

void appendBinary ( IAXInfoElement::Type  type,
unsigned char *  data,
unsigned  len 
) [inline]

Append a binary Information Element to the list

Parameters:
typeThe type of the IAXInfoElementBinary to append
dataThe source data to append
lenSource length
void appendIE ( IAXInfoElement ie) [inline]

Append an Information Element to the list

Parameters:
ieIAXInfoElement pointer to append
void appendNull ( IAXInfoElement::Type  type) [inline]

Append an Information Element to the list

Parameters:
typeThe type of the IAXInfoElement to append
void appendNumeric ( IAXInfoElement::Type  type,
u_int32_t  value,
u_int8_t  len 
) [inline]

Append a numeric Information Element to the list

Parameters:
typeThe type of the IAXInfoElementNumeric to append
valueThe source
lenSource length
void appendString ( IAXInfoElement::Type  type,
const String src 
) [inline]

Append a text Information Element to the list from a String

Parameters:
typeThe type of the IAXInfoElementString to append
srcThe source

References String::c_str(), and String::length().

void appendString ( IAXInfoElement::Type  type,
unsigned char *  src,
unsigned  len 
) [inline]

Append a text Information Element to the list from a buffer

Parameters:
typeThe type of the IAXInfoElementString to append
srcThe source
lenSource length
void clear ( ) [inline]

Clear the list

bool createFromFrame ( const IAXFullFrame frame,
bool  incoming = true 
)

Construct the list from an IAXFullFrame object. On exit m_invalidIEList will contain the opposite of the returned value

Parameters:
frameSource object
incomingTrue if it is an incoming frame
Returns:
False if the frame contains invalid IEs
bool empty ( ) [inline]

Check if the list is empty

Returns:
True if the list is empty
bool getBinary ( IAXInfoElement::Type  type,
DataBlock dest 
)

Get the data of a list item into a DataBlock. Before any operation dest is cleared

Parameters:
typeThe desired type
destThe destination buffer
Returns:
False if the list doesn't contain an IE of this type

Get an IAXInfoElement from the list

Parameters:
typeThe desired type
Returns:
An IAXInfoElement pointer or 0 if the list doesn't contain an IE of this type
bool getNumeric ( IAXInfoElement::Type  type,
u_int32_t &  dest 
)

Get the data of a list item into a numeric destination

Parameters:
typeThe desired type
destThe destination
Returns:
False if the list doesn't contain an IE of this type
bool getString ( IAXInfoElement::Type  type,
String dest 
)

Get the data of a list item into a String. Before any operation dest is cleared

Parameters:
typeThe desired type
destThe destination String
Returns:
False if the list doesn't contain an IE of this type
void insertVersion ( )

Insert a VERSION Information Element in the list if not already done

bool invalidIEList ( ) const [inline]

Get the invalid IE list flag

Returns:
False if the last frame parse was unsuccessful
void toBuffer ( DataBlock buf)

Construct a buffer from this list

Parameters:
bufDestination buffer
void toString ( String dest,
const char *  indent = 0 
)

Add this list to a string

Parameters:
destDestination string
indentOptional indent for each element
bool validVersion ( ) [inline]

Get the validity of the VERSION Information Element of the list if any

Returns:
False if version is not IAX_PROTOCOL_VERSION or the list doesn't contain a VERSION Information Element

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