# class Configuration | Configuration file handling. More...
Full name | `TelEngine::Configuration`
Definition | `#include <yatengine.h>`
Inherits | TelEngine::String [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Methods

- Configuration ()
- explicit Configuration (const char* filename, bool warn = true)
- inline Configuration& operator= (const String& value)
- inline unsigned int sections () const
- inline unsigned int count () const
- NamedList* getSection (unsigned int index) const
- NamedList* getSection (const String& sect) const
- NamedString* getKey (const String& sect, const String& key) const
- const char* getValue (const String& sect, const String& key, const char* defvalue = 0) const
- int getIntValue (const String& sect, const String& key, int defvalue = 0, int minvalue = INT_MIN, int maxvalue = INT_MAX, bool clamp = true) const
- int getIntValue (const String& sect, const String& key, const TokenDict* tokens, int defvalue = 0) const
- double getDoubleValue (const String& sect, const String& key, double defvalue = 0.0) const
- bool getBoolValue (const String& sect, const String& key, bool defvalue = false) const
- void clearSection (const char* sect = 0)
- NamedList* createSection (const String& sect)
- void clearKey (const String& sect, const String& key)
- void addValue (const String& sect, const char* key, const char* value = 0)
- void setValue (const String& sect, const char* key, const char* value = 0)
- void setValue (const String& sect, const char* key, int value)
- void setValue (const String& sect, const char* key, bool value)
- bool load (bool warn = true)
- bool save () const

## Detailed Description

A class for parsing and quickly accessing INI style configuration files

Configuration () | ### Configuration

Create an empty configuration

explicit Configuration (const char* filename, bool warn = true) | ### Configuration

Create a configuration from a file

Parameters:

filename | Name of file to initialize from
warn | True to warn if the configuration could not be loaded

inline Configuration& operator= (const String& value) | ### operator=

Assignment from string operator

Reimplemented from String.

inline unsigned int sections () | ### sections

[const]

Get the number of sections

Returns: Count of sections

inline unsigned int count () | ### count

[const]

Get the number of non null sections

Returns: Count of sections

NamedList* getSection (unsigned int index) | ### getSection

[const]

Retrieve an entire section

Parameters:

index | Index of the section

Returns: The section's content or NULL if no such section

NamedList* getSection (const String& sect) | ### getSection

[const]

Retrieve an entire section

Parameters:

sect | Name of the section

Returns: The section's content or NULL if no such section

NamedString* getKey (const String& sect, const String& key) | ### getKey

[const]

Locate a key/value pair in the section.

Parameters:

sect | Name of the section
key | Name of the key in section

Returns: A pointer to the key/value pair or NULL.

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

[const]

Retrieve the value of a key in a section.

Parameters:

sect | Name of the section
key | Name of the key in section
defvalue | Default value to return if not found

Returns: The string contained in the key or the default

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

[const]

Retrieve the numeric value of a key in a section.

Parameters:

sect | Name of the section
key | Name of the key in section
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 key or the default

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

[const]

Retrieve the numeric value of a key in a section trying first a table lookup.

Parameters:

sect | Name of the section
key | Name of the key in section
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 key or the default

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

[const]

Retrieve the floating point value of a key in a section.

Parameters:

sect | Name of the section
key | Name of the key in section
defvalue | Default value to return if not found

Returns: The numeric value contained in the key or the default

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

[const]

Retrieve the boolean value of a key in a section.

Parameters:

sect | Name of the section
key | Name of the key in section
defvalue | Default value to return if not found

Returns: The boolean value contained in the key or the default

void clearSection (const char* sect = 0) | ### clearSection

Deletes an entire section

Parameters:

sect | Name of section to delete, NULL to delete all

NamedList* createSection (const String& sect) | ### createSection

Makes sure a section with a given name exists, creates if required

Parameters:

sect | Name of section to check or create

Returns: The section's content or NULL if no such section

void clearKey (const String& sect, const String& key) | ### clearKey

Deletes a key/value pair

Parameters:

sect | Name of section
key | Name of the key to delete

void addValue (const String& sect, const char* key, const char* value = 0) | ### addValue

Add the value of a key in a section.

Parameters:

sect | Name of the section, will be created if missing
key | Name of the key to add in the section
value | Value to set in the key

void setValue (const String& sect, const char* key, const char* value = 0) | ### setValue

Set the value of a key in a section.

Parameters:

sect | Name of the section, will be created if missing
key | Name of the key in section, will be created if missing
value | Value to set in the key

void setValue (const String& sect, const char* key, int value) | ### setValue

Set the numeric value of a key in a section.

Parameters:

sect | Name of the section, will be created if missing
key | Name of the key in section, will be created if missing
value | Value to set in the key

void setValue (const String& sect, const char* key, bool value) | ### setValue

Set the boolean value of a key in a section.

Parameters:

sect | Name of the section, will be created if missing
key | Name of the key in section, will be created if missing
value | Value to set in the key

bool load (bool warn = true) | ### load

Load the configuration from file

Parameters:

warn | True to also warn if the configuration could not be loaded

Returns: True if successfull, false for failure

bool save () | ### save

[const]

Save the configuration to file

Returns: True if successfull, false for failure

Generated by: paulc on bussard on Mon Feb 10 13:15:47 2014, using kdoc 2.0a54.