GlobalObjects
Lade ...
Suche ...
Keine Treffer
glo::PrivateBase Klassenreferenz

In dieser Klasse werden Funktionen für Base gekapselt. Für den Fall, dass sich Änderungen in der Funktionalität ergeben sollten, ist die Schnittstelle Base nicht tangiert. Mehr ...

#include <GloPrivateBase.h>

Öffentliche Methoden

 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 ()
 

Geschützte Methoden

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 Methoden

 PrivateBase (const PrivateBase &)
 
PrivateBaseoperator= (const PrivateBase &)
 

Private Attribute

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
 

Freundbeziehungen

class Base
 
class EmbeddedRecordAttribute
 
class ObjectMaker
 

Ausführliche Beschreibung

In dieser Klasse werden Funktionen für Base gekapselt. Für den Fall, dass sich Änderungen in der Funktionalität ergeben sollten, ist die Schnittstelle Base nicht tangiert.

Autor
Helmut Jakoby

Beschreibung der Konstruktoren und Destruktoren

◆ PrivateBase() [1/8]

glo::PrivateBase::PrivateBase ( )

Siehe Beschreibung von glo::Base::Base()

◆ PrivateBase() [2/8]

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

Siehe Beschreibung von 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

Siehe Beschreibung von Base::~Base()

◆ PrivateBase() [8/8]

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

Der Copy-Konstruktor steht nicht zur Verfügung.

Dokumentation der Elementfunktionen

◆ assignObject()

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

◆ beginCommitAbortTransaction()

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

Erstellt einen Auftrag für den Kommunikator, um eine Transaktion, in Abhängigkeit vom Parameter eBeginOrCommitOrAbort zu starten bzw. zu beenden.

Parameter
[in]eBeginOrCommitOrAbortWenn OrderMsg::eBEGIN_TRANSACTION, wird eine Transaktion gestartet.
Wenn OrderMsg::eCOMMIT_TRANSACTION, wird die aktuelle Transaktion bestätigt.
Wenn OrderMsg::eABORT_TRANSACTION, wird die aktuelle Transaktion abgebrochen.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ close()

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

Siehe Beschreibung von glo::Base::close(CallBack*)

◆ closeAllSet()

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

◆ closeBase()

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

Siehe Beschreibung von glo::Base::closeBase(CallBack*)

◆ compressBase() [1/2]

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

Siehe Beschreibung von 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

Siehe Beschreibung von glo::Base::connect(CallBack*)

◆ deleteObjects()

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

Erstellt einen Auftrag für den Kommunikator, um eine Menge von Objekten deren Objekt-IDs übergeben werden, in der Datenbank zu löschen.

Parameter
[in]rObjectIDsContainer mit den Objekt-IDs der zu löschende Objekte.
[in]eDeepModeDer Löschtiefenmodus.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an. Das Übergeben eines leeren Objekt-ID-Containers führt zu einer Fehlermeldung.

Siehe auch Beschreibungen von

◆ disconnect()

int glo::PrivateBase::disconnect ( )
protected

Siehe Beschreibung von

glo::Base::disconnect()

◆ doWithBase()

int glo::PrivateBase::doWithBase ( const std::string & rstrBaseName,
CallBack * pCallBack,
OrderMsg::EnOrderType eRepairType )
protected

Hilfsmethode, welche entweder die Arbeit von PrivateBase::reindexBase( const std::string &, CallBack *) oder PrivateBase::compressBase( const std::string &, CallBack *) oder PrivateBase::repairBase( const std::string &, CallBack *) erledigt.

Parameter
[in]rstrBaseNameDie Bezeichnung der Datenbank, welche bearbeitet werden sollen.
[in]pCallBackWenn ein gültiger Zeiger auf ein Objekt übergeben, wird das Fortschreiten der Arbeit über Benachrichtigungen an das CallBack-Objekt gesendet (sieh auch CallBack::notify(NotifyNote&) ).
[in]eRepairTypeDie Art der Reparatur;
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Zu beachten
Diese Methode arbeitet ohne Index. Wenn ohne Fehler beendet, ist der Index neu geschrieben.
Achtung
Das gewünschte wird nur gelingen, wenn die Datenbank von keiner Instanz geöffnet ist.
Ohne vorheriges Verbinden (siehe auch PrivateBase::connect(CallBack*) ) scheitert die Methode.
Grundsätzlich darf pCallBack nicht zerstört werden, bevor die Überwachung aufgehoben wurde.

