Contents
Inheritance:
Constructors:
Methods:
insert
void insert(std::string defName,std::string name,std::string value)
set (version 1)
void set(std::string defName,std::string name,std::string value)
set (version 2)
void set(std::string defName,std::string name,int i,std::string value)
get (version 2)
std::string get(std::string defName,std::string name,int i)
getNextValue
std::string getNextValue(std::string defName,std::string name)
save
void save(const char *filename)
save2
bool save2(const char *filename)
Motivation
Constructors
Settings
Kann Settings-Dateien einlesen.
Constructor:
Settings()
Factory Method:
AbsSettings *AbsSettingsInterface::createSettings()
Wrapper Class:
SettingsWrapper()
The static method
AbsSettingsInterface::createSettings creates a new instance of class Settings.
Return value:Gibt einen Pointer auf die neu erzeugte Instanz der Klasse
Settings zurück.
Methods
loadfile (version 1)
Liest eine Settings-Datei ein.
Falls die Datei nicht existiert, wird
false zurückgegeben.
Durch wiederholten Aufruf dieser Methode können mehrere Settings-Dateien eingelesen werden. Gleich benannte Blöcke werden dabei zu einem Block zusammengefasst.
Signature:
bool loadfile(const char *filename)
Parameters:
| const char * | filename | [IN] | Dateiname der Settings-Datei (opt. inkl. Pfad) als null-terminierter String (in ASCII oder UTF-8 Codierung). |
Return value:Gibt
true zurück, falls die Datei erfolgreich eingelesen werden konnte, sonst
false.
loadfile (version 2)
Liest eine Settings-Datei ein.
Falls die Datei nicht existiert, wird versucht sie anzulegen, falls
docreate=true ist.
Durch wiederholten Aufruf dieser Methode können mehrere Settings-Dateien eingelesen werden. Gleich benannte Blöcke werden dabei zu einem Block zusammengefasst.
Signature:
bool loadfile(const char *filename,bool docreate)
Parameters:
| const char * | filename | [IN] | Dateiname der Settings-Datei (opt. inkl. Pfad) als null-terminierter String (in ASCII oder UTF-8 Codierung). |
| bool | docreate | | Gibt an, ob versucht werden soll eine nicht existierende Datei anzulegen. |
Return value:Gibt
true zurück, falls die Datei erfolgreich eingelesen werden konnte, sonst
false.
getDefBlockCount
Gibt die Anzahl Blöcke zurück.
Falls seit dem letzten Aufruf von
loadfile() weitere Blöcke hinzugefügt wurden, werden diese erst nach einem Aufruf von
updateDefBlockNames() berücksichtigt.
Signature:
int getDefBlockCount()
Return value:Die Anzahl Blöcke.
getNextDefBlockName
Gibt den Namen des nächsten Blocks zurück.
Falls seit dem letzten Aufruf von
loadfile() weitere Blöcke hinzugefügt wurden, werden diese erst nach einem Aufruf von
updateDefBlockNames() berücksichtigt.
Signature:
std::string getNextDefBlockName()
Return value:Der Name des nächsten Blocks.
updateDefBlockNames
Aktualisiert die Liste der Blöcke. Rufen Sie diese Methode auf, wenn nach dem letzten Aufruf von
loadfile() weitere Blöcke hinzugefügt wurden bevor Sie
getDefBlockCount() oder
getNextDefBlockName() aufrufen.
Signature:
void updateDefBlockNames()
insert
Fügt einen neuen Eintrag zu den Einstellungen hinzu.
Falls kein Block mit dem angegebenen Namen existiert, wird ein neuer Block mit diesem Namen angelegt.
Falls im angegebenen Block bereits ein Eintrag mit dem angegebenen Namen existiert, so wird ein neuer Eintrag erzeugt, wobei dem Namen zu Unterscheidung von den bestehenden Einträgen ein Suffix (Nummerierung) der Form [$i] angehängt wird, mit $i∈{0,1,2,3,...} fortlaufend.
Die Änderung wirkt sich nur auf die im Speicher geladenen Einstellungen aus. Verwenden Sie
save() um die Änderungen in die Settings-Datei zu schreiben.
Signature:
void insert(std::string defName,std::string name,std::string value)
Parameters:
| std::string | defName | | Name des Blocks. |
| std::string | name | | Name des Eintrags. |
| std::string | value | | Wert des Eintrags. |
set (version 1)
Überschreibt den Eintrag mit dem angegebenen Namen im angegebenen Block mit einem neuen Wert. Falls der Eintrag noch nicht existiert, wird er neu angelegt.
Die Änderung wirkt sich nur auf die im Speicher geladenen Einstellungen aus. Verwenden Sie
save() um die Änderungen in die Settings-Datei zu schreiben.
Signature:
void set(std::string defName,std::string name,std::string value)
Parameters:
| std::string | defName | | Name des Blocks. |
| std::string | name | | Name des Eintrags. |
| std::string | value | | Wert des Eintrags. |
set (version 2)
Überschreibt einen nummerierten Eintrag mit dem angegebenen Namen im angegebenen Block mit einem neuen Wert. Falls der Eintrag noch nicht existiert, wird er neu angelegt.
Die Änderung wirkt sich nur auf die im Speicher geladenen Einstellungen aus. Verwenden Sie
save() um die Änderungen in die Settings-Datei zu schreiben.
Signature:
void set(std::string defName,std::string name,int i,std::string value)
Parameters:
| std::string | defName | | Name des Blocks. |
| std::string | name | | Name des Eintrags. |
| int | i | | Die Nummerierung als Suffix für den Namen eines Eintrags. Beispiel: Der Eintrag mit dem Namen "test" und der Nummerierung i=17 wird unter dem vollständigen Namen "test[17]" abgespeichert. |
| std::string | value | | Wert des Eintrags. |
get (version 1)
Ruft den Wert eines Eintrags ab.
Falls der Eintrag noch nicht existiert, wird ein solcher Eintrag mit einem Leerstring als Wert angelegt (und der leere String zurückgegeben).
Signature:
std::string get(std::string defName,std::string name)
Parameters:
| std::string | defName | | Name des Blocks. |
| std::string | name | | Name des Eintrags. |
Return value:Der Wert des angegebenen Eintrags des angegebenen Blocks.
get (version 2)
Ruft den Wert eines nummerierten Eintrags ab.
Falls der Eintrag noch nicht existiert, wird ein solcher Eintrag mit einem Leerstring als Wert angelegt (und der leere String zurückgegeben).
Signature:
std::string get(std::string defName,std::string name,int i)
Parameters:
| std::string | defName | | Name des Blocks. |
| std::string | name | | Name des Eintrags. |
| int | i | | Die Nummerierung als Suffix für den Namen eines Eintrags. Beispiel: Der Eintrag mit dem Namen "test" und der Nummerierung i=17 wird unter dem vollständigen Namen "test[17]" abgespeichert. |
Return value:Der Wert des angegebenen Eintrags des angegebenen Blocks.
exists (version 1)
Prüft, ob ein Eintrag existiert.
Signature:
bool exists(std::string defName,std::string name)
Parameters:
| std::string | defName | | Name des Blocks. |
| std::string | name | | Name des Eintrags. |
Return value:true falls der gesuchte Eintrag existiert, sonst
false.
exists (version 2)
Prüft, ob ein nummerierter Eintrag existiert.
Signature:
bool exists(std::string defName,std::string name,int i)
Parameters:
| std::string | defName | | Name des Blocks. |
| std::string | name | | Name des Eintrags. |
| int | i | | Die Nummerierung als Suffix für den Namen eines Eintrags. Beispiel: Der Eintrag mit dem Namen "test" und der Nummerierung i=17 wird unter dem vollständigen Namen "test[17]" abgespeichert. |
Return value:true falls der gesuchte Eintrag existiert, sonst
false.
getNameCount (version 1)
Gibt die Anzahl Einträge im angegebenen Block zurück.
Signature:
int getNameCount(std::string defName)
Parameters:
| std::string | defName | | Name des Blocks. |
Return value:Anzahl Einträge im angegebenen Block.
getNameCount (version 2)
Gibt die Anzahl Einträge mit dem angegebenen Namen im angegebenen Block zurück.
Signature:
int getNameCount(std::string defName,std::string name)
Parameters:
| std::string | defName | | Name des Blocks. |
| std::string | name | | Name des Eintrags. |
Return value:Anzahl Einträge mit angegebenem Namen im angegebenen Block.
getNextName (version 1)
Gibt den Namen des nächsten Eintrags im angegebenen Block zurück.
Durch wiederholten Aufruf dieser Methode können alle Einträge abgerufen werden.
Signature:
std::string getNextName(std::string defName)
Parameters:
| std::string | defName | | Name des Blocks. |
Return value:Der Name des nächsten Eintrags im angegebenen Block.
getNextName (version 2)
Gibt den (vollständigen, ggf. um eine Nummerierung erweiterten) Namen des nächsten Eintrags mit angegebenem Namen im angegebenen Block zurück.
Durch wiederholten Aufruf dieser Methode können alle Einträge abgerufen werden.
Signature:
std::string getNextName(std::string defName,std::string name)
Parameters:
| std::string | defName | | Name des Blocks. |
| std::string | name | | Name des Eintrags. |
Return value:Der Name des nächsten Eintrags mit angegebenem Namen im angegebenen Block.
getNextValue
Gibt den Wert des nächsten Eintrags mit angegebenem Namen im angegebenen Block zurück.
Durch wiederholten Aufruf dieser Methode können alle Einträge abgerufen werden.
Signature:
std::string getNextValue(std::string defName,std::string name)
Parameters:
| std::string | defName | | Name des Blocks. |
| std::string | name | | Name des Eintrags. |
Return value:Der Wert des nächsten Eintrags mit angegebenem Namen im angegebenen Block.
save
Schreibt die aktuell geladenen Einstellungen in eine Datei.
ACHTUNG: Falls die Datei nicht angelegt (bzw. beschrieben) werden kann, bricht das Programm mit
exit(EXIT_FAILURE) ab!
Signature:
void save(const char *filename)
Parameters:
| const char * | filename | [IN] | Dateiname der Settings-Datei (opt. inkl. Pfad) als null-terminierter String (in ASCII oder UTF-8 Codierung). |
save2
Schreibt die aktuell geladenen Einstellungen in eine Datei.
Signature:
bool save2(const char *filename)
Parameters:
| const char * | filename | [IN] | Dateiname der Settings-Datei (opt. inkl. Pfad) als null-terminierter String (in ASCII oder UTF-8 Codierung). |
Return value:Gibt
false zurück, falls die Datei nicht angelegt (bzw. nicht zum Schreiben geöffnet) werden konnte. Sonst wird
true zurückgegeben.