GlobalObjects
Loading...
Searching...
No Matches
glo::PrivateBase Class Reference

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)
 
ObjectMakergetObjectMaker ()
 
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 &)
 
PrivateBaseoperator= (const PrivateBase &)
 

Private Attributes

bool m_bOpen
 
int m_iTimeOutSec
 
int m_iTransactionLevel
 
std::vector< std::shared_ptr< Persistent > > m_ObjectsToActivate
 
Basem_pBaseApi
 
Communicatorm_pLocalCommunicator
 
ObjCreatorm_pObjCreator
 
ObjectMakerm_pObjectMaker
 
GenPersObjectSpym_pPersGenericObjectSpy
 
PersObjectSpym_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
 

Detailed Description

In this class functions for Base are encapsulated. The Base interface is not affected by any changes in functionality.

Author
Helmut Jakoby

Constructor & Destructor Documentation

◆ PrivateBase() [1/8]

glo::PrivateBase::PrivateBase ( )

See the description from

glo::Base::Base()

◆ PrivateBase() [2/8]

glo::PrivateBase::PrivateBase ( const std::string & rstrClientName)

See the description from

glo::Base::Base(const std::string&)

◆ PrivateBase() [3/8]

glo::PrivateBase::PrivateBase ( const std::string & rstrClientName,
const std::string & rstrSchemaPath,
const std::string & rstrBaseName )

◆ PrivateBase() [4/8]

glo::PrivateBase::PrivateBase ( const std::string & rstrClientName,
ObjCreator & rObjCreator )

◆ PrivateBase() [5/8]

glo::PrivateBase::PrivateBase ( const std::string & rstrServerName,
const std::string & rstrClientName )

◆ PrivateBase() [6/8]

glo::PrivateBase::PrivateBase ( const std::string & rstrServerName,
const std::string & rstrClientName,
int iTimeOutSec,
unsigned int uiPort,
const std::string & rstrSchemaPath,
const std::string & rstrKnownSchemes )

◆ PrivateBase() [7/8]

glo::PrivateBase::PrivateBase ( const std::string & rstrServerName,
const std::string & rstrClientName,
ObjCreator & rObjCreator )

◆ ~PrivateBase()

virtual glo::PrivateBase::~PrivateBase ( )
virtual

See the description from

Base::~Base()

◆ PrivateBase() [8/8]

glo::PrivateBase::PrivateBase ( const PrivateBase & )
private

The copy constructor is not available.

Member Function Documentation

◆ assignObject()

int glo::PrivateBase::assignObject ( BasePersistent * pObject)
protected

◆ beginCommitAbortTransaction()

int glo::PrivateBase::beginCommitAbortTransaction ( OrderMsg::EnOrderType eBeginOrCommitOrAbort)
protected

Creates an order for the communicator to start or end a transaction depending on the parameter eBeginOrCommitOrAbort.

Parameters
[in]eBeginOrCommitOrAbortIf 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.
Returns
A return value < 0 indicates an error.

◆ close()

int glo::PrivateBase::close ( CallBack * pProgressNotificationCallBack)
protected

See the description from

glo::Base::close(CallBack*)

◆ closeAllSet()

int glo::PrivateBase::closeAllSet ( BaseAllSet * pAllSet)
protected

See the description from

glo::Base::closeAllSet(BaseAllSet*)const

◆ closeBase()

int glo::PrivateBase::closeBase ( CallBack * pProgressNotificationCallBack)
protected

See the description from

glo::Base::closeBase(CallBack*)

◆ compressBase() [1/2]

int glo::PrivateBase::compressBase ( CallBack * pProgressNotificationCallBack)
protected

See the description from

glo::Base::compressBase(CallBack*)

◆ compressBase() [2/2]

int glo::PrivateBase::compressBase ( const std::string & rstrBaseName,
CallBack * pProgressNotificationCallBack )
protected

◆ connect()

int glo::PrivateBase::connect ( CallBack * pServerCrashNotificationCallBack = nullptr)
protected

See the description from

glo::Base::connect(CallBack*)

◆ deleteObjects()

int glo::PrivateBase::deleteObjects ( const std::vector< glo::ObjID > & rObjectIDs,
EnDeepMode eDeepMode )
protected

Creates a job for the communicator to delete a set of objects in the database whose object IDs are passed.

Parameters
[in]rObjectIDsContainer with the object IDs of the objects to be deleted.
[in]eDeepModeThe delete depth mode.
Returns
A return value < 0 indicates an error. Passing an empty object ID container does cause an error message.

See also descriptions of

◆ disconnect()

