1#ifndef INC_GLOPRIVATEBASE_H
2#define INC_GLOPRIVATEBASE_H
46 #pragma warning( disable : 4251 )
66 class ClassInfoAttribute;
68 class GenPersObjectSpy;
74 class IndexQueryBaseStruct;
75 class ObjIDRecordTuple;
76 class IDRecordAttribute;
421 const std::string & rstrSchemaPath,
422 const std::string & rstrBaseName );
448 const std::string & rstrClientName );
461 const std::string & rstrClientName,
464 const std::string & rstrSchemaPath,
465 const std::string & rstrKnownSchemes );
478 const std::string & rstrClientName,
810 int open(
const std::string & rstrBaseName,
CallBack * pProgressNotificationCallBack );
859 CallBack * pServerCrashNotificationCallBack );
872 CallBack * pServerCrashNotificationCallBack );
900 CallBack * pProgressNotificationCallBack );
925 CallBack * pProgressNotificationCallBack );
950 CallBack * pProgressNotificationCallBack );
1024 int getAllBases( std::vector< std::string > *& prRetValVector )
const;
1049 unsigned long ulClassID,
1050 const std::string & rstrBaseName )
const;
1063 const std::string & rstrClassName,
1064 const std::string & rstrBaseName )
const;
1077 unsigned long ulClassID,
1078 const std::string & rstrBaseName );
1091 unsigned long ulClassID,
1092 const std::string & rstrBaseName );
1105 unsigned long ulClassID,
1106 const std::string & rstrBaseName );
1119 unsigned long ulClassID,
1120 const std::string & rstrBaseName );
1133 const std::string & rstrBaseName);
1145 int isKnownClassID(
bool & rbRetVal,
unsigned long ulClassID,
const std::string & rstrBaseName )
const;
1158 unsigned long ulClassIDSuperClass,
1159 unsigned long ulClassIDSubClass,
1160 const std::string & rstrBaseName )
const;
1186 const std::string & rstrBaseName )
const;
1202 const ObjID & rObjID,
1203 unsigned long ulClassID );
1231 const ObjID & rObjID,
1232 bool bGeneric =
false );
1352 bool bGeneric =
false );
1365 const std::string & rsIndexFilter );
1378 const std::string & rsIndexFilter,
1392 const std::string & rsRangeStartIndexFilter,
1393 const std::string & rsRangeEndIndexFilter );
1419 const std::string & rsIndexSearchValue,
1434 const std::string & rsIndexName,
1435 unsigned long ulIndexClassID,
1436 const std::string & rsIndexSearchValue,
1451 const std::string & rsIndexSearchValue,
1466 const std::string & rsIndexName,
1467 unsigned long ulIndexClassID,
1468 const std::string & rsIndexSearchValue,
1483 const std::string & rsRangeStartIndexSearchValue,
1484 const std::string & rsRangeEndIndexSearchValue );
1498 const std::string & rsIndexName,
1499 unsigned long ulIndexClassID,
1500 const std::string & rsRangeStartIndexSearchValue,
1501 const std::string & rsRangeEndIndexSearchValue );
1527 std::vector< ObjID > * pRetValObjIDVector );
1599 std::map<
unsigned long,
ClassInfo *, std::less<unsigned long> > *& prClassInfoMap,
1600 unsigned long ulClassID,
1601 const std::string & rstrBaseName );
1792 const ObjID & rObjId,
1896 std::list<ObjID> * pObjIDList,
1959 unsigned long ulClassID,
2021 const ObjID & rObjId,
2127 std::list<ObjID> * pObjIDList,
2299 bool bShouldBeActivated,
2338 bool bShouldBeActivated );
2389 bool bWithRefRecords )
const;
2433 bool bWithRefRecords )
const;
2547 bool bWithRefRecords )
const;
2565 std::map<
unsigned long, std::shared_ptr<ClassInfo>, std::less<unsigned long> > & rSmrtPtrClassInfoMap )
const;
2588 #pragma warning( default : 4251 )
Header für ClassInfoAttribute und ClassInfoAttribute::Type
Header und Source für TOndemand
Für jede Bibliothek, hier 'GlobalObjects' gibt es eine Typen-Datei.
#define __glo_export_dll
Definition GloTypes.h:70
Ist die Basisklasse von Template-AllSets und dem generischen AllSet.
Definition GloBaseAllSet.h:87
Ist die Basisklasse von Pointer- und Ondemand-Sets bzw. Pointer- und Ondemand-Listen.
Definition GloBaseLot.h:73
Abstrakte Basisklasse für Persistent und die generische GenericPersistent.
Definition GloBasePersistent.h:124
Oberklasse für die Klassen, welche mit einer Base 'verbunden' sind.
Definition GloCallBack.h:81
Zusammengefasste Typinformationen für ein ClassInfoAttribute.
Definition GloClassInfoAttribute.h:108
Diese Klasse beinhaltet alle Informationen um Objekte einer Klasse in einer Datenbank speichern zu kö...
Definition GloClassInfo.h:86
OberKlasse von LocalThread, ClientThread und ServerThread, weil diese als Sender und Empfänger (Kommu...
Definition GloCommunicator.h:93
Klasse für die eingebettete persistente Objekt-Attribute eines Record. Repräsentiert ein Attribut vom...
Definition GloEmbeddedRecordAttribute.h:72
Klasse um die generischen persistente Objekte einer Datenbank im Speicher im Zugriff zu haben.
Definition GloGenPersObjectSpy.h:83
OberKlasse für ObjID- und ObjID-Referenz-Attribute eines Record.
Definition GloIDRecordAttribute.h:65
Definition GloIndexQueryBaseStruct.h:72
In Objekten dieser Klasse werden die Min- und Max-Werte von unterstützten Datentypen und deren Feldlä...
Definition GloLimitRecord.h:71
Um Objekte sperren zu können, werden der 'Lock-Modus' und die 'Sperrtiefe' als Parameter benötigt....
Definition GloLockSpecification.h:65
Abstrakte Oberklasse für Instanziierungsfunktionen der persistenten Klassen. Von dieser Klasse wird g...
Definition GloObjCreator.h:78
Ein Objekt-ID besteht aus der Klassen-ID, einer Datenbank-ID und der eigentlichen eindeutigen ObjektZ...
Definition GloObjID.h:84
Ein Tuple von Datensatz und Objekt-ID.
Definition GloObjIDRecordTuple.h:80
Diese Klasse kann aus einem Datensatz ein persistentes Objekt instanziieren bzw. ein persistentes Obj...
Definition GloObjectMaker.h:70
EnOrderType
Definition GloOrderMsg.h:105
Klasse um die persistente Objekte einer Datenbank im Speicher im Zugriff zu haben.
Definition GloPersObjectSpy.h:82
In dieser Klasse werden Funktionen für Base gekapselt. Für den Fall, dass sich Änderungen in der Funk...
Definition GloPrivateBase.h:99
GenPersObjectSpy * m_pPersGenericObjectSpy
Definition GloPrivateBase.h:334
int switchWatchObject(OrderMsg::EnOrderType eSetWatchOrUnsetWatch, const ObjID &rObjId, TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack)
int deleteObjects(const std::vector< glo::ObjID > &rObjectIDs, EnDeepMode eDeepMode)
PrivateBase(const std::string &rstrServerName, const std::string &rstrClientName, int iTimeOutSec, unsigned int uiPort, const std::string &rstrSchemaPath, const std::string &rstrKnownSchemes)
int getAllSuperClassInfos(std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *&prSuperClassInfoMap, unsigned long ulClassID, const std::string &rstrBaseName)
int getBaseCount(std::vector< std::string >::size_type &rBaseCount) const
int processIndexQueryOrFilter(const IndexQueryBaseStruct &rIndexQueryBaseStruct, std::vector< ObjID > *pRetValObjIDVector)
int lockUnlockObjIdList(OrderMsg::EnOrderType eLockOrUnlock, std::list< ObjID > *pObjIDList, LockSpecification *pLockSpec)
unsigned long getBaseID() const
int beginCommitAbortTransaction(OrderMsg::EnOrderType eBeginOrCommitOrAbort)
int switchWatchObjIdList(OrderMsg::EnOrderType eSetWatchOrUnsetWatch, std::list< ObjID > *pObjIDList, WatchSpecification *pWatchSpec)
int insertDataRecord(std::map< ObjID, Record *, std::less< ObjID > > &rRetValList, IDRecordAttribute *pIDRecordAttribute, ObjIDRecordTuple *pObjIDRecordTuple, ObjID &rObjID, EnDeepMode eDeepMode, bool bWithRefRecords) const
int reindexBase(const std::string &rstrBaseName, CallBack *pProgressNotificationCallBack)
bool isInTransaction() const
int setCurrentObjectInAllSet(const ObjID &rObjID, const BaseAllSet &rAllSet)
ObjectMaker * getObjectMaker()
int isSuperClassFrom(bool &rbRetVal, unsigned long ulClassIDSuperClass, unsigned long ulClassIDSubClass, const std::string &rstrBaseName) const
std::string getBaseName() const
int getSchemaPath(std::string &rstrRetVal)
int reindexBase(CallBack *pProgressNotificationCallBack)
int setDbIniName(const std::string &rstrDbIniName)
int getAllLoggedClients(std::vector< ClientInfo > &rClientInfoVector, const std::string &rstrBaseName) const
std::vector< std::shared_ptr< Persistent > > m_ObjectsToActivate
Definition GloPrivateBase.h:380
ObjectMaker * m_pObjectMaker
Definition GloPrivateBase.h:304
int insertDataRecord(std::map< ObjID, Record *, std::less< ObjID > > &rRetValList, ObjID ObjID, EnDeepMode eDeepMode) const
int getIndexedObjIdsFromAllSet(std::vector< glo::ObjID > &rObjIDContainer, const BaseAllSet &rAllSet, const std::string &rsIndexName, unsigned long ulIndexClassID, const std::string &rsIndexSearchValue, EnComparisionOp eComparisionOp)
int setBaseName(const std::string &rstrBaseName)
int m_iTimeOutSec
Definition GloPrivateBase.h:265
int isKnownClassID(bool &rbRetVal, unsigned long ulClassID, const std::string &rstrBaseName) const
int connect(CallBack *pServerCrashNotificationCallBack=nullptr)
int getSubClassInfos(std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *&prSubClassInfoMap, unsigned long ulClassID, const std::string &rstrBaseName)
bool m_bOpen
Definition GloPrivateBase.h:180
std::string m_strDbIniFileName
Definition GloPrivateBase.h:139
int setIndexFilter(const BaseAllSet &rAllSet, const std::string &rsIndexFilter)
int openBaseComfortably(CallBack *pProgressNotificationCallBack, CallBack *pServerCrashNotificationCallBack)
std::string getDbIniName() const
int getAllBases(std::vector< std::string > *&prRetValVector) const
int getSizeFromAllSet(std::size_t &rnSize, const BaseAllSet &rAllSet)
PersObjectSpy * m_pPersObjectSpy
Definition GloPrivateBase.h:319
int switchWatchClient(OrderMsg::EnOrderType eSetWatchOrUnsetWatch, TdWatchNotifyMode ulWatchMode, CallBack *pCallBack) const
int repairBase(const std::string &rstrBaseName, CallBack *pProgressNotificationCallBack)
ObjCreator * m_pObjCreator
Definition GloPrivateBase.h:291
int close(CallBack *pProgressNotificationCallBack)
unsigned long m_ulBaseID
Definition GloPrivateBase.h:191
int repairBase(CallBack *pProgressNotificationCallBack)
int getLimits(LimitRecord *&prLimitRecord, const ClassInfoAttribute::Type &rClassInfoAttributeType) const
int open(const std::string &rstrBaseName, CallBack *pProgressNotificationCallBack)
int getClassInfos(OrderMsg::EnOrderType eOrder, std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *&prClassInfoMap, unsigned long ulClassID, const std::string &rstrBaseName)
int setWatchServer(CallBack *pCallBack) const
int getDefaultLimits(std::vector< LimitRecord > *&prRetValVector) const
std::vector< std::shared_ptr< Persistent > > * getObjectsToActivat()
std::string m_strClientName
Definition GloPrivateBase.h:349
int getIndexedObjIdsFromAllSet(std::vector< glo::ObjID > &rObjIDContainer, const BaseAllSet &rAllSet, const std::string &rsIndexSearchValue, EnQueryType eQuerryType)
int getDependDataRecords(std::map< ObjID, Record *, std::less< ObjID > > &rRetValList, Record &rObjDataRecord, EnDeepMode eDeepMode, bool bWithRefRecords) const
int openBase(CallBack *pProgressNotificationCallBack, CallBack *pServerCrashNotificationCallBack)
int notifyAsWritten(const std::list< ObjID > &rObjIDList)
int getIndexedObjIdsFromAllSet(std::vector< glo::ObjID > &rObjIDContainer, const BaseAllSet &rAllSet, const std::string &rsIndexSearchValue, EnComparisionOp eComparisionOp)
int getIndexedObjIdsFromAllSet(std::vector< glo::ObjID > &rObjIDContainer, const BaseAllSet &rAllSet, const std::string &rsIndexName, unsigned long ulIndexClassID, const std::string &rsIndexSearchValue, EnQueryType eQuerryType)
int getAllSubClassInfos(std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *&prSubClassInfoMap, unsigned long ulClassID, const std::string &rstrBaseName)
int getIndexedObjIdsFromAllSet(std::vector< glo::ObjID > &rObjIDContainer, const BaseAllSet &rAllSet, const std::string &rsIndexName, unsigned long ulIndexClassID, const std::string &rsRangeStartIndexSearchValue, const std::string &rsRangeEndIndexSearchValue)
int getClassInfo(ClassInfo *&prClassInfo, unsigned long ulClassID, const std::string &rstrBaseName) const
int compressBase(CallBack *pProgressNotificationCallBack)
int isStoredObject(bool &rbRetVal, BasePersistent *pObject)
PrivateBase(const std::string &rstrClientName, ObjCreator &rObjCreator)
PrivateBase(const PrivateBase &)
int storeDeleteObject(OrderMsg::EnOrderType eStoreOrDelete, BasePersistent *pObject, EnDeepMode eDeepMode)
int getTimeOutSec(int &riTimeOutSec)
unsigned int m_uiPort
Definition GloPrivateBase.h:218
int setSchemaPath(const std::string &rstrSchemaPath)
Base * m_pBaseApi
Definition GloPrivateBase.h:120
int getTransactionLevel() const
int getPort(unsigned int &ruiPort)
int insertDataRecord(std::map< ObjID, Record *, std::less< ObjID > > &rRetValList, ObjIDRecordTuple *pObjIDRecordTuple, EnDeepMode eDeepMode) const
int openAllSet(BaseAllSet *pAllSet)
int lockUnlockObject(OrderMsg::EnOrderType eLockOrUnlock, const ObjID &rObjId, EnLockMode eLockMode, EnDeepMode eDeepMode)
int getRecord(Record *&prRecord, const ObjID &rObjID, unsigned long ulClassID)
Communicator * m_pLocalCommunicator
Definition GloPrivateBase.h:278
int setClientName(const std::string &rstrClientName)
int doWithBase(const std::string &rstrBaseName, CallBack *pCallBack, OrderMsg::EnOrderType eRepairType)
unsigned int getCommunicatorID() const
int refreshObject(BasePersistent *pObject)
int lockUnlockLot(OrderMsg::EnOrderType eLockOrUnlock, const BaseLot &rObjIdLot, EnLockMode eLockMode, EnDeepMode eDeepMode)
PrivateBase(const std::string &rstrClientName)
int removeIndexFilter(const BaseAllSet &rAllSet)
int objIDInAllSet(const ObjID &rObjID, const BaseAllSet &rAllSet)
int getObjIdFromAllSet(ObjID &rObjID, const BaseAllSet &rAllSet, EnSeekMode eMode)
int instantiateRecordObjects(BasePersistent &rObject, Record *pRecord, bool bShouldBeActivated)
std::string m_sKnownSchemes
Definition GloPrivateBase.h:252
int getAnObject(BasePersistent *&prObject, const ObjID &rObjID, bool bGeneric=false)
int switchWatchClass(OrderMsg::EnOrderType eSetWatchOrUnsetWatch, unsigned long ulClassID, TdWatchNotifyMode ulWatchMode, CallBack *pCallBack)
int setIndexFilter(const BaseAllSet &rAllSet, const std::string &rsRangeStartIndexFilter, const std::string &rsRangeEndIndexFilter)
int setPositionInAllSet(std::size_t nPosition, const BaseAllSet &rAllSet)
int setKnownSchemes(const std::string &rstrKnownSchemes)
int getIndexedObjIdsFromAllSet(std::vector< glo::ObjID > &rObjIDContainer, const BaseAllSet &rAllSet, const std::string &rsRangeStartIndexSearchValue, const std::string &rsRangeEndIndexSearchValue)
std::string m_sSchemaPath
Definition GloPrivateBase.h:235
int getAllClassInfosFromBase(std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *&prAllClassInfoMap, const std::string &rstrBaseName)
int m_iTransactionLevel
Definition GloPrivateBase.h:203
int switchWatchLot(OrderMsg::EnOrderType eSetWatchOrUnsetWatch, const BaseLot &rObjIdLot, TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack)
std::string getClientName() const
int getClassInfo(ClassInfo *&prClassInfo, const std::string &rstrClassName, const std::string &rstrBaseName) const
std::string m_sBaseName
Definition GloPrivateBase.h:168
PrivateBase(const std::string &rstrServerName, const std::string &rstrClientName, ObjCreator &rObjCreator)
int reconnect(CallBack *pServerCrashNotificationCallBack=nullptr)
int closeBase(CallBack *pProgressNotificationCallBack)
int getObjectFromAllSet(ObjID &rObjID, BasePersistent *&prObject, const BaseAllSet &rAllSet, EnSeekMode eMode, bool bGeneric=false)
int getSchemaNameWithPath(std::string &rstrRetVal)
void movePtrClassInfoMapToSmrtPtrClassInfoMap(const std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *pPtrClassInfoMap, std::map< unsigned long, std::shared_ptr< ClassInfo >, std::less< unsigned long > > &rSmrtPtrClassInfoMap) const
int assignObject(BasePersistent *pObject)
std::string m_sServerName
Definition GloPrivateBase.h:156
int switchWatchIndex(OrderMsg::EnOrderType eSetWatchOrUnsetWatch, TdWatchNotifyMode ulWatchMode, CallBack *pCallBack) const
int compressBase(const std::string &rstrBaseName, CallBack *pProgressNotificationCallBack)
PrivateBase(const std::string &rstrServerName, const std::string &rstrClientName)
int insertDataRecord(std::map< ObjID, Record *, std::less< ObjID > > &rRetValList, IDRecordAttribute *pIDRecordAttribute, EnDeepMode eDeepMode, bool bWithRefRecords) const
int generateObject(BasePersistent *&prObject, Record *pRecord, bool bShouldBeActivated, bool bGeneric)
int getSuperClassInfos(std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *&prSuperClassInfoMap, unsigned long ulClassID, const std::string &rstrBaseName)
PrivateBase(const std::string &rstrClientName, const std::string &rstrSchemaPath, const std::string &rstrBaseName)
std::string getServerName() const
int getKnownSchemes(std::vector< std::string > &rRetVal)
int closeAllSet(BaseAllSet *pAllSet)
int setIndexFilter(const BaseAllSet &rAllSet, const std::string &rsIndexFilter, EnComparisionOp eComparisionOp)
Objekte dieser Klasse transportieren die Daten von den Tabellen ins persistente Objekt und von diesen...
Definition GloRecord.h:108
Um Objekte beobachten zu können, müssen der 'Beobachtungsmodus', die 'Beobachtungstiefe' und das 'Ben...
Definition GloWatchSpecification.h:67
Definition GloAbstractBaseLot.h:49
EnDeepMode
Definition GloTypes.h:254
EnComparisionOp
Definition GloTypes.h:1567
EnLockMode
Definition GloTypes.h:1055
EnSeekMode
Definition GloTypes.h:173
EnQueryType
Definition GloTypes.h:1164
unsigned long TdWatchNotifyMode
Definition GloTypes.h:558