◆ generateObject()

int glo::PrivateBase::generateObject ( BasePersistent *& prObject,
Record * pRecord,
bool bShouldBeActivated,
bool bGeneric )
protected

Instanziiert ein passendes Objekt aus übergebenen Datensatz bzw. ermittelt das Objekt, abhängig von bGeneric, aus dem referenzierten GenPersObjectSpy oder PersObjectSpy, wenn dort vorhanden.
Es werden die Attribute des Datenatzes übernommen.

Parameter
[in,out]prObjectEin Zeiger auf ein instanziiertes Objekt.
[in]pRecordDer Datensatz, aus dem das Objekt instanziiert werden soll.
[in]bShouldBeActivatedWenn true, wird das bereitgestellte Objekt in m_ObjectsToActivate eingefügt, wenn nicht bGeneric true.
[in]bGenericWenn true, wird ein generisches Objekt vom Typ GenericPersistent geliefert, ansonsten ein Objekt mit der Klassen-ID aus dem Datensatz; dann muss PrivateBase::m_pObjectMaker gesetzt sein.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Die aufrufende Instanz muss das gelieferte Objekt mittels BasePersistent::forget() aus dem Speicher entfernen.
Der übergebene Datensatz geht in den Besitz dieses Objekts über; die aufrufende Instanz darf diesen nicht 'vergessen'.

◆ 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

Siehe Beschreibung von 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

Siehe Beschreibung von 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

Siehe Beschreibung von 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

Siehe Beschreibung von 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

Liefert die Datenbank-ID, siehe auch glo::Base::getBaseID()const

◆ getBaseName()

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

Siehe Beschreibung von 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

Erstellt einen Auftrag für den Kommunikator, um eine Menge von Klasseninformationen ggf. einer Klasse, in Abhängigkeit vom Parameter zu liefern.

Parameter
[in]eOrderWenn OrderMsg::eGET_BASECLASS_INFOS, werden die Klasseninformation der direkten Oberklassen der übergebenen Klassen-ID geliefert.
Wenn OrderMsg::eGET_SUBCLASS_INFOS, werden die Klasseninformation der direkten Unterklassen der übergebenen Klassen-ID geliefert.
Wenn OrderMsg::eGET_ALL_BASECLASS_INFOS, werden die Klasseninformation aller Oberklassen der übergebenen Klassen-ID geliefert.
Wenn OrderMsg::eGET_ALL_SUBCLASS_INFOS, werden die Klasseninformation aller Unterklassen der übergebenen Klassen-ID geliefert.
Wenn OrderMsg::eGET_ALL_CLASS_INFOS, werden die Klasseninformation aller Klassen der Datenbank bzw. des Schemas geliefert. Die übergebenen Klassen-ID wird ignoriert.
[in,out]prClassInfoMapDer Container mit den Klasseninformationen.
[in]ulClassIDDie Klassen-ID.
[in]rstrBaseNameDie Bezeichnung der Datenbank bzw. des Schemas, wird ignoriert, wenn m_pObjectMaker.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Das gelieferte Objekt (prClassInfoMap) muss mit seinen Elementen von der aufrufenden Instanz aus dem Speicher entfernt werden.

◆ getClientName()

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

Siehe Beschreibung von glo::Base::getClientName()const

◆ getCommunicatorID()

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

Siehe Beschreibung von 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

Liefert alle mitzuspeichernden bzw. mitzulöschenden Datensätze eines übergebenen Datensatzes.

Parameter
[in,out]rRetValListContainer mit den abhängigen Datensätzen.
[in]rObjDataRecordDer Datensatz, dessen abhängige Datensätze erwartet werden.
[in]eDeepModeDer Tiefenmodus, der aussagt, was als abhängig gesehen wird.
[in]bWithRefRecordsWenn true, werden bei Attributen des Typs PoRefRecordAttribute, PoRefListRecordAttribute und PoRefSetRecordAttribute wenn auf gültige Objekte referenziert wird, der jeweilige Datensatz generiert.
Das ist abschaltbar da die Datensätze der referenzierten Objekt, wenn sie mitgespeichert werden sollen, über PrivateBase::getDependDataRecords (...) schon generiert werden. Voreinstellung ist 'false'.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Zu beachten
Für Glo-Entwickler: Ist in GloRecordAttributeFunctions.cpp implementiert, damit Erweiterungen von Datensatz-Attributen dort gesammelt vorgenommen werden können.

