Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members

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

Create a configuration from a file

Parameters:
filename Name of file to initialize from


Member Function Documentation

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

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

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

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

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

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.

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

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

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

bool load  ) 
 

Load the configuration from file

Returns:
True if successfull, false for failure

Configuration& operator= const String value  )  [inline]
 

Assignment from string operator

Reimplemented from String.

bool save  )  const
 

Save the configuration to file

Returns:
True if successfull, false for failure

unsigned int sections  )  const [inline]
 

Get the number of sections

Returns:
Count of sections

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

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


The documentation for this class was generated from the following file:
Generated on Mon Sep 18 20:56:12 2006 for Yate by  doxygen 1.4.4