class NamedList

# class NamedList | A named string container class. More...
Full name | `TelEngine::NamedList`
Definition | `#include <yateclass.h>`
Inherits | TelEngine::String [public ]
Inherited by | DataFormat, Message
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Methods

- explicit NamedList (const char* name)
- NamedList (const NamedList& original)
- NamedList (const char* name, const NamedList& original, const String& prefix)
- NamedList& operator= (const NamedList& value)
- virtual void* getObject (const String& name) const
- inline unsigned int length () const
- inline unsigned int count () const
- inline void clearParams ()
- NamedList& addParam (NamedString* param)
- NamedList& addParam (const char* name, const char* value, bool emptyOK = true)
- inline NamedList& setParam (NamedString* param)
- NamedList& setParam (const String& name, const char* value)
- NamedList& clearParam (const String& name, char childSep = 0)
- NamedList& clearParam (NamedString* param, bool delParam = true)
- NamedList& copyParam (const NamedList& original, const String& name, char childSep = 0)
- NamedList& copyParams (const NamedList& original)
- NamedList& copyParams (const NamedList& original, ObjList* list, char childSep = 0)
- NamedList& copyParams (const NamedList& original, const String& list, char childSep = 0)
- NamedList& copySubParams (const NamedList& original, const String& prefix, bool skipPrefix = true, bool replace = false)
- bool hasSubParams (const char* prefix) const
- int getIndex (const NamedString* param) const
- int getIndex (const String& name) const
- NamedString* getParam (const String& name) const
- NamedString* getParam (unsigned int index) const
- const String& operator[] (const String& name) const
- const char* getValue (const String& name, const char* defvalue = 0) const
- int getIntValue (const String& name, int defvalue = 0, int minvalue = INT_MIN, int maxvalue = INT_MAX, bool clamp = true) const
- int getIntValue (const String& name, const TokenDict* tokens, int defvalue = 0) const
- int64_t getInt64Value (const String& name, int64_t defvalue = 0, int64_t minvalue = LLONG_MIN, int64_t maxvalue = LLONG_MAX, bool clamp = true) 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
- inline ObjList* paramList ()
- inline const ObjList* paramList () const

#### Public Static Methods

- static const NamedList& empty ()

## Detailed Description

This class holds a named list of named strings

explicit NamedList (const char* name) | ### NamedList

Creates a new named list.

Parameters:

name | Name of the list - must not be NULL or empty

NamedList (const NamedList& original) | ### NamedList

Copy constructor

Parameters:

original | Named list we are copying

NamedList (const char* name, const NamedList& original, const String& prefix) | ### NamedList

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

NamedList& operator= (const NamedList& value) | ### operator=

Assignment operator

Parameters:

value | New name and parameters to assign

Returns: Reference to this NamedList

Reimplemented from String.

void* getObject (const String& name) | ### getObject