◆ 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

Siehe Beschreibung von glo::Base::getObjectMaker()

◆ getObjectsToActivat()

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

Liefert einen Zeiger auf m_ObjectsToActivate.

Rückgabe
s.o.

◆ getObjIdFromAllSet()

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

◆ getPort()

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

Siehe Beschreibung von 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

◆ getServerName()

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

Siehe Beschreibung von 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

Siehe Beschreibung von 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

Siehe Beschreibung von 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

Siehe Beschreibung von glo::Base::getTimeOutSec(int&)

◆ getTransactionLevel()

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

Siehe Beschreibung von 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

Fügt in rRetValList den Datensatz eines Objekts aus m_pPersObjectSpy oder m_pPersGenericObjectSpy mit der ObjID des übergebenen IDRecordAttribute ein.

Parameter
[in,out]rRetValListContainer mit den einzufügenden Datensätzen.
[in,out]pIDRecordAttributeDas Attribut mit der ObjektID. Es wird der Record dort eingetragen.
[in]eDeepModeDer Tiefenmodus, der aussagt, was als abhängig gesehen wird. Ist notwendig, weil diese Methode getDependDataRecords (...) nutzt.
[in]bWithRefRecordsWenn true, werden bei Attributen des Typs PoRefRecordAttribute, PoRefListRecordAttribute und PoRefSetRecordAttribute wenn auf gültige Objekte referenziert wird, der jeweilige Datensatz generiert.
Das ist abschaltbar da die Datensätze der referenzierten Objekt, wenn sie mitgespeichert werden sollen, über PrivateBase::getDependDataRecords (...) schon generiert werden. Voreinstellung ist 'false'.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ 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

Ist die ausführende Methode für:

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

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

Die Parameter sind dementsprechend variabel.

Parameter
[in,out]rRetValListContainer mit den einzufügenden Datensätzen.
[in,out]pIDRecordAttributeDas Attribut mit der ObjektID. Es wird der Record dort eingetragen.
[in,out]pObjIDRecordTupleThe IDRecordTuple with the objectID. The record is entered there.
[in]rObjIDDie Objekt-ID.
[in]eDeepModeDer Tiefenmodus, der aussagt, was als abhängig gesehen wird. Ist notwendig, weil diese Methode getDependDataRecords (...) nutzt.
[in]bWithRefRecordsWenn true, werden bei Attributen des Typs PoRefRecordAttribute, PoRefListRecordAttribute und PoRefSetRecordAttribute wenn auf gültige Objekte referenziert wird, der jeweilige Datensatz generiert.
Das ist abschaltbar da die Datensätze der referenzierten Objekt, wenn sie mitgespeichert werden sollen, über PrivateBase::getDependDataRecords (...) schon generiert werden. Voreinstellung ist 'false'.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ insertDataRecord() [3/4]

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

Fügt in rRetValList den Datensatz eines Objekts aus m_pPersObjectSpy bzw. m_pPersGenericObjectSpy mit übergebener ObjID ein.

Parameter
[in,out]rRetValListContainer mit den einzufügenden Datensätzen.
[in]ObjIDDie Objekt-ID.
[in]eDeepModeDer Tiefenmodus, der aussagt, was als abhängig gesehen wird. Ist notwendig, weil diese Methode getDependDataRecords (...) nutzt.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ insertDataRecord() [4/4]

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

Fügt in rRetValList den Datensatz eines Objekts aus m_pPersObjectSpy oder m_pPersGenericObjectSpy mit der ObjID des übergebenen ObjIDRecordTuple ein.

Parameter
[in,out]rRetValListContainer mit den einzufügenden Datensätzen.
[in,out]pObjIDRecordTupleDas IDRecordTuple mit der ObjektID. Es wird der Record dort eingetragen.
[in]eDeepModeDer Tiefenmodus, der aussagt, was als abhängig gesehen wird. Ist notwendig, weil diese Methode getDependDataRecords (...) nutzt.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ instantiateRecordObjects()

int glo::PrivateBase::instantiateRecordObjects ( BasePersistent & rObject,
Record * pRecord,
bool bShouldBeActivated )
protected

Für übergebenes Objekt werden die direkt referenzierten Objekte (z.B. eingebettete oder per Zeiger referenzierte Objekte) nachinstanziiert und in dieses eingfügt, welche im übergebenen Datensatz vorhanden sind.

