Configuration Class Reference

Configuration file handling. More...

#include <yatengine.h>

Inheritance diagram for Configuration:

String GenObject

List of all members.

Public Member Functions

 Configuration ()
 Configuration (const char *filename, bool warn=true)
Configurationoperator= (const String &value)
unsigned int sections () const
NamedListgetSection (unsigned int index) const
NamedListgetSection (const String &sect) const
NamedStringgetKey (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) 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)
void 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

Configuration file handling.

A class for parsing and quickly accessing INI style configuration files


Constructor & Destructor Documentation

Configuration (  ) 

Create an empty configuration

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

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


Member Function Documentation

Configuration& operator= ( const String value  )  [inline]

Assignment from string operator

Reimplemented from String.

References String::operator=().

unsigned int sections (  )  const [inline]

Get the number of sections

Returns:
Count of sections

NamedList* getSection ( unsigned int  index  )  const

Retrive 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  )  const

Retrive 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 
) 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 
) const

Retrive 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 
) const

Retrive 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
Returns:
The number contained in the key or the default

int getIntValue ( const String sect,
const String key,
const TokenDict tokens,
int  defvalue = 0 
) const

Retrive 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 
) const

Retrive 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 
) const

Retrive 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  ) 

Deletes an entire section

Parameters:
sect Name of section to delete, NULL to delete all

void createSection ( const String sect  )  [inline]

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

Parameters:
sect Name of section to check or create

void clearKey ( const String sect,
const String key 
)

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 
)

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 
)

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 
)

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 
)

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 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 (  )  const

Save the configuration to file

Returns:
True if successfull, false for failure


The documentation for this class was generated from the following file:

Generated on Mon Aug 11 16:18:52 2008 for Yate by  doxygen 1.5.6