1#ifndef INC_GLOSCHEMAINTERFACE_H
2#define INC_GLOSCHEMAINTERFACE_H
46 #pragma warning( disable : 4251 )
64 #pragma warning( disable : 4251 )
188 const std::string & rsIndexPath,
189 int iSignificantCharacter );
376 SchemaInterface(
const std::map<
unsigned long, std::shared_ptr<glo::ClassInfo> > rClassInfoMap );
406 bool bInDeveloperMode =
false );
438 bool bInDeveloperMode,
944 unsigned long ulClassID )
const;
986 unsigned long ulClassID,
987 bool bCopy =
true )
const;
1029 unsigned long ulClassID,
1030 bool bCopy =
true )
const;
1083 unsigned long ulClassID,
1084 bool bCopy =
true )
const;
1125 unsigned long ulClassID,
1126 bool bCopy =
true )
const;
1160 bool bCopy =
true )
const;
1194 unsigned long ulClassID,
1195 const std::string & rsTableName,
1196 const std::string & rsFieldName )
const;
1226 const std::string & rsTableName,
1227 const std::string & rsFieldName )
const;
1257 const std::string & rsClassName,
1258 const std::string & rsAttributeName )
const;
1316 unsigned long ulClassID,
1317 bool bWithSuperClassAttributes =
true )
const;
1371 const std::string & rsClassName,
1372 const std::string & rsIndexName )
const;
1396 unsigned long ulClassID )
const;
1415 int getAllTableNames( std::map< std::string, std::string, std::less<std::string> > & rTableNameContainer )
const;
1453 unsigned long ulClassIDSubClass )
const;
1507 const std::string & rsNewReferenceName,
1508 std::map<
unsigned long,
ClassInfo *, std::less<unsigned long> > * pChangedClassesContainer );
1564 unsigned long ulClassID,
1611 unsigned long ulClassID,
1692 #pragma warning( default : 4251 )
1699 #pragma warning( default : 4251 )
Header for ClassInfo and ClassInfo::SuperClassIdInfoTuple
Header for ClassInfoAttribute and ClassInfoAttribute::Type
Header for ClassInfoIndex and ClassInfoIndex::IndexAttributeItem
For each library, here 'GlobalObjects' there is a type file.
#define __glo_export_dll
Definition GloTypes.h:70
This class reflects a unique ID of a class information attribute.
Definition GloAttributeID.h:81
Generated using the SchemaInterface, data tables, C++ header and source files etc....
Definition GloBaseMaker.h:79
In objects of this class, the information for GlobalObjects is how a persistent class attribute is st...
Definition GloClassInfoAttribute.h:83
This class contains all information to store objects of a class in a database, to build objects from ...
Definition GloClassInfo.h:86
In objects of this class, the information for GlobalObjects is how an index is structured.
Definition GloClassInfoIndex.h:85
Objects of this class transport the data from the tables into the persistent object and from these ag...
Definition GloRecord.h:108
This class is the interface to a GlobalObjects schema. It contains all class information to store obj...
Definition GloSchemaInterface.h:91
int getSubClassInfos(std::map< unsigned long, ClassInfo *, std::less< unsigned long > > &rSubClassInfoContainer, unsigned long ulClassID, bool bCopy, bool bDeep) const
ClassInfoAttribute * getClassInfoAttributeByTableAndFieldName(int &riErr, const std::string &rsTableName, const std::string &rsFieldName) const
SchemaInterface(const SchemaInterface &rT)
std::string getDataSubDir() const
int getAllTableNames(std::map< std::string, std::string, std::less< std::string > > &rTableNameContainer) const
virtual ~SchemaInterface()
int insertClassInfo(ClassInfo *pNewClassInfo)
std::map< unsignedlong, ClassInfo * >::iterator m_ClassInfoMapIterator
Definition GloSchemaInterface.h:316
std::string m_sSchemaDataPath
Definition GloSchemaInterface.h:292
int getAllAttributes(std::map< std::string, ClassInfoAttribute *, std::less< std::string > > &rRetValContainer) const
bool isSuperClassFrom(unsigned long ulClassIDSuperClass, unsigned long ulClassIDSubClass) const
void setDescription(const std::string &rsDescription)
SchemaInterface(const std::map< unsigned long, std::shared_ptr< glo::ClassInfo > > rClassInfoMap)
std::string getDataPath() const
int changeClassNameDotAttributNameInAttributeID(std::vector< TempGloClassInfoIndex > &rTempGloClassInfoIndexVector)
int getSubClassInfos(std::map< unsigned long, ClassInfo *, std::less< unsigned long > > &rSubClassInfoContainer, unsigned long ulClassID, bool bCopy=true) const
void setVersion(unsigned long ulVersion)
void setSchemaFullName(const std::string &rsSchemaFullName)
int getAllClassInfos(std::map< unsigned long, ClassInfo *, std::less< unsigned long > > &rClassInfoContainer, bool bCopy=true) const
bool m_bInDeveloperMode
Definition GloSchemaInterface.h:217
bool classInfoFileNameExisting(const std::string &rsClassFileName) const
bool classInfoNameExisting(const std::string &rsClassName) const
ClassInfoIndex * getClassInfoIndexByClassAndIndexName(int &riErr, const std::string &rsClassName, const std::string &rsIndexName) const
ClassInfoAttribute * getClassInfoAttributeByTableAndFieldName(int &riErr, unsigned long ulClassID, const std::string &rsTableName, const std::string &rsFieldName) const
std::string getSchemaFullName() const
void setSubClassInfosInAllClassInfo()
std::string m_sSchemaFullName
Definition GloSchemaInterface.h:265
int getAllSubClassInfos(std::map< unsigned long, ClassInfo *, std::less< unsigned long > > &rSubClassInfoContainer, unsigned long ulClassID, bool bCopy=true) const
int destroyClassInfo(unsigned long ulClassID)
ClassInfo * getClassInfo(EnSeekMode eMode)
void deleteAllClassInfos()
std::string _DEBUG_ToString()
unsigned long getVersion() const
int getAllTableNames(std::vector< std::string > &rTableNameContainer, unsigned long ulClassID) const
unsigned long getNextClassID()
std::string m_sDataSubDir
Definition GloSchemaInterface.h:278
SchemaInterface(const std::string &rsSchemaFullName, bool bInDeveloperMode=false)
std::string getDescription() const
SchemaInterface(const std::string &rsSchemaFullName, bool bInDeveloperMode, bool bNew)
std::string getSchemaPath() const
ClassInfoAttribute * getClassInfoAttributeByAttributeID(int &riErr, const AttributeID &rAttributeID) const
void changeAllClassReferences(const std::string &rsOldReferenceName, const std::string &rsNewReferenceName, std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *pChangedClassesContainer)
SchemaInterface(const std::map< unsigned long, ClassInfo * > *pClassInfoMap)
ClassInfo * getClassInfoByID(unsigned long ulClassID) const
bool tableNameExisting(const std::string &rsTableName) const
int getAllAttributes(std::set< ClassInfoAttribute * > &rRetValContainer, unsigned long ulClassID, bool bWithSuperClassAttributes=true) const
unsigned long m_ulVersion
Definition GloSchemaInterface.h:252
std::size_t getNumberOfClassInfos() const
int getAllSuperClassIDs(std::set< unsigned long > &rSuperClassIdSet, unsigned long ulClassID) const
std::map< unsigned long, ClassInfo *, std::less< unsigned long > > m_ClassInfoMap
Definition GloSchemaInterface.h:303
ClassInfo * getClassInfoByMainTable(const std::string &rsMainTableName) const
void setSchemaID(unsigned long ulID)
unsigned long getSchemaID() const
int getSuperClassInfos(std::map< unsigned long, ClassInfo *, std::less< unsigned long > > &rSuperClassInfoContainer, unsigned long ulClassID, bool bCopy=true) const
int getSuperClassInfos(std::map< unsigned long, ClassInfo *, std::less< unsigned long > > &rSuperClassInfoContainer, unsigned long ulClassID, bool bCopy, bool bDeep) const
int getAllSuperClassInfos(std::map< unsigned long, ClassInfo *, std::less< unsigned long > > &rSuperClassInfoContainer, unsigned long ulClassID, bool bCopy=true) const
std::vector< unsigned long > m_CurrentlyAssignedClassIDVector
Definition GloSchemaInterface.h:329
void setDataSubDir(const std::string &rsDataSubDir)
bool classIdExisting(unsigned long ulClassID) const
void copyClassInfoListFrom(const SchemaInterface &rT)
ClassInfo * getClassInfoByName(const std::string &rsClassName) const
std::string m_sDescription
Definition GloSchemaInterface.h:239
unsigned long m_ulID
Definition GloSchemaInterface.h:228
ClassInfoAttribute * getClassInfoAttributeByClassAndAttributeName(int &riErr, const std::string &rsClassName, const std::string &rsAttributeName) const
std::string getSchemaName() const
int getClassTableWithPath(std::string &rstrRetVal, unsigned long ulClassID) const
Definition GloAbstractBaseLot.h:49
EnSeekMode
Definition GloTypes.h:173
Structure to collect indexes from the schema file until the end of reading.
Definition GloSchemaInterface.h:117
std::string m_sIndexPath
Definition GloSchemaInterface.h:152
int m_iSignificantCharacter
Definition GloSchemaInterface.h:163
ClassInfoIndex * m_pClassInfoIndex
Definition GloSchemaInterface.h:129
bool m_bAccepted
Definition GloSchemaInterface.h:140
TempGloClassInfoIndex(ClassInfoIndex *pClassInfoIndex, const std::string &rsIndexPath, int iSignificantCharacter)