GlobalObjects
|
In this class functions for Base are encapsulated. The Base interface is not affected by any changes in functionality. More...
#include <GloPrivateBase.h>
Public Member Functions | |
PrivateBase () | |
PrivateBase (const std::string &rstrClientName) | |
PrivateBase (const std::string &rstrClientName, const std::string &rstrSchemaPath, const std::string &rstrBaseName) | |
PrivateBase (const std::string &rstrClientName, ObjCreator &rObjCreator) | |
PrivateBase (const std::string &rstrServerName, const std::string &rstrClientName) | |
PrivateBase (const std::string &rstrServerName, const std::string &rstrClientName, int iTimeOutSec, unsigned int uiPort, const std::string &rstrSchemaPath, const std::string &rstrKnownSchemes) | |
PrivateBase (const std::string &rstrServerName, const std::string &rstrClientName, ObjCreator &rObjCreator) | |
virtual | ~PrivateBase () |
Protected Member Functions | |
int | assignObject (BasePersistent *pObject) |
int | beginCommitAbortTransaction (OrderMsg::EnOrderType eBeginOrCommitOrAbort) |
int | close (CallBack *pProgressNotificationCallBack) |
int | closeAllSet (BaseAllSet *pAllSet) |
int | closeBase (CallBack *pProgressNotificationCallBack) |
int | compressBase (CallBack *pProgressNotificationCallBack) |
int | compressBase (const std::string &rstrBaseName, CallBack *pProgressNotificationCallBack) |
int | connect (CallBack *pServerCrashNotificationCallBack=nullptr) |
int | deleteObjects (const std::vector< glo::ObjID > &rObjectIDs, EnDeepMode eDeepMode) |
int | disconnect () |
int | doWithBase (const std::string &rstrBaseName, CallBack *pCallBack, OrderMsg::EnOrderType eRepairType) |
int | generateObject (BasePersistent *&prObject, Record *pRecord, bool bShouldBeActivated, bool bGeneric) |
int | getAllBases (std::vector< std::string > *&prRetValVector) const |
int | getAllClassInfosFromBase (std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *&prAllClassInfoMap, const std::string &rstrBaseName) |
int | getAllLoggedClients (std::vector< ClientInfo > &rClientInfoVector, const std::string &rstrBaseName) const |
int | getAllSubClassInfos (std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *&prSubClassInfoMap, unsigned long ulClassID, const std::string &rstrBaseName) |
int | getAllSuperClassInfos (std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *&prSuperClassInfoMap, unsigned long ulClassID, const std::string &rstrBaseName) |
int | getAnObject (BasePersistent *&prObject, const ObjID &rObjID, bool bGeneric=false) |
int | getBaseCount (std::vector< std::string >::size_type &rBaseCount) const |
unsigned long | getBaseID () const |
std::string | getBaseName () const |
int | getClassInfo (ClassInfo *&prClassInfo, const std::string &rstrClassName, const std::string &rstrBaseName) const |
int | getClassInfo (ClassInfo *&prClassInfo, unsigned long ulClassID, const std::string &rstrBaseName) const |
int | getClassInfos (OrderMsg::EnOrderType eOrder, std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *&prClassInfoMap, unsigned long ulClassID, const std::string &rstrBaseName) |
std::string | getClientName () const |
unsigned int | getCommunicatorID () const |
std::string | getDbIniName () const |
int | getDefaultLimits (std::vector< LimitRecord > *&prRetValVector) const |
int | getDependDataRecords (std::map< ObjID, Record *, std::less< ObjID > > &rRetValList, Record &rObjDataRecord, EnDeepMode eDeepMode, bool bWithRefRecords) 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 | getIndexedObjIdsFromAllSet (std::vector< glo::ObjID > &rObjIDContainer, const BaseAllSet &rAllSet, const std::string &rsIndexName, unsigned long ulIndexClassID, const std::string &rsIndexSearchValue, EnQueryType eQuerryType) |
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 | 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 &rsIndexSearchValue, EnQueryType eQuerryType) |
int | getIndexedObjIdsFromAllSet (std::vector< glo::ObjID > &rObjIDContainer, const BaseAllSet &rAllSet, const std::string &rsRangeStartIndexSearchValue, const std::string &rsRangeEndIndexSearchValue) |
int | getKnownSchemes (std::vector< std::string > &rRetVal) |
int | getLimits (LimitRecord *&prLimitRecord, const ClassInfoAttribute::Type &rClassInfoAttributeType) const |
int | getObjectFromAllSet (ObjID &rObjID, BasePersistent *&prObject, const BaseAllSet &rAllSet, EnSeekMode eMode, bool bGeneric=false) |
ObjectMaker * | getObjectMaker () |
std::vector< std::shared_ptr< Persistent > > * | getObjectsToActivat () |
int | getObjIdFromAllSet (ObjID &rObjID, const BaseAllSet &rAllSet, EnSeekMode eMode) |
int | getPort (unsigned int &ruiPort) |
int | getRecord (Record *&prRecord, const ObjID &rObjID, unsigned long ulClassID) |
int | getSchemaNameWithPath (std::string &rstrRetVal) |
int | getSchemaPath (std::string &rstrRetVal) |
std::string | getServerName () const |
int | getSizeFromAllSet (std::size_t &rnSize, const BaseAllSet &rAllSet) |
int | getSubClassInfos (std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *&prSubClassInfoMap, unsigned long ulClassID, const std::string &rstrBaseName) |
int | getSuperClassInfos (std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *&prSuperClassInfoMap, unsigned long ulClassID, const std::string &rstrBaseName) |
int | getTimeOutSec (int &riTimeOutSec) |
int | getTransactionLevel () const |
int | insertDataRecord (std::map< ObjID, Record *, std::less< ObjID > > &rRetValList, IDRecordAttribute *pIDRecordAttribute, EnDeepMode eDeepMode, bool bWithRefRecords) const |
int | insertDataRecord (std::map< ObjID, Record *, std::less< ObjID > > &rRetValList, IDRecordAttribute *pIDRecordAttribute, ObjIDRecordTuple *pObjIDRecordTuple, ObjID &rObjID, EnDeepMode eDeepMode, bool bWithRefRecords) const |
int | insertDataRecord (std::map< ObjID, Record *, std::less< ObjID > > &rRetValList, ObjID ObjID, EnDeepMode eDeepMode) const |
int | insertDataRecord (std::map< ObjID, Record *, std::less< ObjID > > &rRetValList, ObjIDRecordTuple *pObjIDRecordTuple, EnDeepMode eDeepMode) const |
int | instantiateRecordObjects (BasePersistent &rObject, Record *pRecord, bool bShouldBeActivated) |
bool | isConnected () const |
bool | isInTransaction () const |
int | isKnownClassID (bool &rbRetVal, unsigned long ulClassID, const std::string &rstrBaseName) const |
bool | isOpen () const |
int | isStoredObject (bool &rbRetVal, BasePersistent *pObject) |
int | isSuperClassFrom (bool &rbRetVal, unsigned long ulClassIDSuperClass, unsigned long ulClassIDSubClass, const std::string &rstrBaseName) const |
int | lockUnlockLot (OrderMsg::EnOrderType eLockOrUnlock, const BaseLot &rObjIdLot, EnLockMode eLockMode, EnDeepMode eDeepMode) |
int | lockUnlockObject (OrderMsg::EnOrderType eLockOrUnlock, const ObjID &rObjId, EnLockMode eLockMode, EnDeepMode eDeepMode) |
int | lockUnlockObjIdList (OrderMsg::EnOrderType eLockOrUnlock, std::list< ObjID > *pObjIDList, LockSpecification *pLockSpec) |
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 | notifyAsWritten (const std::list< ObjID > &rObjIDList) |
int | objIDInAllSet (const ObjID &rObjID, const BaseAllSet &rAllSet) |
int | open (const std::string &rstrBaseName, CallBack *pProgressNotificationCallBack) |
int | openAllSet (BaseAllSet *pAllSet) |
int | openBase (CallBack *pProgressNotificationCallBack, CallBack *pServerCrashNotificationCallBack) |
int | openBaseComfortably (CallBack *pProgressNotificationCallBack, CallBack *pServerCrashNotificationCallBack) |
int | processIndexQueryOrFilter (const IndexQueryBaseStruct &rIndexQueryBaseStruct, std::vector< ObjID > *pRetValObjIDVector) |
int | reconnect (CallBack *pServerCrashNotificationCallBack=nullptr) |
int | refreshObject (BasePersistent *pObject) |
int | reindexBase (CallBack *pProgressNotificationCallBack) |
int | reindexBase (const std::string &rstrBaseName, CallBack *pProgressNotificationCallBack) |
int | removeIndexFilter (const BaseAllSet &rAllSet) |
int | repairBase (CallBack *pProgressNotificationCallBack) |
int | repairBase (const std::string &rstrBaseName, CallBack *pProgressNotificationCallBack) |
int | setBaseName (const std::string &rstrBaseName) |
int | setClientName (const std::string &rstrClientName) |
int | setCurrentObjectInAllSet (const ObjID &rObjID, const BaseAllSet &rAllSet) |
int | setDbIniName (const std::string &rstrDbIniName) |
int | setIndexFilter (const BaseAllSet &rAllSet, const std::string &rsIndexFilter) |
int | setIndexFilter (const BaseAllSet &rAllSet, const std::string &rsIndexFilter, EnComparisionOp eComparisionOp) |
int | setIndexFilter (const BaseAllSet &rAllSet, const std::string &rsRangeStartIndexFilter, const std::string &rsRangeEndIndexFilter) |
int | setKnownSchemes (const std::string &rstrKnownSchemes) |
int | setPositionInAllSet (std::size_t nPosition, const BaseAllSet &rAllSet) |
int | setSchemaPath (const std::string &rstrSchemaPath) |
int | setWatchServer (CallBack *pCallBack) const |
int | storeDeleteObject (OrderMsg::EnOrderType eStoreOrDelete, BasePersistent *pObject, EnDeepMode eDeepMode) |
int | switchWatchClass (OrderMsg::EnOrderType eSetWatchOrUnsetWatch, unsigned long ulClassID, TdWatchNotifyMode ulWatchMode, CallBack *pCallBack) |
int | switchWatchClient (OrderMsg::EnOrderType eSetWatchOrUnsetWatch, TdWatchNotifyMode ulWatchMode, CallBack *pCallBack) const |
int | switchWatchIndex (OrderMsg::EnOrderType eSetWatchOrUnsetWatch, TdWatchNotifyMode ulWatchMode, CallBack *pCallBack) const |
int | switchWatchLot (OrderMsg::EnOrderType eSetWatchOrUnsetWatch, const BaseLot &rObjIdLot, TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack) |
int | switchWatchObject (OrderMsg::EnOrderType eSetWatchOrUnsetWatch, const ObjID &rObjId, TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack) |
int | switchWatchObjIdList (OrderMsg::EnOrderType eSetWatchOrUnsetWatch, std::list< ObjID > *pObjIDList, WatchSpecification *pWatchSpec) |
Private Member Functions | |
PrivateBase (const PrivateBase &) | |
PrivateBase & | operator= (const PrivateBase &) |
Private Attributes | |
bool | m_bOpen |
int | m_iTimeOutSec |
int | m_iTransactionLevel |
std::vector< std::shared_ptr< Persistent > > | m_ObjectsToActivate |
Base * | m_pBaseApi |
Communicator * | m_pLocalCommunicator |
ObjCreator * | m_pObjCreator |
ObjectMaker * | m_pObjectMaker |
GenPersObjectSpy * | m_pPersGenericObjectSpy |
PersObjectSpy * | m_pPersObjectSpy |
std::string | m_sBaseName |
std::string | m_sKnownSchemes |
std::string | m_sSchemaPath |
std::string | m_sServerName |
std::string | m_strClientName |
std::string | m_strDbIniFileName |
unsigned int | m_uiPort |
unsigned long | m_ulBaseID |
Friends | |
class | Base |
class | EmbeddedRecordAttribute |
class | ObjectMaker |
In this class functions for Base are encapsulated. The Base interface is not affected by any changes in functionality.
glo::PrivateBase::PrivateBase | ( | ) |
See the description from
glo::PrivateBase::PrivateBase | ( | const std::string & | rstrClientName | ) |
See the description from
glo::PrivateBase::PrivateBase | ( | const std::string & | rstrClientName, |
const std::string & | rstrSchemaPath, | ||
const std::string & | rstrBaseName ) |
See the description from
glo::Base::Base(const std::string&, const std::string&, const std::string&)
glo::PrivateBase::PrivateBase | ( | const std::string & | rstrClientName, |
ObjCreator & | rObjCreator ) |
See the description from
glo::PrivateBase::PrivateBase | ( | const std::string & | rstrServerName, |
const std::string & | rstrClientName ) |
See the description from
glo::PrivateBase::PrivateBase | ( | const std::string & | rstrServerName, |
const std::string & | rstrClientName, | ||
int | iTimeOutSec, | ||
unsigned int | uiPort, | ||
const std::string & | rstrSchemaPath, | ||
const std::string & | rstrKnownSchemes ) |
glo::PrivateBase::PrivateBase | ( | const std::string & | rstrServerName, |
const std::string & | rstrClientName, | ||
ObjCreator & | rObjCreator ) |
See the description from
glo::Base::Base(const std::string&, const std::string&, ObjCreator&)
|
virtual |
See the description from
|
private |
The copy constructor is not available.
|
protected |
See the description from
|
protected |
Creates an order for the communicator to start or end a transaction depending on the parameter eBeginOrCommitOrAbort.
[in] | eBeginOrCommitOrAbort | If OrderMsg::eBEGIN_TRANSACTION, a transaction is started. If OrderMsg::eCOMMIT_TRANSACTION, the current transaction is confirmed. If OrderMsg::eABORT_TRANSACTION, the current transaction is cancelled. |
|
protected |
See the description from
|
protected |
See the description from
|
protected |
See the description from
|
protected |
See the description from
|
protected |
See the description from
|
protected |
See the description from
|
protected |
Creates a job for the communicator to delete a set of objects in the database whose object IDs are passed.
[in] | rObjectIDs | Container with the object IDs of the objects to be deleted. |
[in] | eDeepMode | The delete depth mode. |
See also descriptions of
|
protected |
See the description from
|
protected |
Auxiliary method that either does the work of PrivateBase::reindexBase( const std::string &, CallBack *) or PrivateBase::compressBase( const std::string &, CallBack *) or PrivateBase::repairBase( const std::string &, CallBack *).
[in] | rstrBaseName | The name of the database to be edited. |
[in] | pCallBack | If a valid pointer to an object is passed, the progress of the work is sent to the CallBack object via notifications (see also CallBack::notify(NotifyNote&) ). |
[in] | eRepairType | The type of repair; |
|
protected |
Instantiates a matching object from the transferred data set or, depending on bGeneric, determines the object from the referenced GenPersObjectSpy or PersObjectSpy, if available there.
The attributes of the transferred data record are transferred.
[in,out] | prObject | A pointer to an instantiated object. |
[in] | pRecord | The data record from which the object is to be instantiated. |
[in] | bShouldBeActivated | If true, the supplied object is inserted into m_ObjectsToActivate, if not bGeneric is true.. |
[in] | bGeneric | If true, a generic object of the type GenericPersistent is delivered, otherwise an object with the class ID from the data set; then PrivateBase::m_pObjectMaker must be seted. |
|
protected |
See the description from
|
protected |
See the description from
glo::Base::getAllClassInfosFromBase(std::map< unsigned long, glo::ClassInfo , std::less<unsigned long> >&, const std::string&)const
|
protected |
See the description from
glo::Base::getAllLoggedClients(std::vector< ClientInfo >*&, const std::string&)const
|
protected |
See the description from
glo::Base::getAllSubClassInfos(std::map< unsigned long, glo::ClassInfo , std::less<unsigned long> >&, unsigned long, const std::string&)const
|
protected |
See the description from
glo::Base::getAllSuperClassInfos(std::map< unsigned long, glo::ClassInfo , std::less<unsigned long> >&, unsigned long, const std::string&)const
|
protected |
See the description from
glo::Base::getAnObject(BasePersistent*&, const ObjID&, bool)const
|
protected |
See the description from
glo::Base::getBaseCount(std::vector<std::string>::size_type&)const
|
protected |
Returns the database ID, see also
|
protected |
See the description from
|
protected |
See the description from
glo::Base::getClassInfo(glo::ClassInfo*&, unsigned long, const std::string&)const
|
protected |
See the description from
glo::Base::getClassInfo(glo::ClassInfo*&, unsigned long, const std::string&)const
|
protected |
Creates an order for the communicator to provide a set of class information, if necessary of a class, depending on the parameter.
[in] | eOrder | If OrderMsg::eGET_BASECLASS_INFOS, the class information of the direct superclasses of the transferred class ID is delivered. If OrderMsg::eGET_SUBCLASS_INFOS, the class information of the direct subclasses of the transferred class ID is delivered. If OrderMsg::eGET_ALL_BASECLASS_INFOS, the class information of all superclasses of the transferred class ID is delivered. If OrderMsg::eGET_ALL_SUBCLASS_INFOS, all subclasses of the passed class ID are returned. If OrderMsg::eGET_ALL_CLASS_INFOS, the class information of all classes of the database respectively schema is delivered. The transferred class ID is ignored. |
[in,out] | prClassInfoMap | The container with the class information. |
[in] | ulClassID | The class ID. |
[in] | rstrBaseName | The name of the database or schema, is ignored if m_pObjectMaker. |
|
protected |
See the description from
|
protected |
See the description from
|
protected |
See the description from:
|
protected |
See the description from
glo::Base::getDefaultLimits(std::vector< LimitRecord >*&)const
|
protected |
Returns all data records of a transferred data record that are to be saved or deleted as well.
[in,out] | rRetValList | Container with the dependent data records. |
[in] | rObjDataRecord | The data set whose dependent data sets are expected. |
[in] | eDeepMode | The depth mode that indicates what is seen as dependent. |
[in] | bWithRefRecords | If true, for attributes of type PoRefRecordAttribute, PoRefListRecordAttribute and PoRefSetRecordAttribute if referenced to valid objects the respective record will be generated. This can be disabled because the records of the referenced object, if they are to be stored, are already generated via PrivateBase::getDependDataRecords (...). Default is 'false'. |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
See the description from
|
protected |
See the description from
glo::Base::getLimits(LimitRecord*&, const ClassInfoAttribute::Type&)const
|
protected |
See the description from
glo::Base::getObjectFromAllSet( ObjID&, BasePersistent*&, const BaseAllSet&, EnSeekMode, bool)const
|
protected |
See the description from
|
protected |
Returns a pointer to m_ObjectsToActivate.
|
protected |
See the description from
glo::Base::getObjIdFromAllSet(ObjID&, const BaseAllSet&, EnSeekMode)const
|
protected |
See the description from
|
protected |
See the description from
glo::Base::getRecord(Record*&, const ObjID&, unsigned long)const
|
protected |
See the description from
|
protected |
See the description from
|
protected |
See the description from
|
protected |
See the description from
glo::Base::getSizeFromAllSet(std::size_t&, const BaseAllSet&)const
|
protected |
See the description from
glo::Base::getSubClassInfos(std::map< unsigned long, glo::ClassInfo , std::less<unsigned long> >&, unsigned long, const std::string&)const
|
protected |
See the description from
glo::Base::getSuperClassInfos(std::map< unsigned long, glo::ClassInfo , std::less<unsigned long> >&, unsigned long, const std::string&)const
|
protected |
See the description from
|
protected |
See the description from
|
protected |
Inserts in rRetValList the record of an object from m_pPersObjectSpy or m_pPersGenericObjectSpy with the ObjID of the passed IDRecordAttribute.
[in,out] | rRetValList | Container with the records to be inserted. |
[in,out] | pIDRecordAttribute | The attribute with the objectID. The record is entered there. |
[in] | eDeepMode | The depth mode that indicates what is seen as dependent. Is necessary because this method uses getDependDataRecords (...). |
[in] | bWithRefRecords | If true, for attributes of type PoRefRecordAttribute, PoRefListRecordAttribute and PoRefSetRecordAttribute if referenced to valid objects the respective record will be generated. This can be disabled because the records of the referenced object, if they are to be stored, are already generated via PrivateBase::getDependDataRecords (...). Default is 'false'. |
|
protected |
Is the executing method for:
,std::less<ObjID>>&,ObjIDRecordTuple*,EnDeepMode) const
The parameters are accordingly variable.
[in,out] | rRetValList | Container with the records to be inserted. |
[in,out] | pIDRecordAttribute | The attribute with the objectID. The record is entered there. |
[in,out] | pObjIDRecordTuple | The IDRecordTuple with the objectID. The record is entered there. |
[in] | rObjID | The object ID. |
[in] | eDeepMode | The depth mode that indicates what is seen as dependent. Is necessary because this method uses getDependDataRecords (...). |
[in] | bWithRefRecords | If true, for attributes of type PoRefRecordAttribute, PoRefListRecordAttribute and PoRefSetRecordAttribute if referenced to valid objects the respective record will be generated. This can be disabled because the records of the referenced object, if they are to be stored, are already generated via PrivateBase::getDependDataRecords (...). Default is 'false'. |
|
protected |
Inserts into rRetValList the data set of an object from m_pPersObjectSpy or m_pPersGenericObjectSpy with passed ObjID.
[in,out] | rRetValList | Container with the records to be inserted. |
[in] | ObjID | The object ID. |
[in] | eDeepMode | The depth mode that indicates what is seen as dependent. Is necessary because this method uses getDependDataRecords (...). |
|
protected |
Inserts in rRetValList the record of an object from m_pPersObjectSpy or m_pPersGenericObjectSpy with the ObjID of the passed ObjIDRecordTuple.
[in,out] | rRetValList | Container with the records to be inserted. |
[in,out] | pObjIDRecordTuple | The IDRecordTuple with the objectID. The record is entered there. |
[in] | eDeepMode | The depth mode that indicates what is seen as dependent. Is necessary because this method uses getDependDataRecords (...). |
|
protected |
The directly referenced objects (e.g. embedded or pointer-referenced objects) that are present in the transferred data set are instantiated and inserted into the transferred object.
[in,out] | rObject | The object extended by its directly referenced objects. |
[in] | pRecord | The data set with the information about directly referenced objects. |
[in] | bShouldBeActivated | If true, any objects loaded from the database are inserted into m_ObjectsToActivate. This happens in generateObject (...) if requested there. |
|
protected |
See the description from
|
protected |
See the description from
|
protected |
See the description from
glo::Base::isKnownClassID (...)const
|
protected |
See the description from
|
protected |
See the description from
|
protected |
See the description from
glo::Base::isSuperClassFrom (...)const
|
protected |
Creates an order for the communicator to lock or unlock a set of objects in the database, depending on the eLockOrUnlock parameter.
[in] | eLockOrUnlock | If OrderMsg::eLOCK, a lock request is generated for the objects in rObjIdLot. If OrderMsg::eUNLOCK, a release order is generated for the objects in rObjIdLot. If OrderMsg::eIS_LOCKED, an order is generated to check if the objects are locked in the rObjIdLot. If OrderMsg::eIS_ALLOWED, an order is generated to check if actions which are in the parameter eLockMode are allowed with the objects in rObjIdLot. If OrderMsg::eGET_PROCESSING_POSSIBILITIES, an order is generated, which actions are allowed with the objects in rObjIdLot. |
[in] | rObjIdLot | The affected objects. |
[in] | eLockMode | The lock mode. |
[in] | eDeepMode | The lock or release depth mode. |
See also descriptions of
|
protected |
Creates an order for the communicator to lock or unlock an object in the database depending on the parameter eLockOrUnlock or to request its locking and action modalities.
[in] | eLockOrUnlock | If OrderMsg::eLOCK, a lock order is generated for the object with passed object ID. If OrderMsg::eUNLOCK, a release order is generated for the object with passed object ID. If OrderMsg::eIS_LOCKED, an order is generated asking if the object is locked with the passed object ID. If OrderMsg::eIS_ALLOWED, an order is generated asking if actions which are in the parameter eLockMode are allowed with the object with passed object ID. If OrderMsg::eGET_PROCESSING_POSSIBILITIES, is called, an order is generated asking what actions are allowed with the object with the object ID passed. |
[in] | rObjId | The object ID of the object concerned. |
[in] | eLockMode | The lock mode. |
[in] | eDeepMode | The lock or release depth mode. |
See also descriptions of
|
protected |
Creates an order for the communicator to lock or unlock a set of objects in the database, depending on the eLockOrUnlock parameter.
[in] | eLockOrUnlock | If OrderMsg::eLOCK, a lock request is generated for the objects in rObjIdLot. If OrderMsg::eUNLOCK, a release order is generated for the objects in rObjIdLot. If OrderMsg::eIS_LOCKED, an order is generated to check if the objects are locked in the rObjIdLot. If OrderMsg::eIS_ALLOWED, an order is generated to check if actions which are in the parameter eLockMode are allowed with the objects in rObjIdLot. If OrderMsg::eGET_PROCESSING_POSSIBILITIES, an order is generated, which actions are allowed with the objects in rObjIdLot. |
[in] | pObjIDList | The object IDs of the affected objects. |
[in] | pLockSpec | The lock mode with the lock or unlock depth mode. |
See also descriptions of
, EnLockMode, EnDeepMode)const
|
protected |
Transfers the pointers to class information from a pointer map to a map with std::shared_ptr on class information
[in] | pPtrClassInfoMap | The source map. |
[in,out] | rSmrtPtrClassInfoMap | The target map. |
|
protected |
Creates an order for the communicator to simulate change of objects with passed onject IDs. A notification is sent to all watching instances as if the objects in the database were changed.
[in] | rObjIDList | The list with the object IDs. |
|
protected |
See the description from
glo::Base::objIDInAllSet(const ObjID&, const BaseAllSet&)const
|
protected |
See the description from
|
protected |
See the description from
|
protected |
See the description from
glo::Base::openBase(CallBack*)
|
protected |
See the description from
glo::Base::openBaseComfortably(CallBack*)
|
private |
The assignment operator is not available.
|
protected |
Help method for PrivateBase::setIndexFilter (...) and PrivateBase::getIndexedObjIdsFromAllSet (...).
[in] | rIndexQueryBaseStruct | The query structure for the index query or filter. Allowed types are IndexQueryStruct, ComparisionIndexQueryStruct and RangeIndexQueryStruct. |
[in] | pRetValObjIDVector | The result list if != nullptr. If not passed, a filter is set. |
|
protected |
See the description from
glo::Base::reconnectCallBack*()
|
protected |
See the description from
|
protected |
See the description from
|
protected |
See the description from
|
protected |
See the description from
glo::Base::removeIndexFilter(const BaseAllSet&)
|
protected |
See the description from
|
protected |
See the description from
|
protected |
See the description from
|
protected |
See the description from
|
protected |
See the description from
glo::Base::setCurrentObjectInAllSet(const ObjID&, const BaseAllSet&)const
|
protected |
See the description from:
|
protected |
See the description from
glo::Base::setIndexFilter(const BaseAllSet&, const std::string&const
|
protected |
See the description from
glo::Base::setIndexFilter(const BaseAllSet&, const std::string&, EnComparisionOp)const
|
protected |
See the description from
glo::Base::setIndexFilter(const BaseAllSet&, const std::string&, const std::string&)const
|
protected |
See the description from
|
protected |
See the description from
glo::Base::setPositionInAllSet(std::size_t, const BaseAllSet&)const
|
protected |
See the description from
|
protected |
See the description from
|
protected |
Creates an order for the communicator to save or delete an object in the database depending on the parameter eStoreOrDelete.
[in] | eStoreOrDelete | If OrderMsg::eSTORE the object is saved or deleted if OrderMsg::eDELETE. |
[in] | pObject | The object to be stored or deleted. |
[in] | eDeepMode | The store or delete depth mode. |
See also descriptions of
|
protected |
Creates an order for the communicator to observe an AllSet defined by the passed class ID in the database or to terminate the observation depending on the parameter eSetWatchOrUnsetWatch.
[in] | eSetWatchOrUnsetWatch | If OrderMsg::eWATCH_CLASS, an watching order is generated for the objects with passed class ID. If OrderMsg::eUNWATCH_CLASS, an end of watching order is generated for the objects with passed class ID. |
[in] | ulClassID | The class ID of the objects concerned. |
[in] | ulWatchMode | The watch mode. Allowed watch modes:
|
[in] | pCallBack | The CallBack object that is notified via its method CallBack::notify(NotifyNote&). |
See also descriptions of
|
protected |
Creates an order for the communicator, depending on the parameter eSetWatchOrUnsetWatch, to monitor the login/logout to the GloServer or the opening and closing of a database of clients, or to stop monitoring.
[in] | eSetWatchOrUnsetWatch | If OrderMsg::eWATCH_CLIENT, an observation order is generated for the login/logout to the GloServer or the opening and closing of a client's database. If OrderMsg::eUNWATCH_CLIENT, an observation stop order is generated for logging on or off the GloServer or for opening or closing a database of a client. |
[in] | ulWatchMode | The watch mode. Allowed watch modes:
|
[in] | pCallBack | The CallBack object that is notified via its method CallBack::notify(NotifyNote&). |
Is called by:
|
protected |
Creates an order for the communicator, depending on the parameter eSetWatchOrUnsetWatch, to observe the reading or writing or the reindexing of the indices of a database or to terminate the observation.
[in] | eSetWatchOrUnsetWatch | If OrderMsg::eWATCH_INDEX_READWRITE, an observation order for reading the indices of a database is generated. If OrderMsg::eUNWATCH_INDEX_READWRITE, an end of observation order is generated for writing the indexes of a database. |
[in] | ulWatchMode | The watch mode. Allowed watching modes:
|
[in] | pCallBack | The CallBack object that is notified via its method CallBack::notify(NotifyNote&). |
Is called by:
|
protected |
Creates an order for the communicator, to observe or stop observation, of a set of objects in the database, depending on the eSetWatchOrUnsetWatch parameter.
[in] | eSetWatchOrUnsetWatch | If OrderMsg::eWATCH_OBJECT, an observation order is generated for the objects in rObjIdLot. If OrderMsg::eUNWATCH_OBJECT, an observation end order is generated for the objects in the rObjIdLot. |
[in] | rObjIdLot | The objects concerned. |
[in] | ulWatchMode | The watch mode. Allowed watch modes:
|
[in] | eDeepMode | The watching depth mode. |
[in] | pCallBack | The CallBack object that is notified via its method CallBack::notify(NotifyNote&). |
See also descriptions of
|
protected |
Creates an order for the communicator to observe an object in the database or to terminate the observation depending on the parameter eSetWatchOrUnsetWatch.
[in] | eSetWatchOrUnsetWatch | If OrderMsg::eWATCH_OBJECT, an observation order is generated for the object with passed object ID. If OrderMsg::eUNWATCH_OBJECT, an end of observation order is generated for the object with passed object ID. |
[in] | rObjId | The object ID of the affected object. |
[in] | ulWatchMode | The watch mode. Allowed watch modes:
|
[in] | eDeepMode | The watching depth mode. |
[in] | pCallBack | The CallBack object that is notified via its method CallBack::notify(NotifyNote&). |
See also descriptions of
|
protected |
Creates an order for the communicator, to observe or stop observation, of a set of objects in the database, depending on the eSetWatchOrUnsetWatch parameter.
[in] | eSetWatchOrUnsetWatch | If OrderMsg::eWATCH_OBJECT, an observation order is generated for the objects with the object ID in pObjIDList. If OrderMsg::eUNWATCH_OBJECT, an end of observation order is generated for the objects with the object ID in pObjIDList. |
[in] | pObjIDList | The object IDs of the affected objects. |
[in] | pWatchSpec | The watching mode, the watching depth mode and the CallBack object to be notified. |
Is called by:
|
friend |
|
friend |
|
friend |
|
private |
Is set when database is opened (true) or closed (false).
|
private |
General information about the waiting time in seconds (e.g. response from the server etc.).
|
private |
Is set when a transaction is began, commited or abordet.
|
private |
When new objects are read from the database, the glo::Persistent::activate() method should be called for them.
As this cannot be done by glo::PrivateBase (the call in the glo::Base is secured by a eut::CriticalSection, so no further calls in glo::PrivateBase from glo::Persistent::activate()!), the objects to be notified are temporarily stored in this container.
For these, the glo::PrivateBase then calls the glo::Persistent::activate() method after the eut::CriticalSection and removes it from the container.
|
private |
If the database is opened in single user mode, here is an object of type LocalThread, otherwise of type ClientThread.
|
private |
To be able to instantiate objects from records in the database, a suitable ObjCreator must be available.
|
private |
To get objects into the database and vice versa, a ObjectMaker must be available.
|
private |
References the generic persistent objects in memory. In the GenPersObjectSpy you can, for example, check whether a generic persistent object has already been retrieved from the database.
|
private |
References the persistent objects in memory. In the PersObjectSpy you can, for example, check whether a persistent object has already been retrieved from the database.
|
private |
An object of this class is responsible for the database with this name.
|
private |
The names of the known databases (e.g. "Name1|Name2") can be set by using the appropriate constructor. If required and not set, a DB.ini is searched for and the value is tried to be determined there.
|
private |
The directory path to the database (e.g. "C:/Path/") is only mandatory for single-user operation and can be set by appropriate constructors. If required and not set, a DB.ini is expected and the value is tried to be determined there .
|
private |
The server name. The default setting is "LOCAL", then single user mode. For server operation, this can be "LOCALHOST" (server runs in the same system) or the IP address.
|
private |
The client name can be set. It is passed on when the database is opened, for example. In server operation, actions can be displayed in a more differentiated way.
|
private |
Usually the settings are read from the DB.ini file. See GlobalObjects initialization file in the manual.
The file name can be overwritten, e.g. with "MyDB.ini" and is located here.
|
private |
|
private |
Is set when database is opened.