Parameter
[in,out]rObjectDas um seine direkt referenzierten Objekte erweiterte Objekt.
[in]pRecordDer Datensatz mit den Informationen über direkt referenzierte Objekte.
[in]bShouldBeActivatedWenn true, werden ggf. aus der Datenbank geladene Objekt in m_ObjectsToActivate eingefügt. Das passiert in generateObject (...), wenn dort so angefordert.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Zu beachten
Für Glo-Entwickler: Ist in GloRecordAttributeFunctions.cpp implementiert, damit Erweiterungen von Datensatz-Attributen dort gesammelt vorgenommen werden können.

◆ isConnected()

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

Siehe Beschreibung von glo::Base::isConnected()const

◆ isInTransaction()

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

Siehe Beschreibung von glo::Base::isInTransaction()const

◆ isKnownClassID()

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

Siehe Beschreibung von glo::Base::isKnownClassID (...)const

◆ isOpen()

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

Siehe Beschreibung von 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

Siehe Beschreibung von glo::Base::isSuperClassFrom (...)const

◆ lockUnlockLot()

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

Erstellt einen Auftrag für den Kommunikator, um eine Menge von Objekten, in Abhängigkeit vom Parameter eLockOrUnlock, in der Datenbank zu sperren bzw. freizugeben.

Parameter
[in]eLockOrUnlockWenn OrderMsg::eLOCK, wird ein Sperrauftrag für die Objekte im rObjIdLot generiert.
Wenn OrderMsg::eUNLOCK, wird ein Freigabeauftrag für die Objekte im rObjIdLot generiert. Wenn OrderMsg::eIS_LOCKED, wird ein Anfrageauftrag, ob die Objekte im rObjIdLot gesperrt sind, generiert.
Wenn OrderMsg::eIS_ALLOWED, wird ein Anfrageauftrag, ob Aktionen welche im Parameter eLockMode stehen, mit den Objekten im rObjIdLot erlaubt sind, generiert.
Wenn OrderMsg::eGET_PROCESSING_POSSIBILITIES, wird ein Anfrageauftrag, welche Aktionen mit den Objekten im rObjIdLot erlaubt sind, generiert.
[in]rObjIdLotDie betroffenen Objekte.
[in]eLockModeDer Sperrmodus.
[in]eDeepModeDer Sperr- bzw. Freigabetiefenmodus.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

Siehe auch Beschreibungen von

◆ lockUnlockObject()

int glo::PrivateBase::lockUnlockObject ( OrderMsg::EnOrderType eLockOrUnlock,
const ObjID & rObjId,
EnLockMode eLockMode,
EnDeepMode eDeepMode )
protected

Erstellt einen Auftrag für den Kommunikator, um ein Objekt, in Abhängigkeit vom Parameter eLockOrUnlock in der Datenbank zu sperren bzw. freizugeben oder dessen Sperr- und Aktionsmodalitäten zu erfragen.

Parameter
[in]eLockOrUnlockWenn OrderMsg::eLOCK, wird ein Sperrauftrag für das Objekt mit übergebener Objekt-ID generiert.
Wenn OrderMsg::eUNLOCK, wird ein Freigabeauftrag für das Objekt mit übergebener Objekt-ID generiert.
Wenn OrderMsg::eIS_LOCKED, wird ein Anfrageauftrag, ob das Objekt mit übergebener Objekt-ID gesperrt ist, generiert.
Wenn OrderMsg::eIS_ALLOWED, wird ein Anfrageauftrag, ob Aktionen welche im Parameter eLockMode stehen, mit dem Objekt mit übergebener Objekt-ID erlaubt sind, generiert.
Wenn OrderMsg::eGET_PROCESSING_POSSIBILITIES, wird ein Anfrageauftrag, welche Aktionen mit dem Objekt mit übergebener Objekt-ID erlaubt sind, generiert.
[in]rObjIdDie Objekt-ID des betroffenen Objekts.
[in]eLockModeDer Sperrmodus.
[in]eDeepModeDer Sperr- bzw. Freigabetiefenmodus.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

Siehe auch Beschreibungen von

◆ lockUnlockObjIdList()

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

Erstellt einen Auftrag für den Kommunikator, um eine Menge von Objekten, in Abhängigkeit vom Parameter eLockOrUnlock, in der Datenbank zu sperren bzw. freizugeben.

