NamedList Class Reference

A named string container class. More...

#include <yateclass.h>

Inheritance diagram for NamedList:
String GenObject CallInfo ISDNQ931IE Message SDPMedia SignallingCircuitEvent

List of all members.

Public Member Functions

 NamedList (const char *name)
 NamedList (const NamedList &original)
 NamedList (const char *name, const NamedList &original, const String &prefix)
virtual void * getObject (const String &name) const
unsigned int length () const
unsigned int count () const
void clearParams ()
NamedListaddParam (NamedString *param)
NamedListaddParam (const char *name, const char *value)
NamedListsetParam (NamedString *param)
NamedListsetParam (const char *name, const char *value)
NamedListclearParam (const String &name, char childSep=0)
NamedListclearParam (NamedString *param)
NamedListcopyParam (const NamedList &original, const String &name, char childSep=0)
NamedListcopyParams (const NamedList &original)
NamedListcopyParams (const NamedList &original, ObjList *list, char childSep=0)
NamedListcopyParams (const NamedList &original, const String &list, char childSep=0)
NamedListcopySubParams (const NamedList &original, const String &prefix)
int getIndex (const NamedString *param) const
int getIndex (const String &name) const
NamedStringgetParam (const String &name) const
NamedStringgetParam (unsigned int index) const
const Stringoperator[] (const String &name) const
const char * getValue (const String &name, const char *defvalue=0) const
int getIntValue (const String &name, int defvalue=0) const
int getIntValue (const String &name, const TokenDict *tokens, int defvalue=0) const
double getDoubleValue (const String &name, double defvalue=0.0) const
bool getBoolValue (const String &name, bool defvalue=false) const
int replaceParams (String &str, bool sqlEsc=false, char extraEsc=0) const
void dump (String &str, const char *separator, char quote=0, bool force=false) const

Static Public Member Functions

static const NamedListempty ()

Detailed Description

A named string container class.

This class holds a named list of named strings


Constructor & Destructor Documentation

NamedList ( const char *  name  ) 

Creates a new named list.

Parameters:
name Name of the list - must not be NULL or empty
NamedList ( const NamedList original  ) 

Copy constructor

Parameters:
original Named list we are copying
NamedList ( const char *  name,
const NamedList original,
const String prefix 
)

Creates a named list with subparameters of another list.

Parameters:
name Name of the list - must not be NULL or empty
original Named list to copy parameters from
prefix Prefix to match and remove from parameter names

Member Function Documentation

NamedList& addParam ( const char *  name,
const char *  value 
)

Add a named string to the parameter list.

Parameters:
name Name of the new string
value Value of the new string
NamedList& addParam ( NamedString param  ) 

Add a named string to the parameter list.

Parameters:
param Parameter to add

Referenced by ISDNQ931Message::appendIEValue().

NamedList& clearParam ( NamedString param  ) 

Remove a specific parameter

Parameters:
param Pointer to parameter to remove
NamedList& clearParam ( const String name,
char  childSep = 0 
)

Clears all instances of a named string in the parameter list.

Parameters:
name Name of the string to remove
childSep If set clears all child parameters in format name+childSep+anything
void clearParams (  )  [inline]

Clear all parameters

NamedList& copyParam ( const NamedList original,
const String name,
char  childSep = 0 
)

Copy a parameter from another NamedList, clears it if not present there

Parameters:
original NamedList to copy the parameter from
name Name of the string to copy or clear
childSep If set copies all child parameters in format name+childSep+anything
NamedList& copyParams ( const NamedList original,
const String list,
char  childSep = 0 
)

Copy multiple parameters from another NamedList, clears it if not present there

Parameters:
original NamedList to copy the parameter from
list Comma separated list of parameters to copy or clear
childSep If set copies all child parameters in format name+childSep+anything
NamedList& copyParams ( const NamedList original,
ObjList list,
char  childSep = 0 
)

Copy multiple parameters from another NamedList, clears them if not present there

Parameters:
original NamedList to copy the parameters from
list List of objects (usually String) whose name (blanks stripped) is used as parameters names
childSep If set copies all child parameters in format name+childSep+anything
NamedList& copyParams ( const NamedList original  ) 

Copy all parameters from another NamedList, does not clear list first