int glo::PrivateBase::disconnect ( )
protected

See the description from

glo::Base::disconnect()

◆ doWithBase()

int glo::PrivateBase::doWithBase ( const std::string & rstrBaseName,
CallBack * pCallBack,
OrderMsg::EnOrderType eRepairType )
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 *).

Parameters
[in]rstrBaseNameThe name of the database to be edited.
[in]pCallBackIf 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]eRepairTypeThe type of repair;
Returns
A return value < 0 indicates an error.
Note
This method works without index. If finished without error, the index is rewritten.
Attention
The desired will only succeed if the database is not opened by any instance.
Without previous connection (see also PrivateBase::connect(CallBack*) ) the method fails.
Basically pCallBack must not be destroyed before the monitoring has been cancelled.

◆ generateObject()

int glo::PrivateBase::generateObject ( BasePersistent *& prObject,
Record * pRecord,
bool bShouldBeActivated,
bool bGeneric )
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.

Parameters
[in,out]prObjectA pointer to an instantiated object.
[in]pRecordThe data record from which the object is to be instantiated.
[in]bShouldBeActivatedIf true, the supplied object is inserted into m_ObjectsToActivate, if not bGeneric is true..
[in]bGenericIf 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.
Returns
A return value < 0 indicates an error.
Attention
The calling instance must remove the returned object from memory using BasePersistent::forget().
The transferred data record becomes the property of this object; the calling instance must not 'forget' it.

◆ getAllBases()

int glo::PrivateBase::getAllBases ( std::vector< std::string > *& prRetValVector) const
protected

◆ getAllClassInfosFromBase()

int glo::PrivateBase::getAllClassInfosFromBase ( std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *& prAllClassInfoMap,
const std::string & rstrBaseName )
protected

See the description from

glo::Base::getAllClassInfosFromBase(std::map< unsigned long, glo::ClassInfo , std::less<unsigned long> >&, const std::string&)const

◆ getAllLoggedClients()

int glo::PrivateBase::getAllLoggedClients ( std::vector< ClientInfo > & rClientInfoVector,
const std::string & rstrBaseName ) const
protected

See the description from

glo::Base::getAllLoggedClients(std::vector< ClientInfo >*&, const std::string&)const

◆ getAllSubClassInfos()

int glo::PrivateBase::getAllSubClassInfos ( std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *& prSubClassInfoMap,
unsigned long ulClassID,
const std::string & rstrBaseName )
protected

See the description from

glo::Base::getAllSubClassInfos(std::map< unsigned long, glo::ClassInfo , std::less<unsigned long> >&, unsigned long, const std::string&)const

◆ getAllSuperClassInfos()

int glo::PrivateBase::getAllSuperClassInfos ( std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *& prSuperClassInfoMap,
unsigned long ulClassID,
const std::string & rstrBaseName )
protected

See the description from

glo::Base::getAllSuperClassInfos(std::map< unsigned long, glo::ClassInfo , std::less<unsigned long> >&, unsigned long, const std::string&)const

◆ getAnObject()

int glo::PrivateBase::getAnObject ( BasePersistent *& prObject,
const ObjID & rObjID,
bool bGeneric = false )
protected

◆ getBaseCount()

int glo::PrivateBase::getBaseCount ( std::vector< std::string >::size_type & rBaseCount) const
protected

◆ getBaseID()

unsigned long glo::PrivateBase::getBaseID ( ) const
protected

Returns the database ID, see also

glo::Base::getBaseID()const

◆ getBaseName()

std::string glo::PrivateBase::getBaseName ( ) const
protected

See the description from

glo::Base::getBaseName()const

◆ getClassInfo() [1/2]

int glo::PrivateBase::getClassInfo ( ClassInfo *& prClassInfo,
const std::string & rstrClassName,
const std::string & rstrBaseName ) const
protected

◆ getClassInfo() [2/2]

int glo::PrivateBase::getClassInfo ( ClassInfo *& prClassInfo,
unsigned long ulClassID,
const std::string & rstrBaseName ) const
protected

◆ getClassInfos()

int glo::PrivateBase::getClassInfos ( OrderMsg::EnOrderType eOrder,
std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *& prClassInfoMap,
unsigned long ulClassID,
const std::string & rstrBaseName )
protected

Creates an order for the communicator to provide a set of class information, if necessary of a class, depending on the parameter.

Parameters
[in]eOrderIf 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]prClassInfoMapThe container with the class information.
[in]ulClassIDThe class ID.
[in]rstrBaseNameThe name of the database or schema, is ignored if m_pObjectMaker.
Returns
A return value < 0 indicates an error.
Attention
The supplied object (prClassInfoMap) and its elements must be removed from memory by the calling instance.