Parameter
[in]eLockOrUnlockWenn OrderMsg::eLOCK, wird ein Sperrauftrag für die Objekte im rObjIdLot generiert.
Wenn OrderMsg::eUNLOCK, wird ein Freigabeauftrag für die Objekte im rObjIdLot generiert. Wenn OrderMsg::eIS_LOCKED, wird ein Anfrageauftrag, ob die Objekte im rObjIdLot gesperrt sind, generiert.
Wenn OrderMsg::eIS_ALLOWED, wird ein Anfrageauftrag, ob Aktionen welche im Parameter eLockMode stehen, mit den Objekten im rObjIdLot erlaubt sind, generiert.
Wenn OrderMsg::eGET_PROCESSING_POSSIBILITIES, wird ein Anfrageauftrag, welche Aktionen mit den Objekten im rObjIdLot erlaubt sind, generiert.
[in]pObjIDListDie Objekt-IDs der betroffenen Objekte.
[in]pLockSpecDer Sperrmodus mit dem Sperr- bzw. Freigabetiefenmodus.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

Siehe auch Beschreibungen von

, 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

Überträgt die Zeiger auf Klasseninformationen von einer Zeiger Map in eine Map mit std::shared_ptr auf Klasseninformationen.

Parameter
[in]pPtrClassInfoMapDie Quell-Map.
[in,out]rSmrtPtrClassInfoMapDie Ziel-Map.

◆ notifyAsWritten()

int glo::PrivateBase::notifyAsWritten ( const std::list< ObjID > & rObjIDList)
protected

Erstellt einen Auftrag für den Kommunikator, um Änderung der Objekte mit übergebenen Onjekt-IDs zu simulieren. Es wird an alle überwachende Instanzen eine Benachrichtigung versendet, als wenn die Objekte in der Datenbank geändert wurden.

Parameter
[in]rObjIDListDie Liste mit den Objekt-IDs.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Zu beachten
Diese Methode sendet ohne zu warten (Fire and forget)
Siehe auch
Beobachten und benachrichtigen.

◆ 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

◆ openBase()

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

Siehe Beschreibung von glo::Base::openBase(CallBack*)

◆ openBaseComfortably()

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

Siehe Beschreibung von glo::Base::openBaseComfortably(CallBack*)

◆ operator=()

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

Der Zuweisungsoperator steht nicht zur Verfügung.

◆ processIndexQueryOrFilter()

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

Hilfsmethode für PrivateBase::setIndexFilter (...) und PrivateBase::getIndexedObjIdsFromAllSet (...).

Parameter
[in]rIndexQueryBaseStructDie Abfragestruktur für die Index-Abfrage oder den Filter. Erlaubte Typen sind IndexQueryStruct, ComparisionIndexQueryStruct und RangeIndexQueryStruct.
[in]pRetValObjIDVectorDie Ergebbnissliste wenn != nullptr. Wenn nicht übergeben, wird ein Filter gesetzt.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ reconnect()

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

Siehe Beschreibung von glo::Base::reconnectCallBack*()

◆ refreshObject()

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

◆ reindexBase() [1/2]

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

Siehe Beschreibung von 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

Siehe Beschreibung von glo::Base::removeIndexFilter(const BaseAllSet&)

◆ repairBase() [1/2]

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

Siehe Beschreibung von 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

Siehe Beschreibung von 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

Erstellt einen Auftrag für den Kommunikator, um ein Objekt, in Abhängigkeit vom Parameter eStoreOrDelete in der Datenbank zu speichern bzw. zu löschen.

Parameter
[in]eStoreOrDeleteWenn OrderMsg::eSTORE wird das Objekt gespeichert bzw. gelöscht wenn OrderMsg::eDELETE.
[in]pObjectDas zu speichernde bzw. zu löschende Objekt.
[in]eDeepModeDer Speicher- bzw. Löschtiefenmodus.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

Siehe auch Beschreibungen von

◆ switchWatchClass()

int glo::PrivateBase::switchWatchClass ( OrderMsg::EnOrderType eSetWatchOrUnsetWatch,
unsigned long ulClassID,
TdWatchNotifyMode ulWatchMode,
CallBack * pCallBack )
protected

Erstellt einen Auftrag für den Kommunikator, um einen AllSet, definiert über die übergebene Klassen-ID, in Abhängigkeit vom Parameter eSetWatchOrUnsetWatch in der Datenbank zu beobachten bzw. die Beobachtung zu beenden.

