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

SysConfig Class Reference

#include <SysConfig.h>

List of all members.

Public Member Functions

 SysConfig (const char *path)
 SysConfig (const std::string &path)
 SysConfig (const Pathname &path)
 ~SysConfig ()
bool load ()
bool save ()
std::string readEntry (const std::string &key, const std::string &defaultValue=std::string())
bool readBoolEntry (const std::string &key, bool defaultValue=false)
int readIntEntry (const std::string &key, int defaultValue=0)
void writeEntry (const std::string &key, const char *value)
void writeEntry (const std::string &key, const std::string &value)
void writeEntry (const std::string &key, bool value)
void writeEntry (const std::string &key, int value)

Protected Member Functions

std::string createLine (const std::string &key, const std::string &value)

Private Types

typedef std::map< std::string,
std::string > 
EntryMap

Private Attributes

Pathname _path
EntryMap _entryMap
bool mDirty


Detailed Description

This class provides access to the configuration files under /etc/sysconfig.

A sysconfig file consists of lines of key/value pairs. It can also contain empty lines and comments (lines starting with '#").

Keys are case-sensitive. Values can be quoted like 'value' or "value". Whitesspace at the beginning or end of keys and values (outside of quotes) is removed.


Member Typedef Documentation

typedef std::map<std::string, std::string> SysConfig::EntryMap [private]
 


Constructor & Destructor Documentation

SysConfig::SysConfig const char *  path  ) 
 

Construct a sysconfig object. Reads the given file.

Path to sysconfig file. This can either be an absolute path or a path relative to /etc/sysconfig.

SysConfig::SysConfig const std::string &  path  ) 
 

Construct a sysconfig object. Reads the given file.

Path to sysconfig file. This can either be an absolute path or a path relative to /etc/sysconfig.

SysConfig::SysConfig const Pathname path  ) 
 

Construct a sysconfig object. Reads the given file.

Path to sysconfig file. This can either be an absolute path or a path relative to /etc/sysconfig.

SysConfig::~SysConfig  ) 
 


Member Function Documentation

string SysConfig::createLine const std::string &  key,
const std::string &  value
[protected]
 

bool SysConfig::load  ) 
 

Load sysconfig file into memory. This function is automatically called from the constructor.

bool SysConfig::readBoolEntry const std::string &  key,
bool  defaultValue = false
 

Return boolean entry. The values "true", "yes" and "1" are considered as true, all other values as false.

Parameters:
key Key of entry.
defaultValue Default return value, if key doesn't exit.

string SysConfig::readEntry const std::string &  key,
const std::string &  defaultValue = std::string()
 

Return string entry.

Parameters:
key Key of entry.
defaultValue Default return value, if key doesn't exit.

int SysConfig::readIntEntry const std::string &  key,
int  defaultValue = 0
 

Return integer entry. If the entry can't be converted to an int, 0 is returned.

Parameters:
key Key of entry.
defaultValue Default return value, if key doesn't exit.

bool SysConfig::save  ) 
 

Save file to disk.

Returns:
true on success, false on error.

void SysConfig::writeEntry const std::string &  key,
int  value
 

Write string entry.

Parameters:
key Key of entry
value Value of entry.

void SysConfig::writeEntry const std::string &  key,
bool  value
 

Write string entry.

Parameters:
key Key of entry
value Value of entry.

void SysConfig::writeEntry const std::string &  key,
const std::string &  value
 

Write string entry.

Parameters:
key Key of entry
value Value of entry.

void SysConfig::writeEntry const std::string &  key,
const char *  value
 

Write string entry.

Parameters:
key Key of entry
value Value of entry.


Member Data Documentation

EntryMap SysConfig::_entryMap [private]
 

Pathname SysConfig::_path [private]
 

bool SysConfig::mDirty [private]
 


The documentation for this class was generated from the following files:
Generated on Thu Feb 23 23:56:11 2006 for liby2util by doxygen 1.3.6