◆ getClientName()

std::string glo::PrivateBase::getClientName ( ) const
protected

See the description from

glo::Base::getClientName()const

◆ getCommunicatorID()

unsigned int glo::PrivateBase::getCommunicatorID ( ) const
protected

See the description from

glo::Base::getCommunicatorID()const

◆ getDbIniName()

std::string glo::PrivateBase::getDbIniName ( ) const
protected

◆ getDefaultLimits()

int glo::PrivateBase::getDefaultLimits ( std::vector< LimitRecord > *& prRetValVector) const
protected

◆ getDependDataRecords()

int glo::PrivateBase::getDependDataRecords ( std::map< ObjID, Record *, std::less< ObjID > > & rRetValList,
Record & rObjDataRecord,
EnDeepMode eDeepMode,
bool bWithRefRecords ) const
protected

Returns all data records of a transferred data record that are to be saved or deleted as well.

Parameters
[in,out]rRetValListContainer with the dependent data records.
[in]rObjDataRecordThe data set whose dependent data sets are expected.
[in]eDeepModeThe depth mode that indicates what is seen as dependent.
[in]bWithRefRecordsIf 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'.
Returns
A return value < 0 indicates an error.
Note
For Glo developers: Is implemented in GloRecordAttributeFunctions.cpp, so that extensions of data set attributes can be made there collectively.

◆ getIndexedObjIdsFromAllSet() [1/6]

int glo::PrivateBase::getIndexedObjIdsFromAllSet ( std::vector< glo::ObjID > & rObjIDContainer,
const BaseAllSet & rAllSet,
const std::string & rsIndexName,
unsigned long ulIndexClassID,
const std::string & rsIndexSearchValue,
EnComparisionOp eComparisionOp )
protected

◆ getIndexedObjIdsFromAllSet() [2/6]

int glo::PrivateBase::getIndexedObjIdsFromAllSet ( std::vector< glo::ObjID > & rObjIDContainer,
const BaseAllSet & rAllSet,
const std::string & rsIndexName,
unsigned long ulIndexClassID,
const std::string & rsIndexSearchValue,
EnQueryType eQuerryType )
protected

◆ getIndexedObjIdsFromAllSet() [3/6]

int glo::PrivateBase::getIndexedObjIdsFromAllSet ( std::vector< glo::ObjID > & rObjIDContainer,
const BaseAllSet & rAllSet,
const std::string & rsIndexName,
unsigned long ulIndexClassID,
const std::string & rsRangeStartIndexSearchValue,
const std::string & rsRangeEndIndexSearchValue )
protected

◆ getIndexedObjIdsFromAllSet() [4/6]

int glo::PrivateBase::getIndexedObjIdsFromAllSet ( std::vector< glo::ObjID > & rObjIDContainer,
const BaseAllSet & rAllSet,
const std::string & rsIndexSearchValue,
EnComparisionOp eComparisionOp )
protected

◆ getIndexedObjIdsFromAllSet() [5/6]

int glo::PrivateBase::getIndexedObjIdsFromAllSet ( std::vector< glo::ObjID > & rObjIDContainer,
const BaseAllSet & rAllSet,
const std::string & rsIndexSearchValue,
EnQueryType eQuerryType )
protected

◆ getIndexedObjIdsFromAllSet() [6/6]

int glo::PrivateBase::getIndexedObjIdsFromAllSet ( std::vector< glo::ObjID > & rObjIDContainer,
const BaseAllSet & rAllSet,
const std::string & rsRangeStartIndexSearchValue,
const std::string & rsRangeEndIndexSearchValue )
protected

◆ getKnownSchemes()

int glo::PrivateBase::getKnownSchemes ( std::vector< std::string > & rRetVal)
protected

◆ getLimits()

int glo::PrivateBase::getLimits ( LimitRecord *& prLimitRecord,
const ClassInfoAttribute::Type & rClassInfoAttributeType ) const
protected

◆ getObjectFromAllSet()

int glo::PrivateBase::getObjectFromAllSet ( ObjID & rObjID,
BasePersistent *& prObject,
const BaseAllSet & rAllSet,
EnSeekMode eMode,
bool bGeneric = false )
protected

◆ getObjectMaker()

ObjectMaker * glo::PrivateBase::getObjectMaker ( )
protected

See the description from

glo::Base::getObjectMaker()

◆ getObjectsToActivat()

std::vector< std::shared_ptr< Persistent > > * glo::PrivateBase::getObjectsToActivat ( )
protected

Returns a pointer to m_ObjectsToActivate.