Parameter
[in]eSetWatchOrUnsetWatchWenn OrderMsg::eWATCH_CLASS, wird ein Beobachtungsauftrag für die Objekte mit übergebener Klassen-ID generiert.
Wenn OrderMsg::eUNWATCH_CLASS, wird ein Beobachtungsbeendeauftrag für die Objekte mit übergebener Klassen-ID generiert.
[in]ulClassIDDie Klassen-ID der betroffenen Objekte.
[in]ulWatchModeDer Überwachungsmodus.
Erlaubte Überwachungsmodi:
[in]pCallBackDas zu benachrichtigende CallBack-Objekt.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Grundsätzlich darf pCallBack nicht zerstört werden, bevor die Überwachung aufgehoben wurde.

Siehe auch Beschreibungen von

◆ switchWatchClient()

int glo::PrivateBase::switchWatchClient ( OrderMsg::EnOrderType eSetWatchOrUnsetWatch,
TdWatchNotifyMode ulWatchMode,
CallBack * pCallBack ) const
protected

Erstellt einen Auftrag für den Kommunikator, in Abhängigkeit vom Parameter eSetWatchOrUnsetWatch, um das An- bzw. Abmelden an den GloServer oder das Öffnen- und Schliessen einer Datenbank von Clients, zu überwachen bzw. die Überwachnung zu beenden.

Parameter
[in]eSetWatchOrUnsetWatchWenn OrderMsg::eWATCH_CLIENT, wird ein Beobachtungsauftrag für das An- bzw. Abmelden an den GloServer oder das Öffnen- und Schliessen einer Datenbank eines Clients generiert.
Wenn OrderMsg::eUNWATCH_CLIENT, wird ein Beobachtungsbeendeauftrag für das An- bzw. Abmelden an den GloServer oder das Öffnen- und Schliessen einer Datenbank eines Clients generiert.
[in]ulWatchModeDer Beobachtungsmodus.
Erlaubte Überwachungsmodi:
[in]pCallBackDas CallBack-Objekt, welches über seine Methode. CallBack::notify(NotifyNote&) benachrichtigt wird.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Grundsätzlich darf pCallBack nicht zerstört werden, bevor die Überwachung aufgehoben wurde.

Wird aufgerufen von:

◆ switchWatchIndex()

int glo::PrivateBase::switchWatchIndex ( OrderMsg::EnOrderType eSetWatchOrUnsetWatch,
TdWatchNotifyMode ulWatchMode,
CallBack * pCallBack ) const
protected

Erstellt einen Auftrag für den Kommunikator, in Abhängigkeit vom Parameter eSetWatchOrUnsetWatch, das Lesen bzw. Schreiben oder das Reindizieren der Indizes einer Datenbank zu beobachten bzw. die Beobachtung zu beenden.

Parameter
[in]eSetWatchOrUnsetWatchWenn OrderMsg::eWATCH_INDEX_READWRITE, wird ein Beobachtungsauftrag für das Lesen der Indizes einer Datenbank generiert.
Wenn OrderMsg::eUNWATCH_INDEX_READWRITE, wird ein Beobachtungsbeendeauftrag für das Schreiben der Indizes einer Datenbank generiert.
[in]ulWatchModeDer Beobachtungsmodus. Erlaubte Überwachungsmodi:
[in]pCallBackDas zu benachrichtigende CallBack-Objekt.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Grundsätzlich darf pCallBack nicht zerstört werden, bevor die Überwachung aufgehoben wurde.

Wird aufgerufen von:

◆ switchWatchLot()

int glo::PrivateBase::switchWatchLot ( OrderMsg::EnOrderType eSetWatchOrUnsetWatch,
const BaseLot & rObjIdLot,
TdWatchNotifyMode ulWatchMode,
EnDeepMode eDeepMode,
CallBack * pCallBack )
protected

Erstellt einen Auftrag für den Kommunikator, um eine Menge von Objekten, in Abhängigkeit vom Parameter eSetWatchOrUnsetWatch, in der Datenbank zu beobachten bzw. die Beobachtung zu beenden.

Parameter
[in]eSetWatchOrUnsetWatchWenn OrderMsg::eWATCH_OBJECT, wird ein Beobachtungsauftrag für die Objekte im rObjIdLot generiert.
Wenn OrderMsg::eUNWATCH_OBJECT, wird ein Beobachtungsbeendeauftrag für die Objekte im rObjIdLot generiert.
[in]rObjIdLotDie betroffenen Objekte.
[in]ulWatchModeDer Überwachungsmodus.
Erlaubte Überwachungsmodi:
[in]eDeepModeDer Überwachungstiefenmodus.
[in]pCallBackDas CallBack-Objekt, welches über seine Methode. CallBack::notify(NotifyNote&) benachrichtigt wird.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Achtung
Grundsätzlich darf pCallBack nicht zerstört werden, bevor die Überwachung aufgehoben wurde.

Siehe auch Beschreibungen von

◆ switchWatchObject()

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

Erstellt einen Auftrag für den Kommunikator, um ein Objekt in Abhängigkeit vom Parameter eSetWatchOrUnsetWatch in der Datenbank zu beobachten bzw. die Beobachtung zu beenden.

Parameter
[in]eSetWatchOrUnsetWatchWenn OrderMsg::eWATCH_OBJECT, wird ein Beobachtungsauftrag für das Objekt mit übergebener Objekt-ID generiert.
Wenn OrderMsg::eUNWATCH_OBJECT, wird ein Beobachtungsbeendeauftrag für das Objekt mit übergebener Objekt-ID generiert.
[in]rObjIdDie Objekt-ID des betroffenen Objekts.
[in]ulWatchModeDer Überwachungsmodus.
Erlaubte Überwachungsmodi:
[in]eDeepModeDer Überwachungstiefenmodus.
[in]pCallBackDas CallBack-Objekt, welches über seine Methode. CallBack::notify(NotifyNote&) benachrichtigt wird.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Achtung
Grundsätzlich darf pCallBack nicht zerstört werden, bevor die Überwachung aufgehoben wurde.

Siehe auch Beschreibungen von

◆ switchWatchObjIdList()

int glo::PrivateBase::switchWatchObjIdList ( OrderMsg::EnOrderType eSetWatchOrUnsetWatch,
std::list< ObjID > * pObjIDList,
WatchSpecification * pWatchSpec )
protected

Erstellt einen Auftrag für den Kommunikator, um eine Menge von Objekten in Abhängigkeit vom Parameter eSetWatchOrUnsetWatch in der Datenbank zu beobachten bzw. die Beobachtung zu beenden.

Parameter
[in]eSetWatchOrUnsetWatchWenn OrderMsg::eWATCH_OBJECT, wird ein Beobachtungsauftrag für die Objekte mit der Objekt-ID in pObjIDList generiert.
Wenn OrderMsg::eUNWATCH_OBJECT, wird ein Beobachtungsbeendeauftrag für die Objekte mit der Objekt-ID in pObjIDList generiert.
[in]pObjIDListDie Objekt-IDs der betroffenen Objekte.
[in]pWatchSpecDer Beobachtungsmodus, der Beobachtungstiefenmodus und das zu benachrichtigende CallBack-Objekt.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

Wird aufgerufen von:

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

Freunde und bezugnehmende Symbol-Dokumentation

◆ Base

friend class Base
friend

◆ EmbeddedRecordAttribute

friend class EmbeddedRecordAttribute
friend

◆ ObjectMaker

friend class ObjectMaker
friend

Dokumentation der Datenelemente

◆ m_bOpen

bool glo::PrivateBase::m_bOpen
private

Wird gesetzt, wenn Datenbank geöffnet (true) bzw. geschlossen (false) wird.

◆ m_iTimeOutSec

int glo::PrivateBase::m_iTimeOutSec
private

Allgemeine Angabe über die Wartezeit in Sekunden (z.B. Antwort vom Server etc.).

◆ m_iTransactionLevel

int glo::PrivateBase::m_iTransactionLevel
private

Wird gesetzt, wenn eine Transaktion gestartet bzw. bestätigt oder abgebrochen wird.

◆ m_ObjectsToActivate

std::vector< std::shared_ptr< Persistent > > glo::PrivateBase::m_ObjectsToActivate
private

Wenn Objekte neu aus der Datenbank gelesen werden, soll bei denen die Methode glo::Persistent::activate() aufgerufen werden.

Da dieses von glo::PrivateBase nicht erledigt werden kann (der Aufruf in der glo::Base ist durch eine eut::CriticalSection abgesichert, dadurch keine weiteren Aufrufe in glo::PrivateBase aus glo::Persistent::activate() heraus!), werden die zu benachrichtigenden Objekte in diesem Container zwischengelagert.

