PIDUINO
Loading...
Searching...
No Matches
Piduino::ConfigFile

#include <configfile.h>

Collaboration diagram for Piduino::ConfigFile:

Public Member Functions

 ConfigFile (const std::string &filename, char keysep='=', char remsep='#')
 
bool keyExists (const std::string &key) const
 
template<typename ValueType >
ValueType value (const std::string &key, ValueType const &defaultValue=ValueType()) const
 
std::string value (const std::string &key, std::string const &defaultValue=std::string()) const
 

Private Member Functions

void removeComment (std::string &line) const
 
bool onlyWhitespace (const std::string &line) const
 
bool validLine (const std::string &line) const
 
void extractKey (std::string &key, size_t const &sepPos, const std::string &line) const
 
void extractValue (std::string &value, size_t const &sepPos, const std::string &line) const
 
void extractContents (const std::string &line)
 
void parseLine (const std::string &line, size_t const lineNo)
 
void extractKeys (const std::string &filename)
 

Static Private Member Functions

static void trim (std::string &str)
 

Private Attributes

std::map< std::string, std::string > _contents
 
char _keysep
 
char _remsep
 

Detailed Description

Definition at line 64 of file configfile.h.

Constructor & Destructor Documentation

◆ ConfigFile()

Piduino::ConfigFile::ConfigFile ( const std::string &  filename,
char  keysep = '=',
char  remsep = '#' 
)
inline

Definition at line 68 of file configfile.h.

References extractKeys().

Here is the call graph for this function:

Member Function Documentation

◆ extractContents()

void Piduino::ConfigFile::extractContents ( const std::string &  line)
inlineprivate

Definition at line 182 of file configfile.h.

References _contents, _keysep, extractKey(), extractValue(), keyExists(), and value().

Referenced by parseLine().

Here is the call graph for this function:

◆ extractKey()

void Piduino::ConfigFile::extractKey ( std::string &  key,
size_t const &  sepPos,
const std::string &  line 
) const
inlineprivate

Definition at line 157 of file configfile.h.

References trim().

Referenced by extractContents().

Here is the call graph for this function:

◆ extractKeys()

void Piduino::ConfigFile::extractKeys ( const std::string &  filename)
inlineprivate

Definition at line 214 of file configfile.h.

References onlyWhitespace(), parseLine(), and removeComment().

Referenced by ConfigFile().

Here is the call graph for this function:

◆ extractValue()

void Piduino::ConfigFile::extractValue ( std::string &  value,
size_t const &  sepPos,
const std::string &  line 
) const
inlineprivate

Definition at line 166 of file configfile.h.

References trim(), and value().

Referenced by extractContents().

Here is the call graph for this function:

◆ keyExists()

bool Piduino::ConfigFile::keyExists ( const std::string &  key) const
inline

Definition at line 76 of file configfile.h.

References _contents.

Referenced by extractContents(), value(), and value().

◆ onlyWhitespace()

bool Piduino::ConfigFile::onlyWhitespace ( const std::string &  line) const
inlineprivate

Definition at line 120 of file configfile.h.

Referenced by extractKeys().

◆ parseLine()

void Piduino::ConfigFile::parseLine ( const std::string &  line,
size_t const  lineNo 
)
inlineprivate

Definition at line 201 of file configfile.h.

References _keysep, extractContents(), and validLine().

Referenced by extractKeys().

Here is the call graph for this function:

◆ removeComment()

void Piduino::ConfigFile::removeComment ( std::string &  line) const
inlineprivate

Definition at line 111 of file configfile.h.

References _remsep.

Referenced by extractKeys().

◆ trim()

static void Piduino::ConfigFile::trim ( std::string &  str)
inlinestaticprivate

Definition at line 149 of file configfile.h.

Referenced by extractKey(), and extractValue().

◆ validLine()

bool Piduino::ConfigFile::validLine ( const std::string &  line) const
inlineprivate

Definition at line 127 of file configfile.h.

References _keysep.

Referenced by parseLine().

◆ value() [1/2]

std::string Piduino::ConfigFile::value ( const std::string &  key,
std::string const &  defaultValue = std::string() 
) const
inline

Definition at line 94 of file configfile.h.

References _contents, and keyExists().

Here is the call graph for this function:

◆ value() [2/2]

template<typename ValueType >
ValueType Piduino::ConfigFile::value ( const std::string &  key,
ValueType const &  defaultValue = ValueType() 
) const
inline

Definition at line 82 of file configfile.h.

References _contents, keyExists(), and Piduino::Convert::string_to_T().

Referenced by extractContents(), and extractValue().

Here is the call graph for this function:

Member Data Documentation

◆ _contents

std::map<std::string, std::string> Piduino::ConfigFile::_contents
private

Definition at line 105 of file configfile.h.

Referenced by extractContents(), keyExists(), value(), and value().

◆ _keysep

char Piduino::ConfigFile::_keysep
private

Definition at line 106 of file configfile.h.

Referenced by extractContents(), parseLine(), and validLine().

◆ _remsep

char Piduino::ConfigFile::_remsep
private

Definition at line 107 of file configfile.h.

Referenced by removeComment().