Returns
see above.

◆ getObjIdFromAllSet()

int glo::PrivateBase::getObjIdFromAllSet ( ObjID & rObjID,
const BaseAllSet & rAllSet,
EnSeekMode eMode )
protected

◆ getPort()

int glo::PrivateBase::getPort ( unsigned int & ruiPort)
protected

See the description from

glo::Base::getPort(unsigned int&)

◆ getRecord()

int glo::PrivateBase::getRecord ( Record *& prRecord,
const ObjID & rObjID,
unsigned long ulClassID )
protected

◆ getSchemaNameWithPath()

int glo::PrivateBase::getSchemaNameWithPath ( std::string & rstrRetVal)
protected

◆ getSchemaPath()

int glo::PrivateBase::getSchemaPath ( std::string & rstrRetVal)
protected

See the description from

glo::Base::getSchemaPath(std::string&)

◆ getServerName()

std::string glo::PrivateBase::getServerName ( ) const
protected

See the description from

glo::Base::getServerName()const

◆ getSizeFromAllSet()

int glo::PrivateBase::getSizeFromAllSet ( std::size_t & rnSize,
const BaseAllSet & rAllSet )
protected

◆ getSubClassInfos()

int glo::PrivateBase::getSubClassInfos ( std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *& prSubClassInfoMap,
unsigned long ulClassID,
const std::string & rstrBaseName )
protected

See the description from

glo::Base::getSubClassInfos(std::map< unsigned long, glo::ClassInfo , std::less<unsigned long> >&, unsigned long, const std::string&)const

◆ getSuperClassInfos()

int glo::PrivateBase::getSuperClassInfos ( std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *& prSuperClassInfoMap,
unsigned long ulClassID,
const std::string & rstrBaseName )
protected

See the description from

glo::Base::getSuperClassInfos(std::map< unsigned long, glo::ClassInfo , std::less<unsigned long> >&, unsigned long, const std::string&)const

◆ getTimeOutSec()

int glo::PrivateBase::getTimeOutSec ( int & riTimeOutSec)
protected

See the description from

glo::Base::getTimeOutSec(int&)

◆ getTransactionLevel()

int glo::PrivateBase::getTransactionLevel ( ) const
protected

See the description from

glo::Base::getTransactionLevel()const

◆ insertDataRecord() [1/4]

int glo::PrivateBase::insertDataRecord ( std::map< ObjID, Record *, std::less< ObjID > > & rRetValList,
IDRecordAttribute * pIDRecordAttribute,
EnDeepMode eDeepMode,
bool bWithRefRecords ) const
protected

Inserts in rRetValList the record of an object from m_pPersObjectSpy or m_pPersGenericObjectSpy with the ObjID of the passed IDRecordAttribute.

Parameters
[in,out]rRetValListContainer with the records to be inserted.
[in,out]pIDRecordAttributeThe attribute with the objectID. The record is entered there.
[in]eDeepModeThe depth mode that indicates what is seen as dependent. Is necessary because this method uses getDependDataRecords (...).
[in]bWithRefRecordsIf 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'.
Returns
A return value < 0 indicates an error.

◆ insertDataRecord() [2/4]

int glo::PrivateBase::insertDataRecord ( std::map< ObjID, Record *, std::less< ObjID > > & rRetValList,
IDRecordAttribute * pIDRecordAttribute,
ObjIDRecordTuple * pObjIDRecordTuple,
ObjID & rObjID,
EnDeepMode eDeepMode,
bool bWithRefRecords ) const
protected

Is the executing method for:

  • insertDataRecord(std::map<ObjID,Record*,std::less<ObjID>>&,IDRecordAttribute <em>,EnDeepMode) const
  • insertDataRecord(std::map<ObjID,Record

,std::less<ObjID>>&,ObjIDRecordTuple*,EnDeepMode) const

The parameters are accordingly variable.

Parameters
[in,out]rRetValListContainer with the records to be inserted.
[in,out]pIDRecordAttributeThe attribute with the objectID. The record is entered there.
[in,out]pObjIDRecordTupleThe IDRecordTuple with the objectID. The record is entered there.
[in]rObjIDThe object ID.
[in]eDeepModeThe depth mode that indicates what is seen as dependent. Is necessary because this method uses getDependDataRecords (...).
[in]bWithRefRecordsIf 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'.
Returns
A return value < 0 indicates an error.

◆ insertDataRecord() [3/4]

int glo::PrivateBase::insertDataRecord ( std::map< ObjID, Record *, std::less< ObjID > > & rRetValList,
ObjID ObjID,
EnDeepMode eDeepMode ) const
protected