Parameters:
original NamedList to copy the parameters from
NamedList& copySubParams ( const NamedList original,
const String prefix 
)

Copy subparameters from another list

Parameters:
original Named list to copy parameters from
prefix Prefix to match and remove from parameter names, must not be NULL
unsigned int count (  )  const [inline]

Get the number of non-null parameters

Returns:
Count of existing named strings
void dump ( String str,
const char *  separator,
char  quote = 0,
bool  force = false 
) const

Dumps the name and all parameters to a string in a human readable format. No escaping takes place so this method should be used for debugging only

Parameters:
str String to which the name and parameters are appended
separator Separator string to use before each parameter
quote String quoting character, usually single or double quote
force True to insert the separator even in an empty string
static const NamedList& empty (  )  [static]

A static empty named list

Returns:
Reference to a static empty named list

Reimplemented from String.

bool getBoolValue ( const String name,
bool  defvalue = false 
) const

Retrive the boolean value of a parameter.

Parameters:
name Name of parameter to locate
defvalue Default value to return if not found
Returns:
The boolean value contained in the named parameter or the default
double getDoubleValue ( const String name,
double  defvalue = 0.0 
) const

Retrive the floating point value of a parameter.

Parameters:
name Name of parameter to locate
defvalue Default value to return if not found
Returns:
The number contained in the named parameter or the default
int getIndex ( const String name  )  const

Get the index of first matching named string in the parameter list.

Parameters:
name Name of parameter to locate
Returns:
Index of the first matching named string or -1 if not found
int getIndex ( const NamedString param  )  const

Get the index of a named string in the parameter list.

Parameters:
param Pointer to the parameter to locate
Returns:
Index of the named string or -1 if not found
int getIntValue ( const String name,
const TokenDict tokens,
int  defvalue = 0 
) const

Retrive the numeric value of a parameter trying first a table lookup.

Parameters:
name Name of parameter to locate
tokens A pointer to an array of tokens to try to lookup
defvalue Default value to return if not found
Returns:
The number contained in the named parameter or the default
int getIntValue ( const String name,
int  defvalue = 0 
) const

Retrive the numeric value of a parameter.

Parameters:
name Name of parameter to locate
defvalue Default value to return if not found
Returns:
The number contained in the named parameter or the default

Referenced by SignallingTimer::interval().

virtual void* getObject ( const String name  )  const [virtual]

Get a pointer to a derived class given that class name

Parameters:
name Name of the class we are asking for
Returns:
Pointer to the requested class or NULL if this object doesn't implement it

Reimplemented from String.

Reimplemented in Message.

NamedString* getParam ( unsigned int  index  )  const

Locate a named string in the parameter list.

Parameters:
index Index of the parameter to locate
Returns:
A pointer to the named string or NULL.
NamedString* getParam ( const String name  )  const

Locate a named string in the parameter list.

Parameters:
name Name of parameter to locate
Returns:
A pointer to the named string or NULL.
const char* getValue ( const String name,
const char *  defvalue = 0 
) const

Retrive the value of a named parameter.

Parameters:
name Name of parameter to locate
defvalue Default value to return if not found
Returns:
The string contained in the named parameter or the default

Referenced by ISDNQ931Message::getIEValue().

unsigned int length (  )  const [inline]

Get the number of parameters

Returns:
Count of named strings

Reimplemented from String.

const String& operator[] ( const String name  )  const

Parameter access operator

Parameters:
name Name of the parameter to return
Returns:
String value of the parameter, String::empty() if missing
int replaceParams ( String str,
bool  sqlEsc = false,
char  extraEsc = 0 
) const

Replaces all ${paramname} in a String with the corresponding parameters

Parameters:
str String in which the replacements will be made
sqlEsc True to apply SQL escaping to parameter values
extraEsc Character to escape other than the SQL default ones
Returns:
Number of replacements made, -1 if an error occured
NamedList& setParam ( const char *  name,
const char *  value 
)

Set a named string in the parameter list.

Parameters:
name Name of the string
value Value of the string
NamedList& setParam ( NamedString param  ) 

Set a named string in the parameter list.

Parameters:
param Parameter to set or add

The documentation for this class was generated from the following file:
Generated on Thu Apr 8 18:22:35 2010 for Yate by  doxygen 1.6.3