[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.

inline unsigned int length () | ### length

[const]

Get the number of parameters

Returns: Count of named strings

Reimplemented from String.

inline unsigned int count () | ### count

[const]

Get the number of non-null parameters

Returns: Count of existing named strings

inline void clearParams () | ### clearParams

Clear all parameters

NamedList& addParam (NamedString* param) | ### addParam

Add a named string to the parameter list.

Parameters:

param | Parameter to add

Returns: Reference to this NamedList

NamedList& addParam (const char* name, const char* value, bool emptyOK = true) | ### addParam

Add a named string to the parameter list.

Parameters:

name | Name of the new string
value | Value of the new string
emptyOK | True to always add parameter, false to skip empty values

Returns: Reference to this NamedList

inline NamedList& setParam (NamedString* param) | ### setParam

Set a named string in the parameter list.

Parameters:

param | Parameter to set or add

Returns: Reference to this NamedList

NamedList& setParam (const String& name, const char* value) | ### setParam

Set a named string in the parameter list.

Parameters:

name | Name of the string
value | Value of the string

Returns: Reference to this NamedList

NamedList& clearParam (const String& name, char childSep = 0) | ### clearParam

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

Returns: Reference to this NamedList

NamedList& clearParam (NamedString* param, bool delParam = true) | ### clearParam

Remove a specific parameter

Parameters:

param | Pointer to parameter to remove
delParam | True to destroy the parameter

Returns: Reference to this NamedList

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

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

Returns: Reference to this NamedList

NamedList& copyParams (const NamedList& original) | ### copyParams

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

Parameters:

original | NamedList to copy the parameters from

Returns: Reference to this NamedList

NamedList& copyParams (const NamedList& original, ObjList* list, char childSep = 0) | ### copyParams

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

Returns: Reference to this NamedList

NamedList& copyParams (const NamedList& original, const String& list, char childSep = 0) | ### copyParams

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

Returns: Reference to this NamedList

NamedList& copySubParams (const NamedList& original, const String& prefix, bool skipPrefix = true, bool replace = false) | ### copySubParams

Copy subparameters from another list

Parameters:

original | Named list to copy parameters from
prefix | Prefix to match in parameter names, must not be NULL
skipPrefix | Skip over the prefix when building new parameter name
replace | Set to true to replace list parameter instead of adding a new one

Returns: Reference to this NamedList

bool hasSubParams (const char* prefix) | ### hasSubParams

[const]

Check if we have a parameter that starts with prefix

Parameters:

prefix | Prefix to match in parameter name, must not be NULL

Returns: True if a parameter starts with prefix

int getIndex (const NamedString* param) | ### getIndex

[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 getIndex (const String& name) | ### getIndex

[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

NamedString* getParam (const String& name) | ### getParam

[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.

NamedString* getParam (unsigned int index) | ### getParam

[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.

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

[const]

Parameter access operator

Parameters:

name | Name of the parameter to return

Returns: String value of the parameter, String::empty() if missing

Reimplemented from String.

const char* getValue (const String& name, const char* defvalue = 0) | ### getValue

[const]

Retrieve 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

int getIntValue (const String& name, int defvalue = 0, int minvalue = INT_MIN, int maxvalue = INT_MAX, bool clamp = true) | ### getIntValue

[const]

Retrieve the numeric value of a parameter.

Parameters:

name | Name of parameter to locate
defvalue | Default value to return if not found
minvalue | Minimum value allowed for the parameter
maxvalue | Maximum value allowed for the parameter
clamp | Control the out of bound values: true to adjust to the nearest bound, false to return the default value

Returns: The number contained in the named parameter or the default

int getIntValue (const String& name, const TokenDict* tokens, int defvalue = 0) | ### getIntValue

[const]

Retrieve 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

int64_t getInt64Value (const String& name, int64_t defvalue = 0, int64_t minvalue = LLONG_MIN, int64_t maxvalue = LLONG_MAX, bool clamp = true) | ### getInt64Value

[const]

Retrieve the 64-bit numeric value of a parameter.

Parameters:

name | Name of parameter to locate
defvalue | Default value to return if not found
minvalue | Minimum value allowed for the parameter
maxvalue | Maximum value allowed for the parameter
clamp | Control the out of bound values: true to adjust to the nearest bound, false to return the default value

Returns: The number contained in the named parameter or the default

double getDoubleValue (const String& name, double defvalue = 0.0) | ### getDoubleValue

[const]

Retrieve 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

bool getBoolValue (const String& name, bool defvalue = false) | ### getBoolValue

[const]

Retrieve 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

int replaceParams (String& str, bool sqlEsc = false, char extraEsc = 0) | ### replaceParams

[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

void dump (String& str, const char* separator, char quote = 0, bool force = false) | ### dump

[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

const NamedList& empty () | ### empty

[static]

A static empty named list

Returns: Reference to a static empty named list

Reimplemented from String.

inline ObjList* paramList () | ### paramList

Get the parameters list

Returns: Pointer to the parameters list

inline const ObjList* paramList () | ### paramList

[const]

Get the parameters list

Returns: Pointer to the parameters list

Generated by: paulc on bussard on Fri May 8 12:37:22 2015, using kdoc 2.0a54.