# 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
- 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

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 Fri Dec 21 16:28:34 2012, using kdoc 2.0a54.