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 ()
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 (  )  [inline]

Constructor

IAXIEList ( const IAXFullFrame frame,
bool  incoming = true 
) [inline]

Constructor. Construct the list from an IAXFullFrame object

Parameters:
frame Source object
incoming True if it is an incoming frame

~IAXIEList (  )  [inline]

Destructor


Member Function Documentation

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

Append a binary Information Element to the list

Parameters:
type The type of the IAXInfoElementBinary to append
value The source
len Source length

void appendIE ( IAXInfoElement ie  )  [inline]

Append an Information Element to the list

Parameters:
ie IAXInfoElement pointer to append

void appendNull ( IAXInfoElement::Type  type  )  [inline]

Append an Information Element to the list

Parameters:
type The 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:
type The type of the IAXInfoElementNumeric to append
value The source
len Source length

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

Append a text Information Element to the list from a buffer

Parameters:
type The type of the IAXInfoElementString to append
src The source
len Source length

void appendString ( IAXInfoElement::Type  type,
const String src 
) [inline]

Append a text Information Element to the list from a String

Parameters:
type The type of the IAXInfoElementString to append
src The source

References String::c_str(), and String::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:
frame Source object
incoming True if it is an incoming frame
Returns:
False if the frame contains invalid IEs

bool getBinary ( IAXInfoElement::Type  type,
DataBlock dest 
)

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

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

IAXInfoElement* getIE ( IAXInfoElement::Type  type  ) 

Get an IAXInfoElement from the list

Parameters:
type The 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:
type The desired type
dest The 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:
type The desired type
dest The 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:
buf Destination buffer

void toString ( String dest,
const char *  indent = 0 
)

Add this list to a string

Parameters:
dest Destination string
indent Optional 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:

Generated on Sun Dec 7 21:36:12 2008 for Yate by  doxygen 1.5.7.1