Inserts into rRetValList the data set of an object from m_pPersObjectSpy or m_pPersGenericObjectSpy with passed ObjID.

Parameters
[in,out]rRetValListContainer with the records to be inserted.
[in]ObjIDThe object ID.
[in]eDeepModeThe depth mode that indicates what is seen as dependent. Is necessary because this method uses getDependDataRecords (...).
Returns
A return value < 0 indicates an error.

◆ insertDataRecord() [4/4]

int glo::PrivateBase::insertDataRecord ( std::map< ObjID, Record *, std::less< ObjID > > & rRetValList,
ObjIDRecordTuple * pObjIDRecordTuple,
EnDeepMode eDeepMode ) const
protected

Inserts in rRetValList the record of an object from m_pPersObjectSpy or m_pPersGenericObjectSpy with the ObjID of the passed ObjIDRecordTuple.

Parameters
[in,out]rRetValListContainer with the records to be inserted.
[in,out]pObjIDRecordTupleThe IDRecordTuple with the objectID. The record is entered there.
[in]eDeepModeThe depth mode that indicates what is seen as dependent. Is necessary because this method uses getDependDataRecords (...).
Returns
A return value < 0 indicates an error.

◆ instantiateRecordObjects()

int glo::PrivateBase::instantiateRecordObjects ( BasePersistent & rObject,
Record * pRecord,
bool bShouldBeActivated )
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.

Parameters
[in,out]rObjectThe object extended by its directly referenced objects.
[in]pRecordThe data set with the information about directly referenced objects.
[in]bShouldBeActivatedIf true, any objects loaded from the database are inserted into m_ObjectsToActivate. This happens in generateObject (...) if requested there.
Returns
A return value < 0 indicates an error.
Note
For Glo developers: Is implemented in GloRecordAttributeFunctions.cpp, so that extensions of data set attributes can be made there collectively.

◆ isConnected()

bool glo::PrivateBase::isConnected ( ) const
protected

See the description from

glo::Base::isConnected()const

◆ isInTransaction()

bool glo::PrivateBase::isInTransaction ( ) const
protected

See the description from

glo::Base::isInTransaction()const

◆ isKnownClassID()

int glo::PrivateBase::isKnownClassID ( bool & rbRetVal,
unsigned long ulClassID,
const std::string & rstrBaseName ) const
protected

See the description from

glo::Base::isKnownClassID (...)const

◆ isOpen()

bool glo::PrivateBase::isOpen ( ) const
protected

See the description from

glo::Base::isOpen()const

◆ isStoredObject()

int glo::PrivateBase::isStoredObject ( bool & rbRetVal,
BasePersistent * pObject )
protected

◆ isSuperClassFrom()

int glo::PrivateBase::isSuperClassFrom ( bool & rbRetVal,
unsigned long ulClassIDSuperClass,
unsigned long ulClassIDSubClass,
const std::string & rstrBaseName ) const
protected

See the description from

glo::Base::isSuperClassFrom (...)const

◆ lockUnlockLot()

int glo::PrivateBase::lockUnlockLot ( OrderMsg::EnOrderType eLockOrUnlock,
const BaseLot & rObjIdLot,
EnLockMode eLockMode,
EnDeepMode eDeepMode )
protected

Creates an order for the communicator to lock or unlock a set of objects in the database, depending on the eLockOrUnlock parameter.

Parameters
[in]eLockOrUnlockIf 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]rObjIdLotThe affected objects.
[in]eLockModeThe lock mode.
[in]eDeepModeThe lock or release depth mode.
Returns
A return value < 0 indicates an error.

See also descriptions of

◆ lockUnlockObject()

int glo::PrivateBase::lockUnlockObject ( OrderMsg::EnOrderType eLockOrUnlock,
const ObjID & rObjId,
EnLockMode eLockMode,
EnDeepMode eDeepMode )
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.

Parameters
[in]eLockOrUnlockIf 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]rObjIdThe object ID of the object concerned.
[in]eLockModeThe lock mode.
[in]eDeepModeThe lock or release depth mode.
Returns
A return value < 0 indicates an error.

See also descriptions of

◆ lockUnlockObjIdList()

int glo::PrivateBase::lockUnlockObjIdList ( OrderMsg::EnOrderType eLockOrUnlock,
std::list< ObjID > * pObjIDList,
LockSpecification * pLockSpec )
protected

Creates an order for the communicator to lock or unlock a set of objects in the database, depending on the eLockOrUnlock parameter.

