1#ifndef INC_GLOPRIVATEBASE_H
2#define INC_GLOPRIVATEBASE_H
39 #pragma warning( disable : 4251 )
59 class ClassInfoAttribute;
61 class GenPersObjectSpy;
67 class IndexQueryBaseStruct;
68 class ObjIDRecordTuple;
69 class IDRecordAttribute;
372 const std::string & rstrSchemaPath,
373 const std::string & rstrBaseName );
399 const std::string & rstrClientName );
412 const std::string & rstrClientName,
415 const std::string & rstrSchemaPath,
416 const std::string & rstrKnownSchemes );
429 const std::string & rstrClientName,
747 int open(
const std::string & rstrBaseName,
CallBack * pProgressNotificationCallBack );
784 CallBack * pServerCrashNotificationCallBack );
797 CallBack * pServerCrashNotificationCallBack );
825 CallBack * pProgressNotificationCallBack );
850 CallBack * pProgressNotificationCallBack );
875 CallBack * pProgressNotificationCallBack );
949 int getAllBases( std::vector< std::string > *& prRetValVector )
const;
961 int getBaseCount( std::vector<std::string>::size_type & rBaseCount)
const;
974 unsigned long ulClassID,
975 const std::string & rstrBaseName )
const;
988 const std::string & rstrClassName,
989 const std::string & rstrBaseName )
const;
1002 unsigned long ulClassID,
1003 const std::string & rstrBaseName );
1016 unsigned long ulClassID,
1017 const std::string & rstrBaseName );
1030 unsigned long ulClassID,
1031 const std::string & rstrBaseName );
1044 unsigned long ulClassID,
1045 const std::string & rstrBaseName );
1058 const std::string & rstrBaseName);
1070 int isKnownClassID(
bool & rbRetVal,
unsigned long ulClassID,
const std::string & rstrBaseName )
const;
1083 unsigned long ulClassIDSuperClass,
1084 unsigned long ulClassIDSubClass,
1085 const std::string & rstrBaseName )
const;
1111 const std::string & rstrBaseName )
const;
1127 const ObjID & rObjID,
1128 unsigned long ulClassID );
1156 const ObjID & rObjID,
1157 bool bGeneric =
false );
1277 bool bGeneric =
false );
1290 const std::string & rsIndexFilter );
1303 const std::string & rsIndexFilter,
1317 const std::string & rsRangeStartIndexFilter,
1318 const std::string & rsRangeEndIndexFilter );
1344 const std::string & rsIndexSearchValue,
1359 const std::string & rsIndexName,
1360 unsigned long ulIndexClassID,
1361 const std::string & rsIndexSearchValue,
1376 const std::string & rsIndexSearchValue,
1391 const std::string & rsIndexName,
1392 unsigned long ulIndexClassID,
1393 const std::string & rsIndexSearchValue,
1408 const std::string & rsRangeStartIndexSearchValue,
1409 const std::string & rsRangeEndIndexSearchValue );
1423 const std::string & rsIndexName,
1424 unsigned long ulIndexClassID,
1425 const std::string & rsRangeStartIndexSearchValue,
1426 const std::string & rsRangeEndIndexSearchValue );
1452 std::list< ObjID > * pRetValObjIDList );
1524 std::map<
unsigned long,
ClassInfo *, std::less<unsigned long> > *& prClassInfoMap,
1525 unsigned long ulClassID,
1526 const std::string & rstrBaseName );
1687 const ObjID & rObjId,
1791 std::list<ObjID> * pObjIDList,
1850 unsigned long ulClassID,
1910 const ObjID & rObjId,
2014 std::list<ObjID> * pObjIDList,
2178 bool bGeneric =
false);
2260 bool bWithRefRecords )
const;
2304 bool bWithRefRecords )
const;
2418 bool bWithRefRecords )
const;
2436 std::map<
unsigned long, std::shared_ptr<ClassInfo>, std::less<unsigned long> > & rSmrtPtrClassInfoMap )
const;
2459 #pragma warning( default : 4251 )
#define NULL_PTR
Definition EuDef_NULL_PTR.h:74
Header for ClassInfoAttribute and ClassInfoAttribute::Type
Header and source for TOndemand
For each library, here 'GlobalObjects' there is a type file.
#define __glo_export_dll
Definition GloTypes.h:63
Is the base class of template AllSets and the generic AllSet.
Definition GloBaseAllSet.h:80
This class is the interface to the persistent objects. Here "objects" can be registered,...
Definition GloBase.h:250
Is the base class of pointer and on-demand sets or pointer and on-demand lists.
Definition GloBaseLot.h:66
Abstract base class for Persistent and the generic GenericPersistent.
Definition GloBasePersistent.h:102
Superclass for the classes that are 'connected' to a Base.
Definition GloCallBack.h:74
Summarized type information for a ClassInfoAttribute.
Definition GloClassInfoAttribute.h:101
This class contains all information to store objects of a class in a database, to build objects from ...
Definition GloClassInfo.h:79
Superclass of LocalThread, ClientThread and ServerThread, because they can act as senders and receive...
Definition GloCommunicator.h:86
Class for the embedded persistent object attributes of a Record. Represents an attribute of the deriv...
Definition GloEmbeddedRecordAttribute.h:65
Class to access the generic persistent objects of a database in memory.
Definition GloGenPersObjectSpy.h:76
Superclass for ObjID and ObjID reference attributes of a Record.
Definition GloIDRecordAttribute.h:58
Definition GloIndexQueryBaseStruct.h:65
In objects of this class the min and max values of supported data types and their field lengths are t...
Definition GloLimitRecord.h:64
To be able to lock objects, the 'lock mode' and the 'lock depth' are required as parameters....
Definition GloLockSpecification.h:58
Abstract superclass for instantiation functions of persistent classes. From this class a subclass is ...
Definition GloObjCreator.h:71
An object ID consists of the class ID, a database ID and the actual unique object number (all unsigne...
Definition GloObjID.h:77
A tuple of record and object ID.
Definition GloObjIDRecordTuple.h:73
This class can instantiate a persistent object from a record or fill a persistent object and vice ver...
Definition GloObjectMaker.h:63
EnOrderType
Definition GloOrderMsg.h:98
Class to access the persistent objects of a database in memory.
Definition GloPersObjectSpy.h:75
In this class functions for Base are encapsulated. The Base interface is not affected by any changes ...
Definition GloPrivateBase.h:92
int getIndexedObjIdsFromAllSet(std::list< ObjID > &rObjIDList, const BaseAllSet &rAllSet, const std::string &rsIndexName, unsigned long ulIndexClassID, const std::string &rsIndexSearchValue, EnQueryType eQuerryType)
GenPersObjectSpy * m_pPersGenericObjectSpy
Definition GloPrivateBase.h:316
int switchWatchObject(OrderMsg::EnOrderType eSetWatchOrUnsetWatch, const ObjID &rObjId, TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack)
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 lockUnlockObjIdList(OrderMsg::EnOrderType eLockOrUnlock, std::list< ObjID > *pObjIDList, LockSpecification *pLockSpec)
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 processIndexQueryOrFilter(const IndexQueryBaseStruct &rIndexQueryBaseStruct, std::list< ObjID > *pRetValObjIDList)
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
ObjectMaker * m_pObjectMaker
Definition GloPrivateBase.h:286
int insertDataRecord(std::map< ObjID, Record *, std::less< ObjID > > &rRetValList, ObjID ObjID, EnDeepMode eDeepMode) const
int setBaseName(const std::string &rstrBaseName)
int getIndexedObjIdsFromAllSet(std::list< ObjID > &rObjIDList, const BaseAllSet &rAllSet, const std::string &rsIndexName, unsigned long ulIndexClassID, const std::string &rsIndexSearchValue, EnComparisionOp eComparisionOp)
int m_iTimeOutSec
Definition GloPrivateBase.h:247
int isKnownClassID(bool &rbRetVal, unsigned long ulClassID, const std::string &rstrBaseName) const
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:173
std::string m_strDbIniFileName
Definition GloPrivateBase.h:132
int setIndexFilter(const BaseAllSet &rAllSet, const std::string &rsIndexFilter)
int openBaseComfortably(CallBack *pProgressNotificationCallBack, CallBack *pServerCrashNotificationCallBack)
int instantiateRecordObjects(BasePersistent &rObject, Record *pRecord)
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:301
int switchWatchClient(OrderMsg::EnOrderType eSetWatchOrUnsetWatch, TdWatchNotifyMode ulWatchMode, CallBack *pCallBack) const
int repairBase(const std::string &rstrBaseName, CallBack *pProgressNotificationCallBack)
int getIndexedObjIdsFromAllSet(std::list< ObjID > &rObjIDList, const BaseAllSet &rAllSet, const std::string &rsIndexSearchValue, EnComparisionOp eComparisionOp)
ObjCreator * m_pObjCreator
Definition GloPrivateBase.h:273
int close(CallBack *pProgressNotificationCallBack)
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::string m_strClientName
Definition GloPrivateBase.h:331
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 connect(CallBack *pServerCrashNotificationCallBack=NULL_PTR)
int getAllSubClassInfos(std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *&prSubClassInfoMap, unsigned long ulClassID, const std::string &rstrBaseName)
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:200
int setSchemaPath(const std::string &rstrSchemaPath)
int getIndexedObjIdsFromAllSet(std::list< ObjID > &rObjIDList, const BaseAllSet &rAllSet, const std::string &rsIndexSearchValue, EnQueryType eQuerryType)
Base * m_pBaseApi
Definition GloPrivateBase.h:113
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:260
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)
std::string m_sKnownSchemes
Definition GloPrivateBase.h:234
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)
std::string m_sSchemaPath
Definition GloPrivateBase.h:217
int getIndexedObjIdsFromAllSet(std::list< ObjID > &rObjIDList, const BaseAllSet &rAllSet, const std::string &rsRangeStartIndexSearchValue, const std::string &rsRangeEndIndexSearchValue)
int generateObject(BasePersistent *&prObject, Record *pRecord, bool bGeneric=false)
int getIndexedObjIdsFromAllSet(std::list< ObjID > &rObjIDList, const BaseAllSet &rAllSet, const std::string &rsIndexName, unsigned long ulIndexClassID, const std::string &rsRangeStartIndexSearchValue, const std::string &rsRangeEndIndexSearchValue)
int getAllClassInfosFromBase(std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *&prAllClassInfoMap, const std::string &rstrBaseName)
int m_iTransactionLevel
Definition GloPrivateBase.h:185
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:161
int reconnect(CallBack *pServerCrashNotificationCallBack=NULL_PTR)
PrivateBase(const std::string &rstrServerName, const std::string &rstrClientName, ObjCreator &rObjCreator)
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:149
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 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)
Objects of this class transport the data from the tables into the persistent object and from these ag...
Definition GloRecord.h:101
To be able to watch objects, the 'watching mode', the 'watching depth' and the 'notification object' ...
Definition GloWatchSpecification.h:60
Definition GloAbstractBaseLot.h:42
EnDeepMode
Definition GloTypes.h:247
EnComparisionOp
Definition GloTypes.h:1583
EnLockMode
Definition GloTypes.h:1070
EnSeekMode
Definition GloTypes.h:166
EnQueryType
Definition GloTypes.h:1179
unsigned long TdWatchNotifyMode
Definition GloTypes.h:543