Bei diesen wird dann von glo::PrivateBase nach der eut::CriticalSection jeweils die Methode glo::Persistent::activate() aufgerufen und aus dem Container entfernt.

◆ m_pBaseApi

Base* glo::PrivateBase::m_pBaseApi
private

Rückwärtszeiger auf die Base.

◆ m_pLocalCommunicator

Communicator* glo::PrivateBase::m_pLocalCommunicator
private

Wenn die Datenbank im Einzelplatzbetrieb geöffnet wird, ist hier ein Objekt vom Typ LocalThread, ansonsten vom Typ ClientThread.

◆ m_pObjCreator

ObjCreator* glo::PrivateBase::m_pObjCreator
private

Um aus Datensätze in der Datenbank Objekte instanziieren zu können, muss ein passender ObjCreator vorhanden sein.

◆ m_pObjectMaker

ObjectMaker* glo::PrivateBase::m_pObjectMaker
private

Um Objekte in die Datenbank zu bekommen und umgekehrt, muss ein ObjectMaker vorhanden sein.

◆ m_pPersGenericObjectSpy

GenPersObjectSpy* glo::PrivateBase::m_pPersGenericObjectSpy
private

Referenziert die generischen persistenten Objekte im Speicher. Im GenPersObjectSpy kann z.B. nachgeschaut werden, ob ein generisches persistenten Objekt schon aus der Datenbank geholt wurde.

◆ m_pPersObjectSpy

PersObjectSpy* glo::PrivateBase::m_pPersObjectSpy
private

Referenziert die persistenten Objekte im Speicher. Im PersObjectSpy kann z.B. nachgeschaut werden, ob ein persistenten Objekt schon aus der Datenbank geholt wurde.

◆ m_sBaseName

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

Ein Objekt dieser Klasse ist für die Datenbank mit dieser Bezeichnung zuständig.

◆ m_sKnownSchemes

std::string glo::PrivateBase::m_sKnownSchemes
private

Die Bezeichnungen der bekannten Datenbanken (z.B. "Name1|Name2") kann durch entsprechenden Konstruktor gesetzt werden. Wenn benötigt und nicht gesetzt, wird eine DB.ini gesucht und der Wert dort versucht zu ermitteln.

◆ m_sSchemaPath

std::string glo::PrivateBase::m_sSchemaPath
private

Der Verzeichnispfad zur Datenbank (z.B. "C:/Pfad/") ist nur für den Einzelplatzbetrieb obligatorisch und kann durch entsprechende Konstruktoren gesetzt werden. Wenn benötigt und nicht gesetzt, wird eine DB.ini erwartet und der Wert dort versucht zu ermitteln.

◆ m_sServerName

std::string glo::PrivateBase::m_sServerName
private

Die Serverbezeichnung. Voreinstellung ist "LOCAL", dann Einzelplatzbetrieb. Beim Serverbetrieb, kann hier z.B. "LOCALHOST" (Server läuft im selben System) oder die IP-Adresse stehen.

Achtung
Dieser Wert kann nach dem Instanziieren nicht mehr geändert werden.

◆ m_strClientName

std::string glo::PrivateBase::m_strClientName
private

Der Clientname kann gesetzt werden. Er wird u.a. beim öffnen der Datenbank weitergegeben. Im Serverbetrieb können Aktionen damit differenzierter dargestellt werden.

◆ m_strDbIniFileName

std::string glo::PrivateBase::m_strDbIniFileName
private

In der Regel werden die Einstellungen aus der DB.ini eingelesen. Siehe dazu GlobalObjects Initialisierungsdatei GlobalObjects "Initialisierungsdatei" im Handbuch.
Der Dateiname kann, z.B. mit "MyDB.ini" überschrieben werden und wird hier abgelegt.

Siehe auch
PrivateBase::setDbIniName(const std::string &), PrivateBase::getDbIniName() const

◆ m_uiPort

unsigned int glo::PrivateBase::m_uiPort
private

Der TCP-Port kann durch entsprechenden Konstruktor gesetzt werden. Wenn nicht gesetzt und benötigt, wird eine DB.ini erwartet und es wird versucht, des Wert aus der DB.ini zu ermitteln.

◆ m_ulBaseID

unsigned long glo::PrivateBase::m_ulBaseID
private

Wird gesetzt, wenn Datenbank geöffnet wird.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: