Generiert mit Hilfe vom SchemaInterface, Datentabellen, C++ Header- und Source-Files etc..
Mehr ...
#include <GloBaseMaker.h>
|
| BaseMaker () |
|
| BaseMaker (const SchemaInterface &rSchemaInterface) |
|
| BaseMaker (const std::string &rstrSchemaFullName) |
|
virtual | ~BaseMaker () |
|
int | checkAllClassReferences () const |
|
int | checkClassAttributes (const ClassInfo &rClassInfo) const |
|
int | checkClassIndices (const ClassInfo &rClassInfo) const |
|
int | createIndex () const |
|
int | generateAllHeader (const std::string &rstrTargetHeaderPath, bool bCreateAllNew) const |
|
int | generateAllSource (const std::string &rstrTargetSourcePath, bool bCreateAllNew) const |
|
int | generateAllTables (const std::string &rstrTargetTablePath, bool bCreateAllNew=false) const |
|
int | generateHeader (const std::string &rstrTargetHeaderPath, const ClassInfo &rClassInfo, bool bCreateNew) const |
|
int | generateObjCreator (const std::string &rstrTargetPath, bool bCreateNew) const |
|
int | generateSource (const std::string &rstrTargetSourcePath, const ClassInfo &rClassInfo, bool bCreateNew) const |
|
virtual std::string | getAttributeDescription (const ClassInfoAttribute &rClassInfoAttribute) const |
|
virtual std::string | getClassDescription (const ClassInfo &rClassInfo) const |
|
std::string | getCommentBlockStartExt () |
|
virtual std::string | getFileDescription (const ClassInfo &rClassInfo) const |
|
virtual std::string | getIndexDescription (const ClassInfoIndex &rClassInfoIndex) const |
|
std::string | getTextBeforeKeywordPersistent () |
|
std::string | getTextBeforeKeywordTransient () |
|
std::string | getTextBehindKeywordPersistent () |
|
std::string | getTextBehindKeywordTransient () |
|
void | init () |
|
virtual void | outputMsg (const std::string &rstrOutput) const |
|
void | setCommentBlockStartExt (const std::string &rstrCommentBlockStartExt) |
|
void | setSchema (const SchemaInterface &rSchemaInterface) |
|
void | setSchema (const std::string &rstrSchemaFullName) |
|
void | setTextBeforeKeywordPersistent (const std::string &rstrBeforeKeywordPersistent) |
|
void | setTextBeforeKeywordTransient (const std::string &rstrBeforeKeywordTransient) |
|
void | setTextBehindKeywordPersistent (const std::string &rstrBehindKeywordPersistent) |
|
void | setTextBehindKeywordTransient (const std::string &rstrBehindKeywordTransient) |
|
int | updateAllHeader (const std::string &rstrTargetHeaderPath) const |
|
int | updateAllSource (const std::string &rstrTargetSourcePath) const |
|
int | updateHeader (const std::string &rstrTargetHeaderPath, const ClassInfo &rClassInfo) const |
|
int | updateSource (const std::string &rstrTargetSourcePath, const ClassInfo &rClassInfo) const |
|
int | writeTable (const std::string &rstrTargetTablePath, const ClassInfo &rClassInfo, bool bCreateNew) const |
|
|
typedef int(BaseMaker::*) | CREATE_FUNCPTR(const std::string &rstrTargetPath, const ClassInfo &rClassInfo, bool bCreateNew) const |
|
typedef int(BaseMaker::*) | UPDATE_FUNCPTR(const std::string &rstrTargetPath, const ClassInfo &rClassInfo) const |
|
Generiert mit Hilfe vom SchemaInterface, Datentabellen, C++ Header- und Source-Files etc..
Es kann von dieser Klasse abgeleitet werden und z.B. die Informationsausgabe in Methode BaseMaker::outputMsg() nicht per std::cout, sondern anderweitig auszugeben.
- Copyright
- © 2010 Helmut Jakoby
- Autor
- Helmut Jakoby
◆ CREATE_FUNCPTR
int(BaseMaker::*) glo::BaseMaker::CREATE_FUNCPTR(const std::string &rstrTargetPath, const ClassInfo &rClassInfo, bool bCreateNew) const |
|
private |
Dieser Methodentyp sollen an Methode BaseMaker::generateAllX (...)const zum bearbeiten übergeben werden.
- Parameter
-
[in] | rstrTargetPath | Der Pfad, in welchen die Date angelegt werden soll wie z.B. "C:/Pfad/include/" oder "C:/Pfad/source/". |
[in] | rClassInfo | Die Klasseninformation mit den nötigen Informationen. |
[in] | bCreateNew | Wenn true, wird auch eine vorhandene Datei überschrieben! |
- Rückgabe
- Ein Rückgabewert < 0 zeigt einen Fehler an.
- Siehe auch
- generateAllX(CREATE_FUNCPTR, const std::string&, bool)const
genutzt in
◆ UPDATE_FUNCPTR
int(BaseMaker::*) glo::BaseMaker::UPDATE_FUNCPTR(const std::string &rstrTargetPath, const ClassInfo &rClassInfo) const |
|
private |
Dieser Methodentyp sollen an Methode BaseMaker::updateAllX (...)const zum bearbeiten übergeben werden.
- Parameter
-
[in] | rstrTargetPath | Der Pfad, in welcher die Datei angepasst werden soll wie z.B. "C:/Pfad/include/" oder "C:/Pfad/source/". |
[in] | rClassInfo | Die Klasseninformation mit den nötigen Informationen. |
- Rückgabe
- Ein Rückgabewert < 0 zeigt einen Fehler an.
- Siehe auch
- updateAllX(UPDATE_FUNCPTR, const std::string&)const
genutzt in
◆ BaseMaker() [1/4]
glo::BaseMaker::BaseMaker |
( |
| ) |
|
◆ BaseMaker() [2/4]
glo::BaseMaker::BaseMaker |
( |
const std::string & | rstrSchemaFullName | ) |
|
Konstruktor mit Parameterübergabe.
- Parameter
-
[in] | rstrSchemaFullName | Der vollständige Dateiname des Schemas; z.B. "C:/Pfad/MyGloBase.ini". |
- Ausnahmebehandlung
-
- Achtung
- Wenn die Datei existiert, wird ein SchemaInterface in m_spSchemaInterface instanziiert.
◆ BaseMaker() [3/4]
Konstruktor mit Parameterübergabe.
- Parameter
-
◆ ~BaseMaker()
virtual glo::BaseMaker::~BaseMaker |
( |
| ) |
|
|
virtual |
◆ BaseMaker() [4/4]
glo::BaseMaker::BaseMaker |
( |
const BaseMaker & | | ) |
|
|
private |
Der Copy-Konstruktor steht nicht zur Verfügung.
◆ checkAllClassReferences()
int glo::BaseMaker::checkAllClassReferences |
( |
| ) |
const |
◆ checkClassAttributes()
int glo::BaseMaker::checkClassAttributes |
( |
const ClassInfo & | rClassInfo | ) |
const |
Es werden alle Referenz-Attribute der übergebenen Klasseninformation auf vorhandensein der referenzierten Klasseninformationen geprüft.
Es werden die Ergebnisse über outputMsg(const std::string&)const ausgegeben.
- Parameter
-
[in] | rClassInfo | Die zu prüfende Klasseninformation. |
- Rückgabe
- Ein Rückgabewert < 0 zeigt einen Fehler an.
◆ checkClassIndices()
int glo::BaseMaker::checkClassIndices |
( |
const ClassInfo & | rClassInfo | ) |
const |
Es werden alle Indizes der übergebenen Klasseninformation auf vorhandensein der referenzierten Klasseninformationen und Klasseninformations-Attribute geprüft.
Es werden die Ergebnisse über outputMsg(const std::string&)const ausgegeben.
- Parameter
-
[in] | rClassInfo | Die zu prüfende Klasseninformation. |
- Rückgabe
- Ein Rückgabewert < 0 zeigt einen Fehler an.
◆ createIndex()
int glo::BaseMaker::createIndex |
( |
| ) |
const |
◆ generateAllHeader()
int glo::BaseMaker::generateAllHeader |
( |
const std::string & | rstrTargetHeaderPath, |
|
|
bool | bCreateAllNew ) const |
Es werden im übergebenen Verzeichnis die einzelnen Header-Files angelegt.
Übergibt generateHeader (...) an generateAllX (...).
- Parameter
-
[in] | rstrTargetHeaderPath | Der Pfad, in welchen die Header-Files angelegt werden sollen wie z.B. "C:/Pfad/include/". |
[in] | bCreateAllNew | Wenn true, werden vorhandene Dateien überschrieben, ansonsten nicht. |
- Rückgabe
- Ein Rückgabewert < 0 zeigt einen Fehler an.
◆ generateAllSource()
int glo::BaseMaker::generateAllSource |
( |
const std::string & | rstrTargetSourcePath, |
|
|
bool | bCreateAllNew ) const |
Es werden im übergebenen Verzeichnis die einzelnen Source-Files angelegt.
Übergibt generateSource (...) an generateAllX (...).
- Parameter
-
[in] | rstrTargetSourcePath | Der Pfad, in welchen die Source-Files angelegt werden sollen wie z.B. "C:/Pfad/source/". |
[in] | bCreateAllNew | Wenn true, werden vorhandene Dateien überschrieben, ansonsten nicht. |
- Rückgabe
- Ein Rückgabewert < 0 zeigt einen Fehler an.
◆ generateAllTables()
int glo::BaseMaker::generateAllTables |
( |
const std::string & | rstrTargetTablePath, |
|
|
bool | bCreateAllNew = false ) const |
Es werden im übergebenen Verzeichnis die einzelnen Tabellendateien angelegt.
Übergibt writeTable (...) an generateAllX (...).
- Parameter
-
[in] | rstrTargetTablePath | Der Pfad, in welchen die Tabellen angelegt werden sollen wie z.B. "C:/Pfad/Data/". |
[in] | bCreateAllNew | Wenn true, werden vorhandene Dateien überschrieben, ansonsten nicht. |
- Rückgabe
- Ein Rückgabewert < 0 zeigt einen Fehler an.
◆ generateAllX()
int glo::BaseMaker::generateAllX |
( |
CREATE_FUNCPTR | pMemberFunction, |
|
|
const std::string & | rstrTargetPath, |
|
|
bool | bCreateAllNew ) const |
|
protected |
◆ generateHeader()
int glo::BaseMaker::generateHeader |
( |
const std::string & | rstrTargetHeaderPath, |
|
|
const ClassInfo & | rClassInfo, |
|
|
bool | bCreateNew ) const |
Es wird ein Header-File einer Klasseninformation in übergebenen Verzeichnis angelegt.
Der Datei- und Klassenname sowie die einzelnen Attribut- und Methodenbezeichnungen werden aus der Klasseninformation ermittelt.
- Parameter
-
[in] | rstrTargetHeaderPath | Der Pfad, in welchen das Header-File angelegt werden soll wie z.B. "C:/Pfad/include/". |
[in] | rClassInfo | Die Klasseninformation mit den nötigen Informationen. |
[in] | bCreateNew | Wenn true, wird eine vorhandene Datei überschrieben, ansonsten nicht. |
- Rückgabe
- Ein Rückgabewert < 0 zeigt einen Fehler an.
◆ generateObjCreator()
int glo::BaseMaker::generateObjCreator |
( |
const std::string & | rstrTargetPath, |
|
|
bool | bCreateNew ) const |
Generiert im übergebenen Verzeichnis den spezifischen ObjCreator. Die Bezeichnung setzt sich aus der Schemabezeichnung plus "ObjCreator.h" zusammen (z.B. "MyBaseObjCreator.h").
- Parameter
-
[in] | rstrTargetPath | Der Pfad, in welchen der Header-File angelegt werden soll |
[in] | bCreateNew | Wenn true, wird eine vorhandene Datei überschrieben, ansonsten nicht. |
- Rückgabe
- Ein Rückgabewert < 0 zeigt einen Fehler an.
◆ generateSource()
int glo::BaseMaker::generateSource |
( |
const std::string & | rstrTargetSourcePath, |
|
|
const ClassInfo & | rClassInfo, |
|
|
bool | bCreateNew ) const |
Es wird ein Source-File einer Klasseninformation in übergebenen Verzeichnis angelegt.
Der Datei- und Klassenname sowie die einzelnen Attribut- und Methodenbezeichnungen werden aus der Klasseninformation ermittelt.
- Parameter
-
[in] | rstrTargetSourcePath | Der Pfad, in welchen das Source-File angelegt werden soll wie z.B. "C:/Pfad/source/". |
[in] | rClassInfo | Die Klasseninformation mit den nötigen Informationen. |
[in] | bCreateNew | Wenn true, wird eine vorhandene Datei überschrieben, ansonsten nicht. |
- Rückgabe
- Ein Rückgabewert < 0 zeigt einen Fehler an.
◆ getAttributeDescription()
virtual std::string glo::BaseMaker::getAttributeDescription |
( |
const ClassInfoAttribute & | rClassInfoAttribute | ) |
const |
|
virtual |
Liefert die Attributbeschreibung welche in ein Header-File einer Klassenattributdeklaration geschrieben werden soll. Kann überschrieben werden um ggf. an der Klassenattributbeschreibung Änderungen vorzunehmen.
- Parameter
-
[in] | rClassInfoAttribute | Das Klasseninformations-Attribut dessen Beschreibung geliefert werden soll. |
◆ getClassDescription()
virtual std::string glo::BaseMaker::getClassDescription |
( |
const ClassInfo & | rClassInfo | ) |
const |
|
virtual |
Liefert die Klassenbeschreibung welche in ein Header-File einer Klassendeklaration geschrieben werden soll. Kann überschrieben werden um ggf. an der Klassenbeschreibung Änderungen vorzunehmen.
- Parameter
-
[in] | rClassInfo | Die Klasseninformation deren Klassenbeschreibung geliefert werden soll. |
◆ getCommentBlockStartExt()
std::string glo::BaseMaker::getCommentBlockStartExt |
( |
| ) |
|
Liefert den String, welcher den Kommentarblock einleitenden Zeichen angefügt wird.
- Rückgabe
- Der anzufügende String.
◆ getCreationNote()
std::string glo::BaseMaker::getCreationNote |
( |
bool | bWithWarning = true | ) |
const |
|
protected |
Liefert den Erstellungshinweis, der in jede erstellte Datei am Anfang als Kommentar eingefügt wird.
- Parameter
-
[in] | bWithWarning | Wenn true (Voreinstellung) wird zusätzlich eine Warnung geschrieben. |
- Rückgabe
- s.o.
◆ getFileDescription()
virtual std::string glo::BaseMaker::getFileDescription |
( |
const ClassInfo & | rClassInfo | ) |
const |
|
virtual |
Liefert die Dateibeschreibung welche in ein Header-File einer Klassendeklaration geschrieben werden soll. Kann überschrieben werden um ggf. an der Dateibeschreibung Änderungen vorzunehmen.
- Parameter
-
[in] | rClassInfo | Die Klasseninformation deren Dateibeschreibung geliefert werden soll. |
◆ getIndexDescription()
virtual std::string glo::BaseMaker::getIndexDescription |
( |
const ClassInfoIndex & | rClassInfoIndex | ) |
const |
|
virtual |
Liefert die Indexbeschreibung welche in ein Header-File einer Klassenindexdeklaration geschrieben werden soll. Kann überschrieben werden um ggf. an der Klassenindexbeschreibung Änderungen vorzunehmen.
- Parameter
-
[in] | rClassInfoIndex | Das Klasseninformations-Index dessen Beschreibung geliefert werden soll. |
◆ getTextBeforeKeywordPersistent()
std::string glo::BaseMaker::getTextBeforeKeywordPersistent |
( |
| ) |
|
◆ getTextBeforeKeywordTransient()
std::string glo::BaseMaker::getTextBeforeKeywordTransient |
( |
| ) |
|
◆ getTextBehindKeywordPersistent()
std::string glo::BaseMaker::getTextBehindKeywordPersistent |
( |
| ) |
|
◆ getTextBehindKeywordTransient()
std::string glo::BaseMaker::getTextBehindKeywordTransient |
( |
| ) |
|
◆ init()
void glo::BaseMaker::init |
( |
| ) |
|
Setzt die String-Attribute.
◆ operator=()
Der Zuweisungsoperator steht nicht zur Verfügung.
◆ outputMsg()
virtual void glo::BaseMaker::outputMsg |
( |
const std::string & | rstrOutput | ) |
const |
|
virtual |
Hier werden die Einzelschritte der einzelnen Aufgaben per std::cout ausgegeben. Kann überschrieben werden um die Ausgabe umzuleiten (z.B. in ein Window).
- Parameter
-
[in] | rstrOutput | Die Information, welche ausgegeben werden soll. |
◆ setCommentBlockStartExt()
void glo::BaseMaker::setCommentBlockStartExt |
( |
const std::string & | rstrCommentBlockStartExt | ) |
|
Setzt den String, welcher den Kommentarblock einleitenden Zeichen angefügt wird.
- Parameter
-
[in] | rstrCommentBlockStartExt | Der anzufügende String. |
◆ setSchema() [1/2]
◆ setSchema() [2/2]
void glo::BaseMaker::setSchema |
( |
const std::string & | rstrSchemaFullName | ) |
|
Setzt das SchemaInterface.
- Parameter
-
[in] | rstrSchemaFullName | Der vollständige Dateiname des Schemas; z.B. "C:/Pfad/MyGloBase.ini". |
- Ausnahmebehandlung
-
- Achtung
- Wenn die Datei existiert, wird ein SchemaInterface instanziiert. Ein evtl. vorher vorhandeses SchemaInterface wird aus dem Speicher entfernt.
◆ setTextBeforeKeywordPersistent()
void glo::BaseMaker::setTextBeforeKeywordPersistent |
( |
const std::string & | rstrBeforeKeywordPersistent | ) |
|
◆ setTextBeforeKeywordTransient()
void glo::BaseMaker::setTextBeforeKeywordTransient |
( |
const std::string & | rstrBeforeKeywordTransient | ) |
|
◆ setTextBehindKeywordPersistent()
void glo::BaseMaker::setTextBehindKeywordPersistent |
( |
const std::string & | rstrBehindKeywordPersistent | ) |
|
◆ setTextBehindKeywordTransient()
void glo::BaseMaker::setTextBehindKeywordTransient |
( |
const std::string & | rstrBehindKeywordTransient | ) |
|
◆ updateAllHeader()
int glo::BaseMaker::updateAllHeader |
( |
const std::string & | rstrTargetHeaderPath | ) |
const |
Es werden übergebenen Verzeichnis die einzelnen Header-Files angepasst, wenn vorhanden.
Übergibt updateHeader (...) an updateAllX (...).
- Parameter
-
[in] | rstrTargetHeaderPath | Der Pfad, in welchen die Header-Files angepasst werden sollen wie z.B. "C:/Pfad/include/". |
- Rückgabe
- Ein Rückgabewert < 0 zeigt einen Fehler an.
◆ updateAllSource()
int glo::BaseMaker::updateAllSource |
( |
const std::string & | rstrTargetSourcePath | ) |
const |
Es werden im übergebenen Verzeichnis die einzelnen Source-Files angepasst, wenn vorhanden.
Übergibt updateSource (...) an updateAllX (...).
- Parameter
-
[in] | rstrTargetSourcePath | Der Pfad, in welchen die Source-Files angepasst werden sollen wie z.B. "C:/Pfad/source/". |
- Rückgabe
- Ein Rückgabewert < 0 zeigt einen Fehler an.
◆ updateAllX()
int glo::BaseMaker::updateAllX |
( |
UPDATE_FUNCPTR | pMemberFunction, |
|
|
const std::string & | rstrTargetPath ) const |
|
protected |
◆ updateHeader()
int glo::BaseMaker::updateHeader |
( |
const std::string & | rstrTargetHeaderPath, |
|
|
const ClassInfo & | rClassInfo ) const |
Es wird ein Header-File einer Klasseninformation im übergebenen Verzeichnis angepasst, wenn vorhanden. Der Datei- und Klassenname sowie die einzelnen Attribut- und Methodenbezeichnungen werden aus der Klasseninformation ermittelt.
- Parameter
-
[in] | rstrTargetHeaderPath | Der Pfad, in welchen das Header-File angepasst werden soll wie z.B. "C:/Pfad/include/". |
[in] | rClassInfo | Die Klasseninformation mit den nötigen Informationen. |
- Rückgabe
- Ein Rückgabewert < 0 zeigt einen Fehler an.
◆ updateSource()
int glo::BaseMaker::updateSource |
( |
const std::string & | rstrTargetSourcePath, |
|
|
const ClassInfo & | rClassInfo ) const |
Es wird ein Source-File einer Klasseninformation in übergebenen Verzeichnis angepasst, wenn vorhanden. Der Datei- und Klassenname sowie die einzelnen Attribut- und Methodenbezeichnungen werden aus der Klasseninformation ermittelt.
- Parameter
-
[in] | rstrTargetSourcePath | Der Pfad, in welchen das Source-File angepasst werden soll wie z.B. "C:/Pfad/source/". |
[in] | rClassInfo | Die Klasseninformation mit den nötigen Informationen. |
- Rückgabe
- Ein Rückgabewert < 0 zeigt einen Fehler an.
◆ writeTable()
int glo::BaseMaker::writeTable |
( |
const std::string & | rstrTargetTablePath, |
|
|
const ClassInfo & | rClassInfo, |
|
|
bool | bCreateNew ) const |
Es wird eine Tabellendatei einer Klasseninformation in übergebenen Verzeichnis angelegt.
- Parameter
-
[in] | rstrTargetTablePath | Der Pfad, in welchen die Tabelle angelegt werden soll wie z.B. "C:/Pfad/Data/". |
[in] | rClassInfo | Die Klasseninformation mit der Tabellenbezeichnung. |
[in] | bCreateNew | Wenn true, wird eine vorhandene Datei überschrieben, ansonsten nicht. |
- Rückgabe
- Ein Rückgabewert < 0 zeigt einen Fehler an.
◆ m_spSchemaInterface
Um Datentabellen, C++ Header- und Source-File generieren zu können, muß das Schema im Zugriff sein.
◆ m_strBeforeKeywordPersistent
std::string glo::BaseMaker::m_strBeforeKeywordPersistent |
|
private |
Dem GlobalObjects Schlüsselwort "persistent" kann im generierten Header ein String in der darüber liegenden Zeile vorangestellt werden.
◆ m_strBeforeKeywordTransient
std::string glo::BaseMaker::m_strBeforeKeywordTransient |
|
private |
Dem GlobalObjects Schlüsselwort "transient" kann im generierten Header ein String in der darüber liegenden Zeile vorangestellt werden.
◆ m_strBehindKeywordPersistent
std::string glo::BaseMaker::m_strBehindKeywordPersistent |
|
private |
Dem GlobalObjects Schlüsselwort "persistent" kann im generierten Header ein String in der in der darunter liegenden Zeile angefügt werden.
◆ m_strBehindKeywordTransient
std::string glo::BaseMaker::m_strBehindKeywordTransient |
|
private |
Dem GlobalObjects Schlüsselwort "transient" kann im generierten Header ein String in der in der darunter liegenden Zeile angefügt werden.
◆ m_strCommentBlockStartExt
std::string glo::BaseMaker::m_strCommentBlockStartExt |
|
private |
Ein Kommentarblock wird mit Slash-Sternchen eingeleitet und mit Sternchen-Slash abgeschlossen.
Ein hier abgelegter String wird den einleitenden Kommentarzeichen angefügt.
◆ m_strDokuAttributLine
std::string glo::BaseMaker::m_strDokuAttributLine |
|
private |
Eine Trennlinie aus '-' als Kommentar für die Attribute (Optik).
◆ m_strDokuCrossLine
std::string glo::BaseMaker::m_strDokuCrossLine |
|
private |
Eine Trennlinie aus '+' als Kommentar für die Header- und Source-Files (Optik).
◆ m_strDokuLine
std::string glo::BaseMaker::m_strDokuLine |
|
private |
Eine Trennlinie aus '-' als Kommentar für die Header- und Source-Files (Optik).
◆ m_strDokuStarLine
std::string glo::BaseMaker::m_strDokuStarLine |
|
private |
Eine Trennlinie aus '*' als Kommentar für die Header- und Source-Files (Optik).
◆ m_strOutputLine
std::string glo::BaseMaker::m_strOutputLine |
|
private |
Eine Trennlinie aus '-' für die Informationsausgabe.
Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: