Developer Documentation
|
Class for the handling of simple configuration files. More...
#include <OpenFlipper/INIFile/INIFile.hh>
Public Member Functions | |
INIFile () | |
Default constructor. | |
~INIFile () | |
Destructor. | |
bool | connect (const QString &name, const bool create) |
Connect INIFile object with given filename. | |
void | disconnect () |
Remove connection of this object to a file. | |
bool | is_connected () const |
Check if object is connected to file. | |
const QString & | name () const |
Access to name of connected file. | |
Existence checking | |
bool | section_exists (const QString &_section) const |
Check if given section exists in the current INI file. | |
bool | entry_exists (const QString &_section, const QString &_key) const |
Check if given entry esists in the current INI file. | |
bool | entry_in_section (const QString &_section, const QString &_key) const |
Same as entry_exists() (for backward compatibility) | |
Addition of entities | |
void | add_section (const QString &_sectionname) |
Addition of a section. | |
void | add_entry (const QString &_section, const QString &_key, const QString &_value) |
Addition / modification of a string entry. | |
void | add_entry (const QString &_section, const QString &_key, const char *_value) |
Addition / modification of a string entry, given as char array. | |
void | add_entry (const QString &_section, const QString &_key, const double &_value) |
Addition / modification of a double entry. | |
void | add_entry (const QString &_section, const QString &_key, const float &_value) |
Addition / modification of a double entry. | |
void | add_entry (const QString &_section, const QString &_key, const int &_value) |
Addition / modification of an int entry. | |
void | add_entry (const QString &_section, const QString &_key, const unsigned int &_value) |
Addition / modification of an int entry. | |
void | add_entry (const QString &_section, const QString &_key, const bool &_value) |
Addition / modification of a boolean entry. | |
void | add_entry (const QString &_section, const QString &_key, const std::vector< float > &_value) |
Addition / modification of a float vector. | |
void | add_entry (const QString &_section, const QString &_key, const std::vector< double > &_value) |
Addition / modification of a double vector. | |
void | add_entry (const QString &_section, const QString &_key, const std::vector< bool > &_value) |
Addition / modification of a bool vector. | |
template<typename VectorT > | |
void | add_entryVec (const QString &_section, const QString &_key, const VectorT &_value) |
Addition of a Vec_n_something. More... | |
template<typename VectorT > | |
void | add_entryVec (const QString &_section, const QString &_key, const std::vector< VectorT > &_value) |
Addition of a vector of Vec_n_something. | |
void | add_entry (const QString &_section, const QString &_key, const std::vector< int > &_value) |
Addition / modification of an int vector. | |
void | add_entry (const QString &_section, const QString &_key, const std::vector< QString > &_value) |
Addition / modification of an int vector. | |
void | add_entry (const QString &_section, const QString &_key, const QStringList &_value) |
Addition / modification of an int vector. | |
Deletion of entities | |
void | delete_entry (const QString &_section, const QString &_key) |
Deletion of an entry. | |
void | delete_section (const QString &_sectionname) |
Deletion of an entire section. | |
Access to stored entries | |
typedef std::map< QString, QString > | EntryMap |
Type for map of contained entries. | |
typedef std::map< QString, EntryMap > | SectionMap |
Type for map of contained sections. | |
QString | m_filename |
Name of current INI file. | |
bool | mf_isConnected |
Flag: this object is connected to an INI file. | |
SectionMap | m_iniData |
Stored data of an INI file. | |
bool | get_entry (QString &_val, const QString &_section, const QString &_key) const |
Access to a string entry. | |
bool | get_entry (double &_val, const QString &_section, const QString &_key) const |
Access to a floating point entry, stored as double value. | |
bool | get_entry (float &_val, const QString &_section, const QString &_key) const |
Access to a floating point entry, stored as float value. | |
bool | get_entry (int &_val, const QString &_section, const QString &_key) const |
Access to an int entry. | |
bool | get_entry (unsigned int &_val, const QString &_section, const QString &_key) const |
Access to an unsigned int entry (which is actually stored as int!!!) | |
bool | get_entry (bool &_val, const QString &_section, const QString &_key) const |
Access to a boolean entry. | |
bool | get_entry (std::vector< float > &_val, const QString &_section, const QString &_key) const |
Access to a float vector. | |
bool | get_entry (std::vector< double > &_val, const QString &_section, const QString &_key) const |
Access to a double vector. | |
bool | get_entry (std::vector< bool > &_val, const QString &_section, const QString &_key) const |
Access to a bool vector. | |
bool | get_entry (std::vector< int > &_val, const QString &_section, const QString &_key) const |
Access to an int vector. | |
bool | get_entry (std::vector< QString > &_val, const QString &_section, const QString &_key) const |
Access to a string vector. | |
bool | get_entry (QStringList &_val, const QString &_section, const QString &_key) const |
Access to a stringList. | |
template<typename VectorT > | |
bool | get_entryVecd (VectorT &_val, const QString &_section, const QString &_key) const |
Get a Vec_n_d (double) More... | |
template<typename VectorT > | |
bool | get_entryVecf (VectorT &_val, const QString &_section, const QString &_key) const |
Get a Vec_n_i (int) More... | |
template<typename VectorT > | |
bool | get_entryVeci (VectorT &_val, const QString &_section, const QString &_key) const |
Get a Vec_n_i (int) More... | |
template<typename VectorT > | |
bool | get_entryVecd (std::vector< VectorT > &_val, const QString &_section, const QString &_key) const |
Get a Vec_n_d. | |
template<typename VectorT > | |
bool | get_entryVecf (std::vector< VectorT > &_val, const QString &_section, const QString &_key) const |
Get a Vec_n_f. | |
template<typename VectorT > | |
bool | get_entryVeci (std::vector< VectorT > &_val, const QString &_section, const QString &_key) const |
Get a Vec_n_i. | |
bool | parseFile (QFile &_inputStream) |
Read content of an INI file. | |
bool | writeFile (void) |
Write data to file we are currently connected to. | |
Class for the handling of simple configuration files.
The file format used by this class is similar to that of MS Windows INI files. It is possible to divide a file into sections which are denoted by brackets (e.g. [Section]
). All values are stored in the form <key> = <value>
and are assigned to a section. The INIFile class is able to store values of the types string, double, signed and unsigned int and bool.
The usual way to work with this class consists of the following steps:
To be able to use the INIFile class, an object is created. After that the object is connected to a given filename. This means that, if the file exists, it is opened and the content is parsed and stored in memory. The second (boolean) parameter to the connect() function indicates that the file should be created if it does not exists.
Now a new section named Main
is generated and several entries are added. Note that the INI file is not written to disc until the disconnect() function is called. All additions and modifications are only performed on the stored data in memory.
In the second part of this example the just created INI file is opened (connected) again and the created entries are read and printed to stdout
.
Definition at line 105 of file INIFile.hh.
void INIFile::add_entryVec | ( | const QString & | _section, |
const QString & | _key, | ||
const VectorT & | _value | ||
) |
Addition of a Vec_n_something.
Addition of a vector of Vec_n_whatever.
Definition at line 211 of file INIFileT.cc.
bool INIFile::get_entryVecd | ( | VectorT & | _val, |
const QString & | _section, | ||
const QString & | _key | ||
) | const |
bool INIFile::get_entryVecf | ( | VectorT & | _val, |
const QString & | _section, | ||
const QString & | _key | ||
) | const |
bool INIFile::get_entryVeci | ( | VectorT & | _val, |
const QString & | _section, | ||
const QString & | _key | ||
) | const |