Parameters
[in]eLockOrUnlockIf 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]pObjIDListThe object IDs of the affected objects.
[in]pLockSpecThe lock mode with the lock or unlock depth mode.
Returns
A return value < 0 indicates an error.

See also descriptions of

, EnLockMode, EnDeepMode)const

◆ movePtrClassInfoMapToSmrtPtrClassInfoMap()

void glo::PrivateBase::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
protected

Transfers the pointers to class information from a pointer map to a map with std::shared_ptr on class information

Parameters
[in]pPtrClassInfoMapThe source map.
[in,out]rSmrtPtrClassInfoMapThe target map.

◆ notifyAsWritten()

int glo::PrivateBase::notifyAsWritten ( const std::list< ObjID > & rObjIDList)
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.

Parameters
[in]rObjIDListThe list with the object IDs.
Returns
A return < 0 indicates an error.
Note
This method sends without waiting (fire and forget).
See also
Watch and notify.

◆ objIDInAllSet()

int glo::PrivateBase::objIDInAllSet ( const ObjID & rObjID,
const BaseAllSet & rAllSet )
protected

◆ open()

int glo::PrivateBase::open ( const std::string & rstrBaseName,
CallBack * pProgressNotificationCallBack )
protected

◆ openAllSet()

int glo::PrivateBase::openAllSet ( BaseAllSet * pAllSet)
protected

See the description from

glo::Base::openAllSet(BaseAllSet*)const

◆ openBase()

int glo::PrivateBase::openBase ( CallBack * pProgressNotificationCallBack,
CallBack * pServerCrashNotificationCallBack )
protected

See the description from

glo::Base::openBase(CallBack*)

◆ openBaseComfortably()

int glo::PrivateBase::openBaseComfortably ( CallBack * pProgressNotificationCallBack,
CallBack * pServerCrashNotificationCallBack )
protected

See the description from

glo::Base::openBaseComfortably(CallBack*)

◆ operator=()

PrivateBase & glo::PrivateBase::operator= ( const PrivateBase & )
private

The assignment operator is not available.

◆ processIndexQueryOrFilter()

int glo::PrivateBase::processIndexQueryOrFilter ( const IndexQueryBaseStruct & rIndexQueryBaseStruct,
std::vector< ObjID > * pRetValObjIDVector )
protected

Help method for PrivateBase::setIndexFilter (...) and PrivateBase::getIndexedObjIdsFromAllSet (...).

Parameters
[in]rIndexQueryBaseStructThe query structure for the index query or filter. Allowed types are IndexQueryStruct, ComparisionIndexQueryStruct and RangeIndexQueryStruct.
[in]pRetValObjIDVectorThe result list if != nullptr. If not passed, a filter is set.
Returns
A return < 0 indicates an error.

◆ reconnect()

int glo::PrivateBase::reconnect ( CallBack * pServerCrashNotificationCallBack = nullptr)
protected

See the description from

glo::Base::reconnectCallBack*()

◆ refreshObject()

int glo::PrivateBase::refreshObject ( BasePersistent * pObject)
protected

◆ reindexBase() [1/2]

int glo::PrivateBase::reindexBase ( CallBack * pProgressNotificationCallBack)
protected

See the description from

glo::Base::reindexBase(CallBack*)

◆ reindexBase() [2/2]

int glo::PrivateBase::reindexBase ( const std::string & rstrBaseName,
CallBack * pProgressNotificationCallBack )
protected

◆ removeIndexFilter()

int glo::PrivateBase::removeIndexFilter ( const BaseAllSet & rAllSet)
protected

See the description from

glo::Base::removeIndexFilter(const BaseAllSet&)

◆ repairBase() [1/2]

int glo::PrivateBase::repairBase ( CallBack * pProgressNotificationCallBack)
protected

See the description from

glo::Base::repairBase(CallBack*)

◆ repairBase() [2/2]

int glo::PrivateBase::repairBase ( const std::string & rstrBaseName,
CallBack * pProgressNotificationCallBack )
protected

◆ setBaseName()

int glo::PrivateBase::setBaseName ( const std::string & rstrBaseName)
protected

◆ setClientName()

int glo::PrivateBase::setClientName ( const std::string & rstrClientName)
protected

◆ setCurrentObjectInAllSet()

int glo::PrivateBase::setCurrentObjectInAllSet ( const ObjID & rObjID,
const BaseAllSet & rAllSet )
protected

◆ setDbIniName()

int glo::PrivateBase::setDbIniName ( const std::string & rstrDbIniName)
protected

◆ setIndexFilter() [1/3]

int glo::PrivateBase::setIndexFilter ( const BaseAllSet & rAllSet,
const std::string & rsIndexFilter )
protected

See the description from

glo::Base::setIndexFilter(const BaseAllSet&, const std::string&const

◆ setIndexFilter() [2/3]

int glo::PrivateBase::setIndexFilter ( const BaseAllSet & rAllSet,
const std::string & rsIndexFilter,
EnComparisionOp eComparisionOp )
protected

◆ setIndexFilter() [3/3]

int glo::PrivateBase::setIndexFilter ( const BaseAllSet & rAllSet,
const std::string & rsRangeStartIndexFilter,
const std::string & rsRangeEndIndexFilter )
protected

◆ setKnownSchemes()

int glo::PrivateBase::setKnownSchemes ( const std::string & rstrKnownSchemes)
protected

◆ setPositionInAllSet()

int glo::PrivateBase::setPositionInAllSet ( std::size_t nPosition,
const BaseAllSet & rAllSet )
protected

◆ setSchemaPath()

int glo::PrivateBase::setSchemaPath ( const std::string & rstrSchemaPath)
protected

◆ setWatchServer()

int glo::PrivateBase::setWatchServer ( CallBack * pCallBack) const
protected

◆ storeDeleteObject()

int glo::PrivateBase::storeDeleteObject ( OrderMsg::EnOrderType eStoreOrDelete,
BasePersistent * pObject,
EnDeepMode eDeepMode )
protected

Creates an order for the communicator to save or delete an object in the database depending on the parameter eStoreOrDelete.

Parameters
[in]eStoreOrDeleteIf OrderMsg::eSTORE the object is saved or deleted if OrderMsg::eDELETE.
[in]pObjectThe object to be stored or deleted.
[in]eDeepModeThe store or delete depth mode.
Returns
A return value < 0 indicates an error.

See also descriptions of

◆ switchWatchClass()

int glo::PrivateBase::switchWatchClass ( OrderMsg::EnOrderType eSetWatchOrUnsetWatch,
unsigned long ulClassID,
TdWatchNotifyMode ulWatchMode,
CallBack * pCallBack )
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.

Parameters
[in]eSetWatchOrUnsetWatchIf 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]ulClassIDThe class ID of the objects concerned.
[in]ulWatchModeThe watch mode.
Allowed watch modes:
[in]pCallBackThe CallBack object that is notified via its method CallBack::notify(NotifyNote&).
Returns
A return value < 0 indicates an error.
Attention
Basically pCallBack must not be destroyed before the monitoring has been cancelled.

See also descriptions of

◆ switchWatchClient()

int glo::PrivateBase::switchWatchClient ( OrderMsg::EnOrderType eSetWatchOrUnsetWatch,
TdWatchNotifyMode ulWatchMode,
CallBack * pCallBack ) const
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.

Parameters
[in]eSetWatchOrUnsetWatchIf 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]ulWatchModeThe watch mode.
Allowed watch modes:
[in]pCallBackThe CallBack object that is notified via its method CallBack::notify(NotifyNote&).
Returns
A return value < 0 indicates an error.
Attention
Basically pCallBack must not be destroyed before the monitoring has been cancelled.

Is called by:

◆ switchWatchIndex()

int glo::PrivateBase::switchWatchIndex ( OrderMsg::EnOrderType eSetWatchOrUnsetWatch,
TdWatchNotifyMode ulWatchMode,
CallBack * pCallBack ) const
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.

Parameters
[in]eSetWatchOrUnsetWatchIf 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]ulWatchModeThe watch mode.
Allowed watching modes:
[in]pCallBackThe CallBack object that is notified via its method CallBack::notify(NotifyNote&).
Returns
A return value < 0 indicates an error.
Attention
Basically pCallBack must not be destroyed before the monitoring has been cancelled.

Is called by:

◆ switchWatchLot()

int glo::PrivateBase::switchWatchLot ( OrderMsg::EnOrderType eSetWatchOrUnsetWatch,
const BaseLot & rObjIdLot,
TdWatchNotifyMode ulWatchMode,
EnDeepMode eDeepMode,
CallBack * pCallBack )
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.

Parameters
[in]eSetWatchOrUnsetWatchIf 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]rObjIdLotThe objects concerned.
[in]ulWatchModeThe watch mode.
Allowed watch modes:
[in]eDeepModeThe watching depth mode.
[in]pCallBackThe CallBack object that is notified via its method CallBack::notify(NotifyNote&).
Returns
A return value < 0 indicates an error.
Attention
Basically pCallBack must not be destroyed before the monitoring has been cancelled.

See also descriptions of

◆ switchWatchObject()

