LoConfig.H File Reference

Robolocust/lobot configuration database. More...

#include "Robots/LoBot/config/LoLexYaccDefs.H"
#include "Robots/LoBot/misc/singleton.hh"
#include "Robots/LoBot/util/LoString.H"
#include <algorithm>
#include <map>
#include <vector>
#include <string>
Include dependency graph for LoConfig.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  lobot::ConfigDB
 Robolocust/lobot configuration database. More...
class  lobot::Configuration
 A more user-friendly API for the ConfigDB. More...

Defines

#define LOCD_INTERNAL   "__SECRET_INTERNAL_SECTION__"

Detailed Description

Robolocust/lobot configuration database.

This file defines a class that reads the Robolocust/lobot config file (~/.lobotrc by default or as specified by the --config-file option) and then populates a two-level map of key-value pairs that other parts of the program can use to query whatever parameters they need.

Robolocust/lobot config files are simplified INI files. See LoIniFileLexer.l and LoIniFileParser.y for the syntax rules and an illustrative example of what is allowed.

The first level of the two-level map alluded to above corresponds to sections in the INI file and the second level is for the key-value pairs of that section. Thus, the first level maps INI file section names to maps of key-value pairs. These "inner" maps map key names to their corresponding values.

Definition in file LoConfig.H.


Define Documentation

#define LOCD_INTERNAL   "__SECRET_INTERNAL_SECTION__"

The Robolocust config file is divided into multiple sections with each section consisting of key-value pairs. There is a top-level or global section as well that appears before any other sections in the config file. In actuality, this global section is implemented as a specially named section.

In addition to the above-mentioned global section of the config file, we also have an internal section that is not meant to be used directly by users. Rather, it acts as a sort of scratch space via which different Robolocust modules can exchange bits of data without having to explicitly know each other (which greatly simplifies the overall design).

This internal section is never defined explicitly in the config file. Instead, Robolocust sets it up internally.

Definition at line 90 of file LoConfig.H.

Referenced by lobot::Configuration::set_internal().

Generated on Sun May 8 08:42:48 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3