IniFile
Lade ...
Suche ...
Keine Treffer
ini::Section Klassenreferenz

Eine Sektion kann nur einmalig in einer INI-Datei vorkommen, steht in eckigen Klammern und hat in der Regel Variablen mit Werten. Mehr ...

#include <IniSection.h>

Klassendiagramm für ini::Section:

Öffentliche Methoden

 Section (const std::string &sCharLine)
 
virtual ~Section ()
 
std::string getName () const
 
void setName (const std::string &sName)
 
int getSectionLine (Line *&prRetVal, std::size_t nPosition, ptl::SeekMode eMode)
 
int insertSectionLine (Line *pIniLine, ptl::InsertPosition eInsertPosition=ptl::InsertCURRENT, ptl::VH eBeforeBehind=ptl::BEHIND)
 
int removeSectionLine (ptl::ElementPosition eFirstLastCurrent=ptl::CURRENT_POS)
 
void removeAllSectionLines ()
 
std::size_t getSectionSize ()
 
int getKeyLine (Line *&prRetVal, const std::string &sValueVariable)
 
int getKeyValue (std::string &rsValue, const std::string sValueVariable)
 
- Öffentliche Methoden geerbt von ini::Line
 Line (const std::string &sCharLine)
 
virtual ~Line ()
 
std::string getText () const
 
void setText (std::string sCharLine)
 
LINE_TYPE getType () const
 
std::size_t getLineSizeWithEOL () const
 

Geschützte Methoden

 Section (const std::string &sCharLine, LINE_TYPE eLineType)
 
 Section ()
 
int insertSectionInBlob (eut::Blob &rBlob)
 
- Geschützte Methoden geerbt von ini::Line
 Line (const std::string &sCharLine, LINE_TYPE eLineType)
 
 Line ()
 
char * getTextWithEOL () const
 

Private Methoden

 Section (const Section &)
 
Sectionoperator= (const Section &)
 

Private Attribute

ptl::TDVList< Linem_SektionList
 

Freundbeziehungen

class LineFactory
 
class File
 

Weitere Geerbte Elemente

- Geschützte Attribute geerbt von ini::Line
std::string m_sText
 
LINE_TYPE m_eLineType
 
LineFactory m_LineFactory
 

Ausführliche Beschreibung

Eine Sektion kann nur einmalig in einer INI-Datei vorkommen, steht in eckigen Klammern und hat in der Regel Variablen mit Werten.

Autor
Helmut Jakoby

Beschreibung der Konstruktoren und Destruktoren

◆ Section() [1/4]

ini::Section::Section ( const std::string & sCharLine)

Konstruktor mit Parameterübergabe.

Parameter
[in]sCharLineDer Text des Eintrags.

◆ ~Section()

virtual ini::Section::~Section ( )
virtual

Destruktor.

◆ Section() [2/4]

ini::Section::Section ( const std::string & sCharLine,
LINE_TYPE eLineType )
protected

Dieser Konstruktor mit Parameterübergabe steht nicht öffendlich zur Verfügung.

Parameter
[in]sCharLineDer Text des Eintrags.
[in]eLineTypeDer Typ des Eintrags, die Aufrufende Instanz muss den richtigen Typen, hier IniSECTION, ermittelt haben.

◆ Section() [3/4]

ini::Section::Section ( )
protected

Der Standartkonstruktor steht nicht öffendlich zur Verfügung.

◆ Section() [4/4]

ini::Section::Section ( const Section & )
private

Der Copy-Konstruktor steht nicht zur Verfügung.

Dokumentation der Elementfunktionen

◆ getKeyLine()

int ini::Section::getKeyLine ( Line *& prRetVal,
const std::string & sValueVariable )

Diese Methode liefert einen Zeiger auf eine Line aus dieser Sektion.

Parameter
[in,out]prRetValDie gefundene Line
[in]sValueVariableDie gesuchte Variable bzw. Wert
[386enh]
woafont=app850.fon <- Variable (woafont) mit Wert
Test123 <- Wert
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Achtung
Das gelieferte Objekt in prRetVal darf nicht von der aufrufenden Instanz aus dem Speicher entfernt werden!

◆ getKeyValue()

int ini::Section::getKeyValue ( std::string & rsValue,
const std::string sValueVariable )

Diese Methode liefert einen String, welcher dem Wert der Variable aus dem zweiten Parameter entspricht, aus dieser Sektion.

Parameter
[in,out]rsValueDer gefundene KeyValue als String.
[in]sValueVariableDie gesuchte Variable bzw. Wert
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ getName()

std::string ini::Section::getName ( ) const

Liefert die Bezeichnung der INI-Sektion.

Rückgabe
Die Bezeichnung als String ohne "[" und "]".

◆ getSectionLine()

int ini::Section::getSectionLine ( Line *& prRetVal,
std::size_t nPosition,
ptl::SeekMode eMode )

Liefert einen Line aus der m_SektionList in Bezug auf die ÜbergabeParameter.

Parameter
[in,out]prRetValübergebene Referenz in welche das gefundene Objekt "hineinkommt"
[in]nPositionOffset rellativ zur...
[in]eMode...Position

Parameterbeispiele:

  • Liefert erstes Element aus Liste: lPosition = 0; eMode = ptl::START
  • Liefert letztes Element aus Liste: lPosition = 0; eMode = ptl::END
  • Liefert aktuelles Element aus Liste: lPosition = 0; eMode = ptl::CURRENT_POS
  • Liefert nächstes Element aus Liste: lPosition = 1; eMode = ptl::CURRENT_POS
  • Liefert vorgeriges Element aus Liste: lPosition = -1; eMode = ptl::CURRENT_POS
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Achtung
Das gelieferte Objekt in prRetVal darf nicht von der aufrufenden Instanz aus dem Speicher entfernt werden!

◆ getSectionSize()

std::size_t ini::Section::getSectionSize ( )

Liefert die Sektionsgrösse aus den aktuellen Einträgen und seiner selbst (inkl. den EOLines).

Rückgabe
Die Länge der Sektionsgrösse.

◆ insertSectionInBlob()

int ini::Section::insertSectionInBlob ( eut::Blob & rBlob)
protected

Hängt seinen eigenen Sektionstext und die eigenen Einträge an übergebenen Blob an.

Parameter
[in,out]rBlobDieses Blob wird erweitert.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ insertSectionLine()

int ini::Section::insertSectionLine ( Line * pIniLine,
ptl::InsertPosition eInsertPosition = ptl::InsertCURRENT,
ptl::VH eBeforeBehind = ptl::BEHIND )

Fügt den übergebenen Eintrag in die m_SektionList ein.

Parameter
[in]pIniLineDas einzufügende Objekt der Klasse Line,
[in]eInsertPositionZeigt an, wohin das Datenobjekt in die Liste eingefügt werden soll. Mögliche Parameter sind ptl::InsertHEAD (am Anfang), ptl::InsertLAST (am Ende) oder ptl::InsertCURRENT (am aktuellen Element).
[in]eBeforeBehindGibt an, ob das neue Element vor oder hinter das, im Parameter eInsertPosition angegebene Element, gesetzt wird. Mögliche Parameter sind ptl::BEHIND und ptl::BEFORE
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Die Verantwortung für die übergebene Line übernimmt das Objekt dieser Klasse, die aufrufende Instanz darf das Objekt nicht aus dem Speicher entfernen.

◆ operator=()

Section & ini::Section::operator= ( const Section & )
private

Der Zuweisungsoperator steht nicht zur Verfügung.

◆ removeAllSectionLines()

void ini::Section::removeAllSectionLines ( )

Entfernt alle Einträge aus der m_SektionList. Von jedem Eintrag wird der Destruktor aufgerufen.

◆ removeSectionLine()

int ini::Section::removeSectionLine ( ptl::ElementPosition eFirstLastCurrent = ptl::CURRENT_POS)

Entfernt den Eintrag aus der m_SektionList.

Wenn ein nachfolgendes Element vorhanden ist, wird dieses zum aktuellen Element, ansonsten das vorherige Element, wenn dieses vorhanden ist. Vom entfernten Eintrag wird der Destruktor aufgerufen.

Parameter
[in]eFirstLastCurrentFolgende Werte sind möglich: ptl::FIRST_POS, ptl::LAST_POS, (default) ptl::CURRENT_POS, ptl::NEXT_POS und ptl::PREVIOUS_POS.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ setName()

void ini::Section::setName ( const std::string & sName)

Setzt den Text des INI-Eintrags.

Parameter
[in]sNameDie Bezeichnung als String ohne "[" und "]".

Freundbeziehungen und Funktionsdokumentation

◆ File

friend class File
friend

◆ LineFactory

friend class LineFactory
friend

Dokumentation der Datenelemente

◆ m_SektionList

ptl::TDVList<Line> ini::Section::m_SektionList
private

Liste der Einträge dieser Sektion.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: