GlobalObjects
Lade ...
Suche ...
Keine Treffer
GloBaseMaker.h
gehe zur Dokumentation dieser Datei
1#ifndef INC_GLOBASEMAKER_H
2#define INC_GLOBASEMAKER_H
3//-----------------------------------------------------------------------------
36//-----------------------------------------------------------------------------
37#include <string>
38#include "GloTypes.h"
39#include "GloSchemaInterface.h"
40#include "EuFileHelper.h"
41//-----------------------------------------------------------------------------
42namespace glo
43{
44 //---------------------------------------------------------------------------
45 #ifdef _MSC_VER
46 /* 'Bezeichner': Klasse 'Typ' benötigt eine DLL-Schnittstelle, die von... */
47 #pragma warning( disable : 4251 )
48 #endif
49 //---------------------------------------------------------------------------
72 {
73 private:
74 //============== Typedefs ===========
75 //-----------------------------------------------------------------------
109 typedef int (BaseMaker::*CREATE_FUNCPTR)( const std::string & rstrTargetPath,
110 const ClassInfo & rClassInfo,
111 bool bCreateNew ) const;
112 //-----------------------------------------------------------------------
143 typedef int (BaseMaker::*UPDATE_FUNCPTR)( const std::string & rstrTargetPath,
144 const ClassInfo & rClassInfo ) const;
145 //-----------------------------------------------------------------------
146
147 //============== Attribute
148 //-----------------------------------------------------------------------
160 std::shared_ptr< SchemaInterface > m_spSchemaInterface;
161 //-----------------------------------------------------------------------
176 //-----------------------------------------------------------------------
186 std::string m_strOutputLine;
187 //-----------------------------------------------------------------------
197 std::string m_strDokuLine;
198 //-----------------------------------------------------------------------
209 //-----------------------------------------------------------------------
219 std::string m_strDokuStarLine;
220 //-----------------------------------------------------------------------
231 //-----------------------------------------------------------------------
232
233 public:
234 //============== Konstruktoren
235 //-----------------------------------------------------------------------
246 //-----------------------------------------------------------------------
266 BaseMaker( const std::string & rstrSchemaFullName );
267 //-----------------------------------------------------------------------
279 BaseMaker( const SchemaInterface & rSchemaInterface );
280 //-----------------------------------------------------------------------
292 virtual ~BaseMaker();
293 //-----------------------------------------------------------------------
294
295 private:
296 //============== Konstruktoren
297 //-----------------------------------------------------------------------
308 //-----------------------------------------------------------------------
309
310 public:
311 //============== Init-Methoden
312 //-----------------------------------------------------------------------
322 void init();
323 //-----------------------------------------------------------------------
344 void setSchema( const std::string & rstrSchemaFullName );
345 //-----------------------------------------------------------------------
361 void setSchema( const SchemaInterface & rSchemaInterface );
362 //-----------------------------------------------------------------------
376 void setCommentBlockStartExt( const std::string & rstrCommentBlockStartExt );
377 //-----------------------------------------------------------------------
392 //-----------------------------------------------------------------------
393
394 //============== Generierungs Methoden
395 //-----------------------------------------------------------------------
420 int generateAllTables( const std::string & rstrTargetTablePath,
421 bool bCreateAllNew = false ) const;
422 //-----------------------------------------------------------------------
445 int writeTable( const std::string & rstrTargetTablePath,
446 const ClassInfo & rClassInfo,
447 bool bCreateNew ) const;
448 //-----------------------------------------------------------------------
472 int generateAllHeader( const std::string & rstrTargetHeaderPath,
473 bool bCreateAllNew) const;
474 //-----------------------------------------------------------------------
502 int generateHeader( const std::string & rstrTargetHeaderPath,
503 const ClassInfo & rClassInfo,
504 bool bCreateNew ) const;
505 //-----------------------------------------------------------------------
527 int updateAllHeader( const std::string & rstrTargetHeaderPath ) const;
528 //-----------------------------------------------------------------------
551 int updateHeader( const std::string & rstrTargetHeaderPath,
552 const ClassInfo & rClassInfo ) const;
553 //-----------------------------------------------------------------------
577 int generateAllSource( const std::string & rstrTargetSourcePath,
578 bool bCreateAllNew ) const;
579 //-----------------------------------------------------------------------
607 int generateSource( const std::string & rstrTargetSourcePath,
608 const ClassInfo & rClassInfo,
609 bool bCreateNew ) const;
610 //-----------------------------------------------------------------------
631 int updateAllSource( const std::string & rstrTargetSourcePath ) const;
632 //-----------------------------------------------------------------------
655 int updateSource( const std::string & rstrTargetSourcePath,
656 const ClassInfo & rClassInfo ) const;
657 //-----------------------------------------------------------------------
679 int generateObjCreator( const std::string & rstrTargetPath, bool bCreateNew ) const;
680 //-----------------------------------------------------------------------
696 int createIndex() const;
697 //-----------------------------------------------------------------------
698
699 //============== Prüf Methoden
700 //-----------------------------------------------------------------------
722 //-----------------------------------------------------------------------
739 int checkClassAttributes( const ClassInfo & rClassInfo ) const;
740 //-----------------------------------------------------------------------
759 int checkClassIndices( const ClassInfo & rClassInfo ) const;
760 //-----------------------------------------------------------------------
761
762 //============== Einschub-Methoden
763 //-----------------------------------------------------------------------
777 virtual void outputMsg( const std::string & rstrOutput ) const;
778 //-----------------------------------------------------------------------
796 virtual std::string getFileDescription( const ClassInfo & rClassInfo ) const;
797 //-----------------------------------------------------------------------
815 virtual std::string getClassDescription( const ClassInfo & rClassInfo ) const;
816 //-----------------------------------------------------------------------
834 virtual std::string getAttributeDescription( const ClassInfoAttribute & rClassInfoAttribute ) const;
835 //-----------------------------------------------------------------------
853 virtual std::string getIndexDescription( const ClassInfoIndex & rClassInfoIndex ) const;
854 //-----------------------------------------------------------------------
855
856 protected:
857 //============== Methoden
858 //-----------------------------------------------------------------------
885 int generateAllX( CREATE_FUNCPTR pMemberFunction,
886 const std::string & rstrTargetPath,
887 bool bCreateAllNew ) const;
888 //-----------------------------------------------------------------------
909 int updateAllX( UPDATE_FUNCPTR pMemberFunction,
910 const std::string & rstrTargetPath ) const;
911 //-----------------------------------------------------------------------
953 std::string getCreationNote( bool bWithWarning = true ) const;
954 //-----------------------------------------------------------------------
955
956 private:
957 //============== Operatoren
958 //-----------------------------------------------------------------------
968 inline BaseMaker & operator= ( const BaseMaker & );
969 //-----------------------------------------------------------------------
970 };
971 //---------------------------------------------------------------------------
972 #ifdef _MSC_VER
973 /* 'Bezeichner': Klasse 'Typ' benötigt eine DLL-Schnittstelle, die von... */
974 #pragma warning( default : 4251 )
975 #endif
976 //---------------------------------------------------------------------------
977} // namespace glo
978#endif
Header für FileHelper
Header für SchemaInterface
Für jede Bibliothek, hier 'GlobalObjects' gibt es eine Typen-Datei.
#define __glo_export_dll
Definition GloTypes.h:63
Generiert mit Hilfe vom SchemaInterface, Datentabellen, C++ Header- und Source-Files etc....
Definition GloBaseMaker.h:72
int updateHeader(const std::string &rstrTargetHeaderPath, const ClassInfo &rClassInfo) const
std::shared_ptr< SchemaInterface > m_spSchemaInterface
Definition GloBaseMaker.h:160
void setSchema(const std::string &rstrSchemaFullName)
virtual std::string getAttributeDescription(const ClassInfoAttribute &rClassInfoAttribute) const
int checkAllClassReferences() const
int generateHeader(const std::string &rstrTargetHeaderPath, const ClassInfo &rClassInfo, bool bCreateNew) const
std::string m_strDokuLine
Definition GloBaseMaker.h:197
void setCommentBlockStartExt(const std::string &rstrCommentBlockStartExt)
int writeTable(const std::string &rstrTargetTablePath, const ClassInfo &rClassInfo, bool bCreateNew) const
std::string m_strOutputLine
Definition GloBaseMaker.h:186
std::string m_strDokuAttributLine
Definition GloBaseMaker.h:230
virtual std::string getClassDescription(const ClassInfo &rClassInfo) const
int updateAllHeader(const std::string &rstrTargetHeaderPath) const
int updateAllSource(const std::string &rstrTargetSourcePath) const
std::string getCommentBlockStartExt()
int generateSource(const std::string &rstrTargetSourcePath, const ClassInfo &rClassInfo, bool bCreateNew) const
int generateObjCreator(const std::string &rstrTargetPath, bool bCreateNew) const
int generateAllTables(const std::string &rstrTargetTablePath, bool bCreateAllNew=false) const
int createIndex() const
std::string m_strCommentBlockStartExt
Definition GloBaseMaker.h:175
BaseMaker(const std::string &rstrSchemaFullName)
int updateSource(const std::string &rstrTargetSourcePath, const ClassInfo &rClassInfo) const
std::string getCreationNote(bool bWithWarning=true) const
int checkClassAttributes(const ClassInfo &rClassInfo) const
int updateAllX(UPDATE_FUNCPTR pMemberFunction, const std::string &rstrTargetPath) const
std::string m_strDokuStarLine
Definition GloBaseMaker.h:219
BaseMaker(const BaseMaker &)
int generateAllSource(const std::string &rstrTargetSourcePath, bool bCreateAllNew) const
int generateAllX(CREATE_FUNCPTR pMemberFunction, const std::string &rstrTargetPath, bool bCreateAllNew) const
virtual void outputMsg(const std::string &rstrOutput) const
void setSchema(const SchemaInterface &rSchemaInterface)
int checkClassIndices(const ClassInfo &rClassInfo) const
int generateAllHeader(const std::string &rstrTargetHeaderPath, bool bCreateAllNew) const
BaseMaker(const SchemaInterface &rSchemaInterface)
virtual ~BaseMaker()
virtual std::string getFileDescription(const ClassInfo &rClassInfo) const
std::string m_strDokuCrossLine
Definition GloBaseMaker.h:208
virtual std::string getIndexDescription(const ClassInfoIndex &rClassInfoIndex) const
In Objekten dieser Klasse sind die Information für GlobalObjects, wie ein persistentes Klassenattribu...
Definition GloClassInfoAttribute.h:76
Diese Klasse beinhaltet alle Informationen um Objekte einer Klasse in einer Datenbank speichern zu kö...
Definition GloClassInfo.h:79
In Objekten dieser Klasse sind die Information für GlobalObjects, wie ein Index aufgebaut ist.
Definition GloClassInfoIndex.h:78
Diese Klasse ist die Schnittstelle zu einem GlobalObjects-Schema. Sie beinhaltet alle Klasseninformat...
Definition GloSchemaInterface.h:84
Definition GloAbstractBaseLot.h:42