EEROS  1.0.0.0
API for the EEROS Real-Time Robotics Framework
eeros::config::Config Class Referenceabstract

Configuration. More...

#include <Config.hpp>

Inheritance diagram for eeros::config::Config:

Public Member Functions

 Config (const char *path=nullptr)
 
virtual ~Config ()
 
virtual void loadDefaults ()
 
virtual bool save (const char *path=nullptr)=0
 
virtual bool load (const char *path=nullptr)=0
 

Protected Member Functions

virtual void add (const char *name, int &value)
 
virtual void add (const char *name, double &value)
 
virtual void add (const char *name, std::size_t length, int *start, int *end, int default_value=-1)
 
virtual void add (const char *name, std::size_t length, double *start, double *end, double default_value=NAN)
 
virtual void add (const char *name, std::string &value)
 
template<typename T , std::size_t N>
void add (const char *name, std::array< T, N > &value)
 

Protected Attributes

const char * path
 
std::map< const char *, ConfigPropertyAccessor, CharPtrCompareproperties
 

Detailed Description

Configuration.

This is the base class for a configuration to be saved to or loaded from disk. A configuration might be useful to keep calibration values or setup data.

Constructor & Destructor Documentation

Config::Config ( const char *  path = nullptr)

Creates a configuration

Parameters
pathName of the configuration.
Config::~Config ( )
virtual

Destructor, do not call manually.

Member Function Documentation

void Config::add ( const char *  name,
int &  value 
)
protectedvirtual
void Config::add ( const char *  name,
double &  value 
)
protectedvirtual
void Config::add ( const char *  name,
std::size_t  length,
int *  start,
int *  end,
int  default_value = -1 
)
protectedvirtual
void Config::add ( const char *  name,
std::size_t  length,
double *  start,
double *  end,
double  default_value = NAN 
)
protectedvirtual
void Config::add ( const char *  name,
std::string &  value 
)
protectedvirtual
template<typename T , std::size_t N>
void eeros::config::Config::add ( const char *  name,
std::array< T, N > &  value 
)
protected
virtual bool eeros::config::Config::load ( const char *  path = nullptr)
pure virtual

Loads a configuration, must be overwritten by a derived clas

Parameters
pathName of the configuration.
Returns
true if successful

Implemented in eeros::config::FileConfig.

void Config::loadDefaults ( )
virtual

Loads a default configuration, must be overwritten by a derived class.

virtual bool eeros::config::Config::save ( const char *  path = nullptr)
pure virtual

Saves a configuration, must be overwritten by a derived clas

Parameters
pathName of the configuration.
Returns
true if successful

Implemented in eeros::config::FileConfig.

Member Data Documentation

const char* eeros::config::Config::path
protected
std::map<const char*, ConfigPropertyAccessor, CharPtrCompare> eeros::config::Config::properties
protected

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