int glo::PrivateBase::switchWatchObject ( OrderMsg::EnOrderType eSetWatchOrUnsetWatch,
const ObjID & rObjId,
TdWatchNotifyMode ulWatchMode,
EnDeepMode eDeepMode,
CallBack * pCallBack )
protected

Creates an order for the communicator to observe an object in the database or to terminate the observation depending on the parameter eSetWatchOrUnsetWatch.

Parameters
[in]eSetWatchOrUnsetWatchIf 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]rObjIdThe object ID of the affected object.
[in]ulWatchModeThe watch mode.
Allowed watch modes:
[in]eDeepModeThe watching depth mode.
[in]pCallBackThe CallBack object that is notified via its method CallBack::notify(NotifyNote&).
Returns
A return value < 0 indicates an error.
Attention
Basically pCallBack must not be destroyed before the monitoring has been cancelled.

See also descriptions of

◆ switchWatchObjIdList()

int glo::PrivateBase::switchWatchObjIdList ( OrderMsg::EnOrderType eSetWatchOrUnsetWatch,
std::list< ObjID > * pObjIDList,
WatchSpecification * pWatchSpec )
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.

Parameters
[in]eSetWatchOrUnsetWatchIf 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]pObjIDListThe object IDs of the affected objects.
[in]pWatchSpecThe watching mode, the watching depth mode and the CallBack object to be notified.
Returns
A return value < 0 indicates an error.

Is called by:

  • switchWatchObject(OrderMsg::EnOrderType, const ObjID&, TdWatchNotifyMode, EnDeepMode, CallBack*)const
  • switchWatchLot(OrderMsg::EnOrderType, const BaseLot&, TdWatchNotifyMode, EnDeepMode, CallBack*)const

Friends And Related Symbol Documentation

◆ Base

friend class Base
friend

◆ EmbeddedRecordAttribute

friend class EmbeddedRecordAttribute
friend

◆ ObjectMaker

friend class ObjectMaker
friend

Member Data Documentation

◆ m_bOpen

bool glo::PrivateBase::m_bOpen
private

Is set when database is opened (true) or closed (false).

◆ m_iTimeOutSec

int glo::PrivateBase::m_iTimeOutSec
private

General information about the waiting time in seconds (e.g. response from the server etc.).

◆ m_iTransactionLevel

int glo::PrivateBase::m_iTransactionLevel
private

Is set when a transaction is began, commited or abordet.

◆ m_ObjectsToActivate

std::vector< std::shared_ptr< Persistent > > glo::PrivateBase::m_ObjectsToActivate
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.

◆ m_pBaseApi

Base* glo::PrivateBase::m_pBaseApi
private

Reverse pointer to the Base.

◆ m_pLocalCommunicator

Communicator* glo::PrivateBase::m_pLocalCommunicator
private

If the database is opened in single user mode, here is an object of type LocalThread, otherwise of type ClientThread.

◆ m_pObjCreator

ObjCreator* glo::PrivateBase::m_pObjCreator
private

To be able to instantiate objects from records in the database, a suitable ObjCreator must be available.

◆ m_pObjectMaker

ObjectMaker* glo::PrivateBase::m_pObjectMaker
private

To get objects into the database and vice versa, a ObjectMaker must be available.

◆ m_pPersGenericObjectSpy

GenPersObjectSpy* glo::PrivateBase::m_pPersGenericObjectSpy
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.

◆ m_pPersObjectSpy

PersObjectSpy* glo::PrivateBase::m_pPersObjectSpy
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.

◆ m_sBaseName

std::string glo::PrivateBase::m_sBaseName
private

An object of this class is responsible for the database with this name.

◆ m_sKnownSchemes

std::string glo::PrivateBase::m_sKnownSchemes
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.

◆ m_sSchemaPath

std::string glo::PrivateBase::m_sSchemaPath
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 .

◆ m_sServerName

std::string glo::PrivateBase::m_sServerName
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.

Attention
This value cannot be changed after instantiation.

◆ m_strClientName

std::string glo::PrivateBase::m_strClientName
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.

◆ m_strDbIniFileName

std::string glo::PrivateBase::m_strDbIniFileName
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.

See also
PrivateBase::setDbIniName(const std::string &), PrivateBase::getDbIniName() const

◆ m_uiPort

unsigned int glo::PrivateBase::m_uiPort
private

The TCP port can be set by the corresponding constructor. If not set and required, a DB.ini is expected and an attempt is made to determine the value from the DB.ini.

◆ m_ulBaseID

unsigned long glo::PrivateBase::m_ulBaseID
private

Is set when database is opened.


The documentation for this class was generated from the following file: