Home
FAQ
Player
Stage
Gazebo
Contrib
Documentation
Publications
Contributors
Users

Project
Download
Bugs/Feedback
Mailing lists

Radish

Old news
Old stuff

ConfigFile Class Reference

#include <configfile.h>

List of all members.


Detailed Description

Class for loading configuration file information.

This class is used to load settings from a configuration text file. Ths file is dividing into sections, with section having a set of key/value fields. Example file format is as follows:

# This is a comment section_name ( key1 0 key2 "foo" key3 ["foo" "bar"] )


Public Member Functions

 ConfigFile ()
 Standard constructor.

 ~ConfigFile ()
 Standard destructor.

bool Load (const char *filename)
 Load config from file.

bool WarnUnused ()
 Check for unused fields and print warnings.

const char * ReadString (int section, const char *name, const char *value)
 Read a string value.

int ReadInt (int section, const char *name, int value)
 Read an integer value.

double ReadFloat (int section, const char *name, double value)
 Read a floating point (double) value.

double ReadLength (int section, const char *name, double value)
 Read a length (includes unit conversion, if any).

double ReadAngle (int section, const char *name, double value)
 Read an angle (includes unit conversion).

uint32_t ReadColor (int section, const char *name, uint32_t value)
 Read a color (includes text to RGB conversion).

const char * ReadFilename (int section, const char *name, const char *value)
 Read a filename.

int GetTupleCount (int section, const char *name)
 Get the number of values in a tuple.

const char * ReadTupleString (int section, const char *name, int index, const char *value)
 Read a string from a tuple field.

int ReadTupleInt (int section, const char *name, int index, int value)
 Read an integer from a tuple field.

double ReadTupleFloat (int section, const char *name, int index, double value)
 Read a float (double) from a tuple field.

double ReadTupleLength (int section, const char *name, int index, double value)
 Read a length from a tuple (includes units conversion).

double ReadTupleAngle (int section, const char *name, int index, double value)
 Read an angle form a tuple (includes units conversion).

uint32_t ReadTupleColor (int section, const char *name, int index, uint32_t value)
 Read a color (includes text to RGB conversion).

int ReadDeviceId (player_device_id_t *id, int section, const char *name, int code, int index, const char *key)
 Read a device id.

int GetSectionCount ()
 Get the number of sections.

const char * GetSectionType (int section)
 Get a section type name.

int LookupSection (const char *type)
 Lookup a section number by section type name.

int GetSectionParent (int section)
 Get a section's parent section.

void DumpTokens ()
 Dump the token list (for debugging).

void DumpSections ()
 Dump the section list for debugging.

void DumpFields ()
 Dump the field list for debugging.


Public Attributes

char * filename
 Name of the file we loaded.


Constructor & Destructor Documentation

ConfigFile::ConfigFile (   ) 
 

Standard constructor.

ConfigFile::~ConfigFile (   ) 
 

Standard destructor.


Member Function Documentation

bool ConfigFile::Load (  const char *  filename  ) 
 

Load config from file.

Parameters:
filename Name of file; can be relative or fully qualified path.
Returns:
Returns true on success.

bool ConfigFile::WarnUnused (   ) 
 

Check for unused fields and print warnings.

Returns:
Returns true if there are unused fields.

const char* ConfigFile::ReadString (  int  section,
const char *  name,
const char *  value
) 
 

Read a string value.

Parameters:
section Section to read.
name Field name
value Default value if the field is not present in the file.
Returns:
Returns the field value.

int ConfigFile::ReadInt (  int  section,
const char *  name,
int  value
) 
 

Read an integer value.

Parameters:
section Section to read.
name Field name
value Default value if the field is not present in the file.
Returns:
Returns the field value.

double ConfigFile::ReadFloat (  int  section,
const char *  name,
double  value
) 
 

Read a floating point (double) value.

Parameters:
section Section to read.
name Field name
value Default value if the field is not present in the file.
Returns:
Returns the field value.

double ConfigFile::ReadLength (  int  section,
const char *  name,
double  value
) 
 

Read a length (includes unit conversion, if any).

Parameters:
section Section to read.
name Field name
value Default value if the field is not present in the file.
Returns:
Returns the field value.

double ConfigFile::ReadAngle (  int  section,
const char *  name,
double  value
) 
 

Read an angle (includes unit conversion).

In the configuration file, angles are specified in degrees; this method will convert them to radians.

Parameters:
section Section to read.
name Field name
value Default value if the field is not present in the file (radians).
Returns:
Returns the field value.

uint32_t ConfigFile::ReadColor (  int  section,
const char *  name,
uint32_t  value
) 
 

Read a color (includes text to RGB conversion).

In the configuration file colors may be specified with sybolic names; e.g., "blue" and "red". This function will convert them to an RGB value using the X11 rgb.txt file.

Parameters:
section Section to read.
name Field name
value Default value if the field is not present in the file (RGB).
Returns:
Returns the field value.

const char* ConfigFile::ReadFilename (  int  section,
const char *  name,
const char *  value
) 
 

Read a filename.

Always returns an absolute path. If the filename is entered as a relative path, we prepend the config file's path to it.

Parameters:
section Section to read.
name Field name
value Default value if the field is not present in the file.
Returns:
Returns the field value.

int ConfigFile::GetTupleCount (  int  section,
const char *  name
) 
 

Get the number of values in a tuple.

Parameters:
section Section to read.
name Field name.

const char* ConfigFile::ReadTupleString (  int  section,
const char *  name,
int  index,
const char *  value
) 
 

Read a string from a tuple field.

Parameters:
section Section to read.
name Field name
index Tuple index (zero-based)
value Default value if the field is not present in the file.
Returns:
Returns the tuple element value.

int ConfigFile::ReadTupleInt (  int  section,
const char *  name,
int  index,
int  value
) 
 

Read an integer from a tuple field.

Parameters:
section Section to read.
name Field name
index Tuple index (zero-based)
value Default value if the field is not present in the file.
Returns:
Returns the tuple element value.

double ConfigFile::ReadTupleFloat (  int  section,
const char *  name,
int  index,
double  value
) 
 

Read a float (double) from a tuple field.

Parameters:
section Section to read.
name Field name
index Tuple index (zero-based)
value Default value if the field is not present in the file.
Returns:
Returns the tuple element value.

double ConfigFile::ReadTupleLength (  int  section,
const char *  name,
int  index,
double  value
) 
 

Read a length from a tuple (includes units conversion).

Parameters:
section Section to read.
name Field name
index Tuple index (zero-based)
value Default value if the field is not present in the file.
Returns:
Returns the tuple element value.

double ConfigFile::ReadTupleAngle (  int  section,
const char *  name,
int  index,
double  value
) 
 

Read an angle form a tuple (includes units conversion).

In the configuration file, angles are specified in degrees; this method will convert them to radians.

Parameters:
section Section to read.
name Field name
index Tuple index (zero-based)
value Default value if the field is not present in the file.
Returns:
Returns the tuple element value.

uint32_t ConfigFile::ReadTupleColor (  int  section,
const char *  name,
int  index,
uint32_t  value
) 
 

Read a color (includes text to RGB conversion).

In the configuration file colors may be specified with sybolic names; e.g., "blue" and "red". This function will convert them to an RGB value using the X11 rgb.txt file.

Parameters:
section Section to read.
name Field name
index Tuple index (zero-based)
value Default value if the field is not present in the file (RGB).
Returns:
Returns the field value.

int ConfigFile::ReadDeviceId (  player_device_id_t *  id,
int  section,
const char *  name,
int  code,
int  index,
const char *  key
) 
 

Read a device id.

Parameters:
id ID field to be filled in.
section File section.
name Field name.
code Interface type code (use 0 to match all interface types).
index Tuple index (use -1 to match all indices).
key Device key value (use NULL to match all key vales).
Returns:
Non-zero on error.

int ConfigFile::GetSectionCount (   ) 
 

Get the number of sections.

const char* ConfigFile::GetSectionType (  int  section  ) 
 

Get a section type name.

int ConfigFile::LookupSection (  const char *  type  ) 
 

Lookup a section number by section type name.

Returns:
Returns -1 if there is no section with this type.

int ConfigFile::GetSectionParent (  int  section  ) 
 

Get a section's parent section.

Returns:
Returns -1 if there is no parent.

void ConfigFile::DumpTokens (   ) 
 

Dump the token list (for debugging).

void ConfigFile::DumpSections (   ) 
 

Dump the section list for debugging.

void ConfigFile::DumpFields (   ) 
 

Dump the field list for debugging.


Member Data Documentation

char* ConfigFile::filename
 

Name of the file we loaded.


The documentation for this class was generated from the following file:
Generated on Tue May 3 14:15:49 2005 for Player by doxygen 1.3.6