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

Diese Klasse ist die Schnittstelle zu den persistenten Objekten. Hier können "Objekte" angemeldet, gespeichert, angefordert, gelöscht, gesperrt, freigegeben etc. werden. Mehr ...

#include <GloBase.h>

Öffentliche Methoden

 Base ()
 
 Base (const std::string &rstrClientName)
 
 Base (const std::string &rstrClientName, const std::string &rstrSchemaPath, const std::string &rstrBaseName)
 
 Base (const std::string &rstrClientName, ObjCreator &rObjCreator)
 
 Base (const std::string &rstrServerName, const std::string &rstrClientName)
 
 Base (const std::string &rstrServerName, const std::string &rstrClientName, int iTimeOutSec, unsigned int uiPort, const std::string &rstrSchemaPath, const std::string &rstrKnownSchemes)
 
 Base (const std::string &rstrServerName, const std::string &rstrClientName, ObjCreator &rObjCreator)
 
virtual ~Base ()
 
int abortTransaction () const
 
int assignObject (BasePersistent *pObject) const
 
int beginTransaction () const
 
int close (CallBack *pProgressNotificationCallBack=NULL_PTR)
 
int closeAllSet (BaseAllSet *pAllSet) const
 
int closeBase (CallBack *pProgressNotificationCallBack=NULL_PTR)
 
int commitTransaction () const
 
int compressBase (CallBack *pProgressNotificationCallBack=NULL_PTR)
 
int compressBase (const std::string &rstrBaseName, CallBack *pProgressNotificationCallBack=NULL_PTR)
 
int connect (CallBack *pServerCrashNotificationCallBack=NULL_PTR)
 
int deleteObject (BasePersistent *pObject, EnDeepMode eDeepMode) const
 
int disconnect ()
 
int getAllBases (std::vector< std::string > *&prRetValVector) const
 
int getAllClassInfosFromBase (std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *&prAllClassInfoMap, const std::string &rstrBaseName="") const
 
int getAllClassInfosFromBase (std::map< unsigned long, std::shared_ptr< ClassInfo >, std::less< unsigned long > > &rAllClassInfoMap, const std::string &rstrBaseName="") const
 
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="") const
 
int getAllSubClassInfos (std::map< unsigned long, std::shared_ptr< ClassInfo >, std::less< unsigned long > > &rSubClassInfoMap, unsigned long ulClassID, const std::string &rstrBaseName="") const
 
int getAllSuperClassInfos (std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *&prSuperClassInfoMap, unsigned long ulClassID, const std::string &rstrBaseName="") const
 
int getAllSuperClassInfos (std::map< unsigned long, std::shared_ptr< ClassInfo >, std::less< unsigned long > > &rBaseClassInfoMap, unsigned long ulClassID, const std::string &rstrBaseName="") const
 
int getAnObject (BasePersistent *&prObject, const ObjID &rObjID, bool bGeneric=false) const
 
int getAnObject (std::shared_ptr< BasePersistent > &rObject, const ObjID &rObjID, bool bGeneric=false) const
 
int getBaseCount (std::vector< std::string >::size_type &rBaseCount) 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 getClassInfo (std::shared_ptr< ClassInfo > &rRetVal, const std::string &rstrClassName, const std::string &rstrBaseName="") const
 
int getClassInfo (std::shared_ptr< ClassInfo > &rRetVal, unsigned long ulClassID, const std::string &rstrBaseName="") const
 
int getClassInfoCount (std::map< unsigned long, ClassInfo *, std::less< unsigned long > >::size_type &rClassInfoCount, const std::string &rstrBaseName="") const
 
std::string getClientName () const
 
unsigned int getCommunicatorID () const
 
std::string getDbIniName () const
 
int getDefaultLimits (std::vector< LimitRecord > *&prRetValVector) const
 
GenPersObjectSpygetGenPersObjectSpy ()
 
int getIndexedObjIdsFromAllSet (std::list< ObjID > &rObjIDList, const BaseAllSet &rAllSet, const std::string &rsIndexName, unsigned long ulIndexClassID, const std::string &rsIndexSearchValue, EnComparisionOp eComparisionOp) const
 
int getIndexedObjIdsFromAllSet (std::list< ObjID > &rObjIDList, const BaseAllSet &rAllSet, const std::string &rsIndexName, unsigned long ulIndexClassID, const std::string &rsIndexSearchValue, EnQueryType eQuerryType) const
 
int getIndexedObjIdsFromAllSet (std::list< ObjID > &rObjIDList, const BaseAllSet &rAllSet, const std::string &rsIndexName, unsigned long ulIndexClassID, const std::string &rsRangeStartIndexSearchValue, const std::string &rsRangeEndIndexSearchValue) const
 
int getIndexedObjIdsFromAllSet (std::list< ObjID > &rObjIDList, const BaseAllSet &rAllSet, const std::string &rsIndexSearchValue, EnComparisionOp eComparisionOp) const
 
int getIndexedObjIdsFromAllSet (std::list< ObjID > &rObjIDList, const BaseAllSet &rAllSet, const std::string &rsIndexSearchValue, EnQueryType eQuerryType) const
 
int getIndexedObjIdsFromAllSet (std::list< ObjID > &rObjIDList, const BaseAllSet &rAllSet, const std::string &rsRangeStartIndexSearchValue, const std::string &rsRangeEndIndexSearchValue) const
 
int getKnownSchemes (std::vector< std::string > &rRetVal)
 
int getLimits (LimitRecord *&prLimitRecord, const ClassInfoAttribute::Type &rClassInfoAttributeType) const
 
int getLimits (std::shared_ptr< LimitRecord > &rLimitRecord, const ClassInfoAttribute::Type &rClassInfoAttributeType) const
 
int getObjectFromAllSet (ObjID &rObjID, BasePersistent *&prObject, const BaseAllSet &rAllSet, EnSeekMode eMode, bool bGeneric=false) const
 
ObjectMakergetObjectMaker ()
 
int getObjIdFromAllSet (ObjID &rObjID, const BaseAllSet &rAllSet, EnSeekMode eMode) const
 
PersObjectSpygetPersObjectSpy ()
 
int getPort (unsigned int &ruiPort)
 
int getProcessingPossibilities (const ObjID &rObjId, LockPossibleSpecification &rLockPossibleSpecification, EnDeepMode eDeepMode) const
 
int getRecord (Record *&prRecord, const ObjID &rObjID, unsigned long ulClassID) const
 
int getRecord (std::shared_ptr< Record > &rRecord, const ObjID &rObjID, unsigned long ulClassID) const
 
int getRootClassInfo (ClassInfo *&prRootClassInfo, const std::string &rstrBaseName="") const
 
int getRootClassInfo (std::shared_ptr< ClassInfo > &rRootClassInfo, const std::string &rstrBaseName="") const
 
int getSchemaNameWithPath (std::string &rstrRetVal)
 
int getSchemaPath (std::string &rstrRetVal)
 
std::string getServerName () const
 
int getSizeFromAllSet (std::size_t &rnSize, const BaseAllSet &rAllSet) const
 
int getSubClassInfos (std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *&prSubClassInfoMap, unsigned long ulClassID, const std::string &rstrBaseName="") const
 
int getSubClassInfos (std::map< unsigned long, std::shared_ptr< ClassInfo >, std::less< unsigned long > > &rSubClassInfoMap, unsigned long ulClassID, const std::string &rstrBaseName="") const
 
int getSuperClassInfos (std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *&prSuperClassInfoMap, unsigned long ulClassID, const std::string &rstrBaseName="") const
 
int getSuperClassInfos (std::map< unsigned long, std::shared_ptr< ClassInfo >, std::less< unsigned long > > &rBaseClassInfoMap, unsigned long ulClassID, const std::string &rstrBaseName="") const
 
int getTimeOutSec (int &riTimeOutSec)
 
int getTransactionLevel () const
 
int indexAvailable (const std::string &rsIndexName, unsigned long ulClassID, const std::string &rstrBaseName="") const
 
bool isConnected () const
 
bool isInTransaction () const
 
int isKnownClassID (bool &rbRetVal, unsigned long ulClassID, const std::string &rstrBaseName="") const
 
int isLockedObject (const ObjID &rObjId, EnLockMode eLockMode, EnDeepMode eDeepMode) const
 
bool isOpen () const
 
int isPossible (const ObjID &rObjId, bool bRead, bool bWrite, bool bDelete, EnDeepMode eDeepMode) const
 
int isStoredObject (bool &rbRetVal, BasePersistent *pObject) const
 
int isSuperClassFrom (bool &rbRetVal, unsigned long ulClassIDSuperClass, unsigned long ulClassIDSubClass, const std::string &rstrBaseName="") const
 
int lockLot (const BaseLot &rObjIdLot, EnLockMode eLockMode, EnDeepMode eDeepMode) const
 
int lockObject (const ObjID &rObjId, EnLockMode eLockMode, EnDeepMode eDeepMode) const
 
int lockObjIdList (std::list< ObjID > *pObjIDList, EnLockMode eLockMode, EnDeepMode eDeepMode) const
 
int notifyAsWritten (const std::list< ObjID > &rObjIDList) const
 
int objIDInAllSet (const ObjID &rObjID, const BaseAllSet &rAllSet) const
 
int open (const std::string &rstrBaseName, CallBack *pProgressNotificationCallBack=NULL_PTR)
 
int openAllSet (BaseAllSet *pAllSet) const
 
int openBase (CallBack *pProgressNotificationCallBack=NULL_PTR, CallBack *pServerCrashNotificationCallBack=NULL_PTR)
 
int openBaseComfortably (CallBack *pProgressNotificationCallBack=NULL_PTR, CallBack *pServerCrashNotificationCallBack=NULL_PTR)
 
int reconnect (CallBack *pServerCrashNotificationCallBack=NULL_PTR)
 
int refreshObject (BasePersistent *pObject) const
 
int reindexBase (CallBack *pProgressNotificationCallBack=NULL_PTR)
 
int reindexBase (const std::string &rstrBaseName, CallBack *pProgressNotificationCallBack=NULL_PTR)
 
int removeIndexFilter (const BaseAllSet &rAllSet) const
 
int repairBase (CallBack *pProgressNotificationCallBack=NULL_PTR)
 
int repairBase (const std::string &rstrBaseName, CallBack *pProgressNotificationCallBack=NULL_PTR)
 
int setBaseName (const std::string &rstrBaseName)
 
int setClientName (const std::string &rstrClientName)
 
int setCurrentObjectInAllSet (const ObjID &rObjID, const BaseAllSet &rAllSet) const
 
int setDbIniName (const std::string &rstrDbIniName)
 
int setIndexFilter (const BaseAllSet &rAllSet, const std::string &rsIndexFilter) const
 
int setIndexFilter (const BaseAllSet &rAllSet, const std::string &rsIndexFilter, EnComparisionOp eComparisionOp) const
 
int setIndexFilter (const BaseAllSet &rAllSet, const std::string &rsRangeStartIndexFilter, const std::string &rsRangeEndIndexFilter) const
 
int setKnownSchemes (const std::string &rstrKnownSchemes)
 
int setPositionInAllSet (std::size_t nPosition, const BaseAllSet &rAllSet) const
 
int setSchemaPath (const std::string &rstrSchemaPath)
 
int setWatchClass (unsigned long ulClassID, TdWatchNotifyMode ulWatchMode, CallBack *pCallBack) const
 
int setWatchClient (TdWatchNotifyMode ulWatchMode, CallBack *pCallBack) const
 
int setWatchIndex (TdWatchNotifyMode ulWatchMode, CallBack *pCallBack) const
 
int setWatchLot (const BaseLot &rObjIdLot, TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack) const
 
int setWatchObject (const ObjID &rObjId, TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack) const
 
int setWatchServer (CallBack *pCallBack) const
 
int storeObject (BasePersistent *pObject, EnDeepMode eDeepMode) const
 
int unlockLot (const BaseLot &rObjIdLot, EnLockMode eLockMode, EnDeepMode eDeepMode) const
 
int unlockObject (const ObjID &rObjId, EnLockMode eLockMode, EnDeepMode eDeepMode) const
 
int unlockObjIdList (std::list< ObjID > *pObjIDList, EnLockMode eLockMode, EnDeepMode eDeepMode) const
 
int unsetWatchClass (unsigned long ulClassID, TdWatchNotifyMode ulWatchMode, CallBack *pCallBack) const
 
int unsetWatchClient (TdWatchNotifyMode ulWatchMode, CallBack *pCallBack) const
 
int unsetWatchIndex (TdWatchNotifyMode ulWatchMode, CallBack *pCallBack) const
 
int unsetWatchLot (const BaseLot &rObjIdLot, TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack) const
 
int unsetWatchObject (const ObjID &rObjId, TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack) const
 

Geschützte Methoden

std::shared_ptr< PrivateBasegetPrivateBase () const
 

Private Methoden

 Base (const Base &)
 
Baseoperator= (const Base &)
 

Private Attribute

eut::CriticalSection m_LocalCriticalSection
 
std::shared_ptr< PrivateBasem_spPrivateBase
 

Freundbeziehungen

class EmbeddedRecordAttribute
 
class ObjectMaker
 
class Persistent
 

Ausführliche Beschreibung

Diese Klasse ist die Schnittstelle zu den persistenten Objekten. Hier können "Objekte" angemeldet, gespeichert, angefordert, gelöscht, gesperrt, freigegeben etc. werden.

Transaktionen können hier gestartet und beendet werden.

Locks können hier gestartet und beendet werden.

Überwachnungen und Benachrichtigungen werden hier angefordert und beendet.

In der Regel werden die Aufrufe von Methoden der Klasse BasePersistent (z.B. BasePersistent::store (...), BasePersistent::refresh(), BasePersistent::deleteInBase (...), BasePersistent::lock (...) und BasePersistent::unlock (...) etc.) an Base weitergeleitet.

Objekte welche angemeldet bzw. angefordert werden, bekommen eine Referenz auf ihre Datenbank.

Wenn mit Objekten, abgeleitet vom Typ Persistent, gearbeitet werden soll (was die Regel ist), wird ein ObjCreator benötigt, der der Base übergeben wird.

Es kann mit der Base im "LOCAL"-Mode gearbeitet werden, was bedeutet, dass eine Applikation direkt mit der Datenbank arbeiten kann. Es darf dann nicht von anderer Seite auf die Datentabellen zugegriffen werden. Es wird eine DB.ini im Applikationsverzeichnis erwartet.

Es ist auch möglich mit einem GloServer zu arbeiten. Dann können mehrere Applikationen gleichzeitig über den GloServer auf die Objekte zugreifen.

Beispiel:

int t_iErr = 0;
FirstGloBaseObjCreator t_ObjCreator; // FirstGloBaseObjCreator abgeleitet von ObjCreator
// "LOCAL" -> Es wird exklusiv auf die Datenbank zugegriffen
// "WindowsWatcher" -> Die Client-Bezeichnung
// t_ObjCreator -> FirstGloBaseObjCreator wird übergeben, damit Objekte der
// persistenten Klassen instantiiert werden können.
glo::Base t_Base( "LOCAL", "WindowsWatcher", t_ObjCreator );
t_iErr = t_Base.openBase();
if ( ! t_iErr )
{
... mach was mit der Datenbank ...
t_Base.closeBase();
}
Diese Klasse ist die Schnittstelle zu den persistenten Objekten. Hier können "Objekte" angemeldet,...
Definition GloBase.h:250
Autor
Helmut Jakoby

Beschreibung der Konstruktoren und Destruktoren

◆ Base() [1/8]

glo::Base::Base ( )

Der Standard-Konstruktor instanziiert ein Objekt dieser Klasse im "LOCAL"-Mode, also im Einzelplatzbetrieb auf die Datenbank.

◆ Base() [2/8]

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

Konstruktor mit Parameterübergabe instanziiert ein Objekt dieser Klasse im "LOCAL"-Mode, also im Einzelplatzbetrieb auf die Datenbank.

Parameter
[in]rstrClientNameDer Clientname kann übergeben werden.

◆ Base() [3/8]

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

Konstruktor mit Parameterübergabe instanziiert ein Objekt dieser Klasse im "LOCAL"-Mode, also im Einzelplatzbetrieb auf die Datenbank.

Um eine Datenbank ohne DB.ini öffnen zu können, wird der Pfad zu einer Datenbank und die Bezeichnung der Datenbank gebraucht, welches hier übergeben wird.

Parameter
[in]rstrClientNameDer Clientname kann übergeben werden.
[in]rstrSchemaPathDer Verzeichnispfad zur Datenbank ist obligatorisch (z.B. "C:/Pfad/").
[in]rstrBaseNameDie Bezeichnung des Schemas bzw. der Datenbank ist obligatorisch.

◆ Base() [4/8]

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

Konstruktor mit Parameterübergabe instanziiert ein Objekt dieser Klasse im "LOCAL"-Mode, also im Einzelplatzbetrieb auf die Datenbank.

Um eine Datenbank ohne DB.ini öffnen zu können, kann der Pfad zu einer Datenbank nachträglich übergeben werden (siehe auch Base::setSchemaPath (...) ).

Parameter
[in]rstrClientNameDer Clientname kann übergeben werden.
[in]rObjCreatorReferenz auf einen gültigen ObjCreator (der kennt die persistenten Klassen und die Datenbank).

◆ Base() [5/8]

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

Konstruktor mit Parameterübergabe instanziiert ein Objekt dieser Klasse im übergebenen Modus (Parameter rstrServerName).

Das wäre ausreichend, um sich mit einer Datenbank zu verbinden (siehe Base::connect(CallBack*) )

Parameter
[in]rstrServerNameDer Servername bzw. die IP-Adresse ist obligatorisch. Wenn "LOCAL" als Server übergeben, wird im Einzelplatzbetrieb gearbeitet.
[in]rstrClientNameDer Clientname kann übergeben werden.

◆ Base() [6/8]

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

Dieser Konstruktor mit Parameterübergabe instanziiert ein Objekt dieser Klasse im übergebenen Modus (Parameter rstrServerName) um eine Datenbank ohne eine DB.ini öffnen zu können.

Parameter
[in]rstrServerNameDer Servername bzw. die IP-Adresse ist obligatorisch. Wenn "LOCAL" als Server übergeben, wird im Einzelplatzbetrieb gearbeitet. Es wird der uiPort nicht verwendet.
Wenn nicht als Server "LOCAL" übergeben, also ein Server angesprochen werden soll, werden rstrSchemaPath und rstrKnownSchemes nicht ausgewertet, weil der Server durch auswerten 'seiner DB.ini' weiß, welche Datenbanken es gibt und wo diese liegen.
[in]rstrClientNameDer Clientname kann übergeben werden.
[in]iTimeOutSecDie Wartezeit in Sekunden ist obligatorisch.
[in]uiPortDer Port (nur für den Serverbetrieb obligatorisch!).
[in]rstrSchemaPathDer Verzeichnispfad zur Datenbank (z.B. "C:/Pfad/") ist nur für den Einzelplatzbetrieb obligatorisch.
[in]rstrKnownSchemesDie Bezeichnungen der bekannten Datenbank (z.B. "Name1|Name2") sind nur für den Einzelplatzbetrieb obligatorisch.

◆ Base() [7/8]

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

Konstruktor mit Parameterübergabe instanziiert ein Objekt dieser Klasse im übergebenen Modus (Parameter rstrServerName) um eine Datenbank mit DB.ini öffnen zu können.
Dieser Konstruktor wird in der Regel verwendet, wenn mit typisierten persistenten Objekten einer Datenbank gearbeitet werden soll.

Parameter
[in]rstrServerNameDer Servername bzw. die IP-Adresse ist obligatorisch. Wenn "LOCAL" als Server übergeben, wird im Einzelplatzbetrieb gearbeitet. Es muss für die Applikation (in ihrem Ausführungsverzeichnis) eine DB.ini vorhanden sein, damit diese u.a. ermitteln kann, welche Datenbanken es gibt und wo diese liegen.
Wenn nicht als Server "LOCAL" übergeben, also ein Server angesprochen werden soll, muss für den Server (in seinem Zugriff) eine DB.ini vorhanden sein, damit dieser u.a. ermitteln kann, welche Datenbanken es gibt und wo diese liegen.
[in]rstrClientNameDer Clientname kann übergeben werden.
[in]rObjCreatorReferenz auf einen gültigen ObjCreator (der kennt die persistenten Klassen und die Datenbank).

◆ ~Base()

virtual glo::Base::~Base ( )
virtual

Destruktor, es wird aufgeräumt. Wenn die Datenbank geöffnet ist, wird diese zuerst geschlossen um die Indizes zu schreiben.

◆ Base() [8/8]

glo::Base::Base ( const Base & )
private

Der Copy-Konstruktor steht nicht zur Verfügung.

Dokumentation der Elementfunktionen

◆ abortTransaction()

int glo::Base::abortTransaction ( ) const

Es wird eine Transaktion abgebrochen. Es werden die Datenbankaktionen des aktuellen Transaktions-Stacks verworfen.

Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Siehe auch
Beschreibung der GlobalObjects Transaktion.
Base::beginTransaction() and Base::commitTransaction()

◆ assignObject()

int glo::Base::assignObject ( BasePersistent * pObject) const

Meldet übergebenes Objekt bei der geöffneten Datenbank an. Das Objekt bekommt eine Objekt-ID.

Parameter
[in,out]pObjectZeiger auf anzumeldendes persistentes Objekt.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ beginTransaction()

int glo::Base::beginTransaction ( ) const

Es wird eine Transaktion begonnen. Datenbankaktionen werden nicht unmittelbar verarbeitet, sondern landen auf einem Transaktions-Stack.

Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Siehe auch
Beschreibung der GlobalObjects Transaktion.
Base::commitTransaction() and Base::abortTransaction()

◆ close()

int glo::Base::close ( CallBack * pProgressNotificationCallBack = NULL_PTR)

Es wird die geöffnete Datenbank geschlossen.

Parameter
[in]pProgressNotificationCallBackWenn ein gültiger Zeiger auf ein Objekt übergeben wird, wird das Fortschreiten des Schreibens der Indizes über eine Benachrichtigung an das CallBack- Objekt gesendet (sieh auch CallBack::notify(NotifyNote&) ).
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Zu beachten
Die Datenbank sollte mit der Methode Base::open(const std::string&, CallBack*) geöffnet worden sein.

◆ closeAllSet()

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

Schliesst einen AllSet in der geöffneten Datenbank.

Parameter
[in,out]pAllSetDer AllSet.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ closeBase()

int glo::Base::closeBase ( CallBack * pProgressNotificationCallBack = NULL_PTR)

Es wird die geöffnete Datenbank geschlossen.
Es wird impliziet die Verbindung zur Datenbank aufgehoben.

Parameter
[in]pProgressNotificationCallBackWenn ein gültiger Zeiger auf ein Objekt übergeben wird, wird das Fortschreiten des Schreibens der Indizes über eine Benachrichtigung an das CallBack- Objekt gesendet (sieh auch CallBack::notify(NotifyNote&) ).
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Zu beachten
Die Datenbank sollte mittels Methode Base::openBase(CallBack*) oder Base::openBaseComfortably(CallBack*) geöffnet worden sein.

◆ commitTransaction()

int glo::Base::commitTransaction ( ) const

Es wird eine Transaktion bestätigt. Es werden die Datenbankaktionen des aktuellen Transaktions-Stacks verarbeitet.

Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Siehe auch
Beschreibung der GlobalObjects Transaktion.
Base::beginTransaction() and Base::abortTransaction()

◆ compressBase() [1/2]

int glo::Base::compressBase ( CallBack * pProgressNotificationCallBack = NULL_PTR)

Es wird die Datenbank mit der Bezeichnung, welche vorher in einem Konstruktor bzw. über Base::setBaseName (...) übergeben wurde, komprimiert. Das bedeutet, dass alle gelöschten Datensätze aus den Tabellen entfernt werden.

Parameter
[in]pProgressNotificationCallBackWenn ein gültiger Zeiger auf ein Objekt übergeben, wird das Fortschreiten des Komprimierens über eine Benachrichtigung an das CallBack-Objekt gesendet (sieh auch CallBack::notify(NotifyNote&) ).
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Zu beachten
Wenn ohne Fehler beendet, ist der Index neu erstellt worden.
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.

◆ compressBase() [2/2]

int glo::Base::compressBase ( const std::string & rstrBaseName,
CallBack * pProgressNotificationCallBack = NULL_PTR )

Es wird die Datenbank mit übergebener Bezeichnung komprimiert. Das bedeutet, dass alle gelöschten Datensätze aus den Tabellen entfernt werden.

Parameter
[in]rstrBaseNameDie Bezeichnung der Datenbank, welche komprimiert werden sollen.
[in]pProgressNotificationCallBackWenn ein gültiger Zeiger auf ein Objekt übergeben, wird das Fortschreiten des Komprimierens über eine Benachrichtigung an das CallBack-Objekt gesendet (sieh auch CallBack::notify(NotifyNote&) ).
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Zu beachten
Wenn ohne Fehler beendet, ist auch der Index neu erstellt worden.
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.

◆ connect()

int glo::Base::connect ( CallBack * pServerCrashNotificationCallBack = NULL_PTR)

Baut eine Verbindung zum Manager auf.
In Abhängigkeit von der Serverbezeichnug wird bei "LOCAL" ein LocalThread instanziiert, ansonsten ein ClientThread.
Wenn Serverbezeichnug "LOCAL", müssen mindesten der Verzeichnispfad zur Datenbank und die verfügbaren Datenbank (z.B. "Name1|Name2") bekannt sein.
Wenn die Serverbezeichnug eine Serververbindung beinhaltet, müssen mindesten der TCP-Port und die Angabe über die Wartezeit in Sekunden bekannt sein.

Parameter
[in]pServerCrashNotificationCallBackWenn ein gültiger Zeiger auf ein CallBack-Objekt übergeben wird und sich mit einem GloServer verbunden werden soll, wird bei einem evtl. Verbindungsabbruch eine Benachrichtigung an das CallBack-Objekt gesendet (sieh auch CallBack::notify(NotifyNote&) ).
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Siehe auch
Base::disconnect()

◆ deleteObject()

int glo::Base::deleteObject ( BasePersistent * pObject,
EnDeepMode eDeepMode ) const

Löscht übergebenes persistente Objekt in der Datenbank.

Parameter
[in]pObjectEin Zeiger auf das zu löschende Objekt.
[in]eDeepModeDer Löschtiefenmodus.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Das gelöschte Objekt kann so nicht mehr gespeichert werden, die Objekt-ID ist 'verbrannt'.

◆ disconnect()

int glo::Base::disconnect ( )

Baut eine Verbindung zum Manager ab.

Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Siehe auch
Base::connect(CallBack*)

◆ getAllBases()

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

Liefert alle Bezeichnungen der bekannten Datenbanken über den Manager.

Parameter
[in,out]prRetValVectorDie Bezeichnungen der bekannten Datenbanken.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.

◆ getAllClassInfosFromBase() [1/2]

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

Liefert alle Klasseninformation aus der Datenbank mit übergebener Bezeichnung.

Parameter
[in,out]prAllClassInfoMapDer Container mit allen Klasseninformationen.
[in]rstrBaseNameDie Bezeichnung der Datenbank bzw. des Schemas. Wenn keine Bezeichnung übergeben wird, wird der Wert aus PrivateBase::m_strBaseName genommen.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.
Das gelieferte Objekt muss mit seinen Elementen von der aufrufenden Instanz aus dem Speicher entfernt werden.
Zu beachten
Es wird empfohlen, wenn möglich, die Verwendung von std::shared_ptr in Betracht zu ziehen und die Methode getAllClassInfosFromBase(std::map< unsigned, std::shared_ptr<ClassInfo>, std::less<unsigned long> >&, const std::string&)const zu nutzen.

◆ getAllClassInfosFromBase() [2/2]

int glo::Base::getAllClassInfosFromBase ( std::map< unsigned long, std::shared_ptr< ClassInfo >, std::less< unsigned long > > & rAllClassInfoMap,
const std::string & rstrBaseName = "" ) const

Liefert alle Klasseninformation aus der Datenbank mit übergebener Bezeichnung.

Parameter
[in,out]rAllClassInfoMapDer Container mit allen Klasseninformationen in std::shared_ptr.
[in]rstrBaseNameDie Bezeichnung der Datenbank bzw. des Schemas. Wenn keine Bezeichnung übergeben wird, wird der Wert aus PrivateBase::m_strBaseName genommen.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.

◆ getAllLoggedClients()

int glo::Base::getAllLoggedClients ( std::vector< ClientInfo > & rClientInfoVector,
const std::string & rstrBaseName = "" ) const

Liefert alle auf dem Server eingeloggten Clients. Wenn die Bezeichnung einer Datenbank übergeben wird, werden die Clients geliefert, welche die Datenbank mit übergebener Bezeichnung geöffnet haben.

Parameter
[in,out]rClientInfoVectorDie ClientInfo's der Clients, welche die Datenbank mit übergebener Bezeichnung geöffnet haben.
[in]rstrBaseNameWenn die Bezeichnung der Datenbank kein Leerstring, werden die Clients geliefert, welche mit der Datenbank verbunden sind.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.

◆ getAllSubClassInfos() [1/2]

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

Liefert die Klasseninformation aller Unterklassen einer Klasse mit übergebener Klassen-ID aus der Datenbank mit übergebener Bezeichnung.

Parameter
[in,out]prSubClassInfoMapDer Container mit den Klasseninformationen aller Unterklassen der Klasse mit übergebener Klassen-ID.
[in]ulClassIDDie Klassen-ID.
[in]rstrBaseNameDie Bezeichnung der Datenbank bzw. des Schemas. Wenn keine Bezeichnung übergeben wird, wird der Wert aus PrivateBase::m_strBaseName genommen.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.
Das gelieferte Objekt muss mit seinen Elementen von der aufrufenden Instanz aus dem Speicher entfernt werden.
Zu beachten
Es wird empfohlen, wenn möglich, die Verwendung von std::shared_ptr in Betracht zu ziehen und die Methode getAllSubClassInfos(std::map< unsigned, std::shared_ptr<ClassInfo>, std::less<unsigned long> >&, unsigned long, const std::string&)const zu nutzen.

◆ getAllSubClassInfos() [2/2]

int glo::Base::getAllSubClassInfos ( std::map< unsigned long, std::shared_ptr< ClassInfo >, std::less< unsigned long > > & rSubClassInfoMap,
unsigned long ulClassID,
const std::string & rstrBaseName = "" ) const

Liefert die Klasseninformation aller Unterklassen einer Klasse mit übergebener Klassen-ID aus der Datenbank mit übergebener Bezeichnung.

Parameter
[in,out]rSubClassInfoMapDer Container mit den Klasseninformationen aller Unterklassen der Klasse mit übergebener Klassen-ID in std::shared_ptr.
[in]ulClassIDDie Klassen-ID.
[in]rstrBaseNameDie Bezeichnung der Datenbank bzw. des Schemas. Wenn keine Bezeichnung übergeben wird, wird der Wert aus PrivateBase::m_strBaseName genommen.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.

◆ getAllSuperClassInfos() [1/2]

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

Liefert die Klasseninformation aller Oberklassen einer Klasse mit übergebener Klassen-ID aus der Datenbank mit übergebener Bezeichnung.

Parameter
[in,out]prSuperClassInfoMapDer Container mit den Klasseninformationen aller Oberklassen der Klasse mit übergebener Klassen-ID.
[in]ulClassIDDie Klassen-ID.
[in]rstrBaseNameDie Bezeichnung der Datenbank bzw. des Schemas. Wenn keine Bezeichnung übergeben wird, wird der Wert aus PrivateBase::m_strBaseName genommen.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.
Das gelieferte Objekt muss mit seinen Elementen von der aufrufenden Instanz aus dem Speicher entfernt werden.
Zu beachten
Es wird empfohlen, wenn möglich, die Verwendung von std::shared_ptr in Betracht zu ziehen und die Methode getAllSuperClassInfos(std::map< unsigned, std::shared_ptr<ClassInfo>, std::less<unsigned long> >&, unsigned long, const std::string&)const zu nutzen.

◆ getAllSuperClassInfos() [2/2]

int glo::Base::getAllSuperClassInfos ( std::map< unsigned long, std::shared_ptr< ClassInfo >, std::less< unsigned long > > & rBaseClassInfoMap,
unsigned long ulClassID,
const std::string & rstrBaseName = "" ) const

Liefert die Klasseninformation aller Oberklassen einer Klasse mit übergebener Klassen-ID aus der Datenbank mit übergebener Bezeichnung.

Parameter
[in,out]rBaseClassInfoMapDer Container mit den Klasseninformationen aller Oberklassen der Klasse mit übergebener Klassen-ID in std::shared_ptr.
[in]ulClassIDDie Klassen-ID.
[in]rstrBaseNameDie Bezeichnung der Datenbank bzw. des Schemas. Wenn keine Bezeichnung übergeben wird, wird der Wert aus PrivateBase::m_strBaseName genommen.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.

◆ getAnObject() [1/2]

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

Liefert ein Objekt mit übergebener Objekt-ID aus der geöffneten Datenbank.

Parameter
[in,out]prObjectDer Zeiger auf das geholte Objekt.
[in]rObjIDDie Objekt-ID.
[in]bGenericWenn false, wird ein Objekt vom Typ Persistent bzw. davon abgeleitet geliefert.
Wenn true, wird ein generisches Objekt vom Typ GenericPersistent geliefert.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Das gelieferte Objekt muss von der aufrufenden Instanz mittels BasePersistent::forget() aus dem Speicher entfernt werden.
Zu beachten
Es wird empfohlen, wenn möglich, die Verwendung von std::shared_ptr in Verbindung mit Forgeter in Betracht zu ziehen und die Methode getAnObject(std::shared_ptr<BasePersistent>&, const ObjID&, bool)const zu nutzen.

◆ getAnObject() [2/2]

int glo::Base::getAnObject ( std::shared_ptr< BasePersistent > & rObject,
const ObjID & rObjID,
bool bGeneric = false ) const

Liefert ein Objekt mit übergebener Objekt-ID aus der geöffneten Datenbank.

Parameter
[in,out]rObjectDer Zeiger auf das geholte Objekt in einem std::shared_ptr.
[in]rObjIDDie Objekt-ID.
[in]bGenericWenn false, wird ein Objekt vom Typ Persistent bzw. davon abgeleitet geliefert.
Wenn true, wird ein generisches Objekt vom Typ GenericPersistent geliefert.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ getBaseCount()

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

Liefert die Anzahl der bekannten Datenbanken über den Manager.

Parameter
[in,out]rBaseCountDie Anzahl der bekannten Datenbanken.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.

◆ getBaseName()

std::string glo::Base::getBaseName ( ) const
Rückgabe
Die Bezeichnung des Schemas bzw. der Datenbank.

◆ getClassInfo() [1/4]

int glo::Base::getClassInfo ( ClassInfo *& prClassInfo,
const std::string & rstrClassName,
const std::string & rstrBaseName = "" ) const

Liefert die Klasseninformation einer Klasse mit übergebener Klassen-Bezeichnung aus der Datenbank mit übergebener Bezeichnung.

Parameter
[in,out]prClassInfoDie Klasseninformation.
[in]rstrClassNameDie Klassen-Bezeichnung.
[in]rstrBaseNameDie Bezeichnung der Datenbank bzw. des Schemas. Wenn keine Bezeichnung übergeben wird, wird der Wert aus PrivateBase::m_strBaseName genommen.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.
Das gelieferte Objekt muss von der aufrufenden Instanz aus dem Speicher entfernt werden.
Zu beachten
Es wird empfohlen, wenn möglich, die Verwendung von std::shared_ptr in Betracht zu ziehen und die Methode getClassInfo(std::shared_ptr<ClassInfo>&, unsigned long, const std::string&)const zu nutzen.

◆ getClassInfo() [2/4]

int glo::Base::getClassInfo ( ClassInfo *& prClassInfo,
unsigned long ulClassID,
const std::string & rstrBaseName = "" ) const

Liefert die Klasseninformation einer Klasse mit übergebener Klassen-ID aus der Datenbank mit übergebener Bezeichnung.

Parameter
[in,out]prClassInfoDie Klasseninformation.
[in]ulClassIDDie Klassen-ID.
[in]rstrBaseNameDie Bezeichnung der Datenbank bzw. des Schemas. Wenn keine Bezeichnung übergeben wird, wird der Wert aus PrivateBase::m_strBaseName genommen.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.
Das gelieferte Objekt muss von der aufrufenden Instanz aus dem Speicher entfernt werden.
Zu beachten
Es wird empfohlen, wenn möglich, die Verwendung von std::shared_ptr in Betracht zu ziehen und die Methode getClassInfo(std::shared_ptr<ClassInfo>&, unsigned long, const std::string&)const zu nutzen.

◆ getClassInfo() [3/4]

int glo::Base::getClassInfo ( std::shared_ptr< ClassInfo > & rRetVal,
const std::string & rstrClassName,
const std::string & rstrBaseName = "" ) const

Liefert die Klasseninformation einer Klasse mit übergebener Klassen-Bezeichnung aus der Datenbank mit übergebener Bezeichnung.

Parameter
[in,out]rRetValDie Klasseninformation in einem std::shared_ptr.
[in]rstrClassNameDie Klassen-Bezeichnung.
[in]rstrBaseNameDie Bezeichnung der Datenbank bzw. des Schemas. Wenn keine Bezeichnung übergeben wird, wird der Wert aus PrivateBase::m_strBaseName genommen.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.

◆ getClassInfo() [4/4]

int glo::Base::getClassInfo ( std::shared_ptr< ClassInfo > & rRetVal,
unsigned long ulClassID,
const std::string & rstrBaseName = "" ) const

Liefert die Klasseninformation einer Klasse mit übergebener Klassen-ID aus der Datenbank mit übergebener Bezeichnung.

Parameter
[in,out]rRetValDie Klasseninformation in einem std::shared_ptr.
[in]ulClassIDDie Klassen-ID.
[in]rstrBaseNameDie Bezeichnung der Datenbank bzw. des Schemas. Wenn keine Bezeichnung übergeben wird, wird der Wert aus PrivateBase::m_strBaseName genommen.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.

◆ getClassInfoCount()

int glo::Base::getClassInfoCount ( std::map< unsigned long, ClassInfo *, std::less< unsigned long > >::size_type & rClassInfoCount,
const std::string & rstrBaseName = "" ) const

Liefert die Anzahl aller Klasseninformation aus der Datenbank mit übergebener Bezeichnung.

Parameter
[in,out]rClassInfoCountDie Anzahl der Klasseninformationen.
[in]rstrBaseNameDie Bezeichnung der Datenbank bzw. des Schemas. Wenn keine Bezeichnung übergeben wird, wird der Wert aus PrivateBase::m_strBaseName genommen.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.

◆ getClientName()

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

Liefert einen ggf. gesetzten Clientnamen.

Rückgabe
Der Clientname.

◆ getCommunicatorID()

unsigned int glo::Base::getCommunicatorID ( ) const
Rückgabe
Die Kommunikator-ID.

◆ getDbIniName()

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

Liefert den Namen der Initialisierungsdatei.

Rückgabe
s.o.
Siehe auch
setDbIniName(const std::string&)

◆ getDefaultLimits()

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

Liefert die Standardlimitierungen der Datenbank.

Parameter
[in,out]prRetValVectorAlle Limmitierungen der Datenbank.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Es muss zumindesteine eine Verbindung zum Manager bestehen (siehe Base::connect(CallBack*) )

◆ getGenPersObjectSpy()

GenPersObjectSpy * glo::Base::getGenPersObjectSpy ( )

Liefert den Zeiger auf den GenPersObjectSpy aus seiner m_spPrivateBase.

Rückgabe
s.o.
Achtung
Die aufrufende Instanz darf das gelieferte Objekt NICHT ändern oder aus dem Speicher entfernen. Es lebt nur so lange wie dieses Objekt.

◆ getIndexedObjIdsFromAllSet() [1/6]

int glo::Base::getIndexedObjIdsFromAllSet ( std::list< ObjID > & rObjIDList,
const BaseAllSet & rAllSet,
const std::string & rsIndexName,
unsigned long ulIndexClassID,
const std::string & rsIndexSearchValue,
EnComparisionOp eComparisionOp ) const

Liefert eine Liste von Objekt-IDs aus dem übergebenen AllSet in Bezug auf die übergebene Parameter. Es können Ergebnisse mittels des Parameters eComparisionOp definiert werden. Wenn z.B. Parameter sIndex den Wert "123" und Parameter eComparisionOp den Wert LESS hat, werden alle Objekte mit dem Index kleiner 123 geliefert.

Parameter
[in,out]rObjIDListIn diese Liste werden die gefundenen Objekt-IDs geliefert.
[in]rAllSetDer AllSet, der die Objekt-ID liefern soll.
[in]rsIndexNameDie Indexbezeichnung des zu durchsuchenden Index.
[in]ulIndexClassIDDie ID der Klasse, welche mit dem 'rsIndexName' indiziert ist. Damit ist es möglich, den Index einer Oberklasse zu nutzen.
[in]rsIndexSearchValueDer Indexwert.
[in]eComparisionOpDer Vergleichsoperator. Wenn z.B. rsIndex den Wert "123" und eComparisionOp den Wert LESS hat, werden alle Objekte mit dem Index kleiner 123 geliefert.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Es werden ggf. vorhandene Platzhalter '*' und '?' im Parameter rsIndexSearchValue NICHT berücksichtigt.
Indexe werden erst nach dem Öffnen des AllSets ermittelt.

◆ getIndexedObjIdsFromAllSet() [2/6]

int glo::Base::getIndexedObjIdsFromAllSet ( std::list< ObjID > & rObjIDList,
const BaseAllSet & rAllSet,
const std::string & rsIndexName,
unsigned long ulIndexClassID,
const std::string & rsIndexSearchValue,
EnQueryType eQuerryType ) const

Liefert eine Liste von Objekt-IDs aus dem übergebenen AllSet in Bezug auf die übergebenen Parameter.

Parameter
[in]rAllSetDer AllSet, der die Objekt-ID liefern soll.
[in,out]rObjIDListIn diese Liste werden die gefundenen Objekt-IDs geliefert.
[in]rsIndexNameDie Indexbezeichnung des zu durchsuchenden Index.
[in]ulIndexClassIDDie ID der Klasse, welche mit dem 'rsIndexName' indiziert ist. Damit ist es möglich, den Index einer Oberklasse zu nutzen.
[in]rsIndexSearchValueDer Indexausdruck kann die Platzhalter '*' und '?' enthalten, welche bei der Auswertung berücksichtigt werden oder wenn Parameter eQueryType == eOQL, wird der String als OQL-Ausdruck interpretiert.
[in]eQuerryTypeDer Abfragetyp.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Indexe werden erst nach dem Öffnen des AllSets ermittelt.

◆ getIndexedObjIdsFromAllSet() [3/6]

int glo::Base::getIndexedObjIdsFromAllSet ( std::list< ObjID > & rObjIDList,
const BaseAllSet & rAllSet,
const std::string & rsIndexName,
unsigned long ulIndexClassID,
const std::string & rsRangeStartIndexSearchValue,
const std::string & rsRangeEndIndexSearchValue ) const

Liefert eine Liste von Objekt-IDs aus dem übergebenen AllSet in Bezug auf die übergebene Parameter. Es können Ergebnisse mittesl Bereichsangabe definiert werden. Wenn z.B. Parameter sIndex den Wert "123" und Parameter sRangeEndIndex den Wert "155" hat, werden alle Objekte mit dem Index grösser/gleich 123 und kleiner/gleich 155 geliefert.

Parameter
[in,out]rObjIDListIn diese Liste werden die gefundenen Objekt-IDs geliefert.
[in]rAllSetDer AllSet, der die Objekt-ID liefern soll.
[in]rsIndexNameDie Indexbezeichnung des zu durchsuchenden Index.
[in]ulIndexClassIDDie ID der Klasse, welche mit dem 'rsIndexName' indiziert ist. Damit ist es möglich, den Index einer Oberklasse zu nutzen.
[in]rsRangeStartIndexSearchValueDer Start-Indexwert.
[in]rsRangeEndIndexSearchValueDer End-Indexwert.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Es werden ggf. vorhandene Platzhalter '*' und '?' im Parameter rsIndexSearchValue NICHT berücksichtigt.
Es muss im AllSet der IndexName gesetzt sein.
Indexe werden erst nach dem Öffnen des AllSets ermittelt.

◆ getIndexedObjIdsFromAllSet() [4/6]

int glo::Base::getIndexedObjIdsFromAllSet ( std::list< ObjID > & rObjIDList,
const BaseAllSet & rAllSet,
const std::string & rsIndexSearchValue,
EnComparisionOp eComparisionOp ) const

Liefert eine Liste von Objekt-IDs aus dem übergebnen AllSet in Bezug auf die übergebene Parameter. Es können Ergebnisse mittels des Parameters eComparisionOp definiert werden. Wenn z.B. Parameter sIndex den Wert "123" und Parameter eComparisionOp den Wert LESS hat, werden alle Objekte mit dem Index kleiner 123 geliefert.

Parameter
[in,out]rObjIDListIn diese Liste werden die gefundenen Objekt-IDs geliefert.
[in]rAllSetDer AllSet, der die Objekt-ID liefern soll.
[in]rsIndexSearchValueDer Indexwert.
[in]eComparisionOpDer Vergleichsoperator. Wenn z.B. rsIndex den Wert "123" und eComparisionOp den Wert LESS hat, werden alle Objekte mit dem Index kleiner 123 geliefert.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Es werden ggf. vorhandene Platzhalter '*' und '?' im Parameter rsIndexSearchValue NICHT berücksichtigt.
Es muss im AllSet der IndexName gesetzt sein.
Indexe werden erst nach dem Öffnen des AllSets ermittelt.

◆ getIndexedObjIdsFromAllSet() [5/6]

int glo::Base::getIndexedObjIdsFromAllSet ( std::list< ObjID > & rObjIDList,
const BaseAllSet & rAllSet,
const std::string & rsIndexSearchValue,
EnQueryType eQuerryType ) const

Liefert eine Liste von Objekt-IDs aus dem übergebenen AllSet in Bezug auf die übergebenen Parameter.

Parameter
[in,out]rObjIDListIn diese Liste werden die gefundenen Objekt-IDs geliefert.
[in]rAllSetDer AllSet, der die Objekt-ID liefern soll.
[in]rsIndexSearchValueDer Indexausdruck kann die Platzhalter '*' und '?' enthalten, welche bei der Auswertung berücksichtigt werden oder wenn Parameter eQueryType == eOQL, wird der String als OQL-Ausdruck interpretiert. Zu beachten; OQL ist noch nicht implementiert!
[in]eQuerryTypeDer Abfragetyp.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Es muss im AllSet der IndexName gesetzt sein.
Indexe werden erst nach dem Öffnen des AllSets ermittelt.

◆ getIndexedObjIdsFromAllSet() [6/6]

int glo::Base::getIndexedObjIdsFromAllSet ( std::list< ObjID > & rObjIDList,
const BaseAllSet & rAllSet,
const std::string & rsRangeStartIndexSearchValue,
const std::string & rsRangeEndIndexSearchValue ) const

Liefert eine Liste von Objekt-IDs aus dem übergebenen AllSet in Bezug auf die übergebene Parameter. Es kann das Ergebnisse mittesl Bereichsangabe definiert werden. Wenn z.B. Parameter rsRangeStartIndexSearchValue den Wert "123" und Parameter rsRangeEndIndexSearchValue den Wert "155" hat, werden nur noch alle Objekte mit dem Index grösser/gleich 123 und kleiner/gleich 155 geliefert.

Parameter
[in,out]rObjIDListIn diese Liste werden die gefundenen Objekt-IDs geliefert.
[in]rAllSetDer AllSet, der die Objekt-ID liefern soll.
[in]rsRangeStartIndexSearchValueDer Start-Indexwert.
[in]rsRangeEndIndexSearchValueDer End-Indexwert.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Es werden ggf. vorhandene Platzhalter '*' und '?' im Parameter rsIndexSearchValue NICHT berücksichtigt.
Es muss im AllSet der IndexName gesetzt sein.
Indexe werden erst nach dem Öffnen des AllSets ermittelt.

◆ getKnownSchemes()

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

Liefert die Bezeichnungen der bekannten Datenbanken.

Parameter
[in,out]rRetValDie Bezeichnungen der bekannten Datenbanken.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ getLimits() [1/2]

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

Liefert die Limits des übergebenen ClassInfoAttribute::Type.

Parameter
[in,out]prLimitRecordDie Limits des übergebenen ClassInfoAttribute::Type.
[in]rClassInfoAttributeTypeDer ClassInfoAttribute::Type
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.
Das gelieferte Objekt muss von der aufrufenden Instanz aus dem Speicher entfernt werden.
Zu beachten
Es wird empfohlen, wenn möglich, die Verwendung von std::shared_ptr in Betracht zu ziehen und die Methode getLimits(std::shared_ptr<LimitRecord>&, const ClassInfoAttribute::Type&)const zu nutzen.

◆ getLimits() [2/2]

int glo::Base::getLimits ( std::shared_ptr< LimitRecord > & rLimitRecord,
const ClassInfoAttribute::Type & rClassInfoAttributeType ) const

Liefert die Limits des übergebenen ClassInfoAttribute::Type.

Parameter
[in,out]rLimitRecordDie Limits des übergebenen ClassInfoAttribute::Type in einem std::shared_ptr.
[in]rClassInfoAttributeTypeDer ClassInfoAttribute::Type
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.

◆ getObjectFromAllSet()

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

Liefert ein Objekt aus dem übergebenen AllSet in Bezug auf eMode.

Parameter
[in,out]rObjIDIn dieser Objekt-ID wird bei keinem Fehler der Werte gesetzt.
[in,out]prObjectDer Zeiger auf das geholte Objekt. Kann trotz gültiger rObjID NULL_PTR sein, wenn z.B. 'Lesegesperrt'.
[in]rAllSetDer AllSet, der die Objekt-ID liefern soll.
[in]eModeDer Suchmodus.

Parameterbeispiele:

Parameter
[in]bGenericWenn false, wird ein Objekt vom Typ Persistent bzw. ein davon abgeleitetest Objekt geliefert.
Wenn true, wird ein generisches Objekt vom Typ GenericPersistent geliefert.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an. Eine Rückgabe == ERR_RANGE zeigt das Ende des AllSets an.

◆ getObjectMaker()

ObjectMaker * glo::Base::getObjectMaker ( )
Rückgabe
Der Zeiger auf den ObjectMaker.

◆ getObjIdFromAllSet()

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

Liefert eine Objekt-ID aus dem übergebenen AllSet in Bezug auf eMode.

Parameter
[in,out]rObjIDIn dieser Objekt-ID wird bei keinem Fehler der Werte gesetzt.
[in]rAllSetDer AllSet, der die Objekt-ID liefern soll.
[in]eModeDer Suchmodus.

Parameterbeispiele:

Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an. Eine Rückgabe == ERR_RANGE zeigt das Ende des AllSets an.

◆ getPersObjectSpy()

PersObjectSpy * glo::Base::getPersObjectSpy ( )

Liefert den Zeiger auf den PersObjectSpy aus seiner m_spPrivateBase.

Rückgabe
s.o.
Achtung
Die aufrufende Instanz darf das gelieferte Objekt NICHT ändern oder aus dem Speicher entfernen. Es lebt nur so lange wie dieses Objekt respektiv wie m_spPrivateBase.

◆ getPort()

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

Liefert den TCP-Port.

Parameter
[in,out]ruiPortDer TCP-Port.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ getPrivateBase()

std::shared_ptr< PrivateBase > glo::Base::getPrivateBase ( ) const
protected

Liefert einen Zeiger auf die m_spPrivateBase.

Rückgabe
Der Zeiger auf die m_spPrivateBase; diese lebt nur so lange wie dieses Objekt.

◆ getProcessingPossibilities()

int glo::Base::getProcessingPossibilities ( const ObjID & rObjId,
LockPossibleSpecification & rLockPossibleSpecification,
EnDeepMode eDeepMode ) const

Liefert die erlaubten Möglichkeiten für das Objekt mit übergebener Objekt-ID in der Datenbank.

Parameter
[in]rObjIdDie Objekt-Id des zu prüfenden Objekts.
[in,out]rLockPossibleSpecificationDie Möglichkeitsantwort.
[in]eDeepModeDer Tiefenmodus für den geprüft wird.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Siehe auch
Objekt auf Sperren bzw. Zugriffsmöglichkeiten prüfen.

◆ getRecord() [1/2]

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

Liefert einen Datensatz aus der Tabelle des Objektes mit übergebener Objekt-ID aus der geöffneten Datenbank.

Parameter
[in,out]prRecordDer Zeiger auf den geholten Datensatz.
[in]rObjIDDie Objekt-ID.
[in]ulClassIDDie Klassen-ID aus dessen Tabelle gelesen wird.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Zu beachten
Es wird direkt aus der Datenbank geliefert und nicht ggf. aus dem TransactionManager wo ein Record z.B. schon als geändert geführt wird und nur noch auf sein Commit wartet.
Sollte aber im TransactionManager das Objekt mit der übergebenen Objekt-ID für die aufrufende Instanz als gelöscht gekennzeichnet sein, wird kein Record geliefert.
Achtung
Das gelieferte Objekt muss mittels Record::forget() von der aufrufenden Instanz aus dem Speicher entfernt werden.
Zu beachten
Es wird empfohlen, wenn möglich, die Verwendung von std::shared_ptr in Verbindung mit Forgeter in Betracht zu ziehen und die Methode getRecord(std::shared_ptr<Record>&, const ObjID&, unsigned long)const zu nutzen.

◆ getRecord() [2/2]

int glo::Base::getRecord ( std::shared_ptr< Record > & rRecord,
const ObjID & rObjID,
unsigned long ulClassID ) const

Liefert einen Datensatz aus der Tabelle des Objektes mit übergebener Objekt-ID aus der geöffneten Datenbank.

Parameter
[in,out]rRecordDer Zeiger auf den geholten Datensatz in einem std::shared_ptr.
[in]rObjIDDie Objekt-ID.
[in]ulClassIDDie Klassen-ID aus dessen Tabelle gelesen wird.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Zu beachten
Es wird direkt aus der Datenbank geliefert und nicht ggf. aus dem TransactionManager wo ein Record z.B. schon als geändert geführt wird und nur noch auf sein Commit wartet.
Sollte aber im TransactionManager das Objekt mit der übergebenen Objekt-ID für die aufrufende Instanz als gelöscht gekennzeichnet sein, wird kein Record geliefert.

◆ getRootClassInfo() [1/2]

int glo::Base::getRootClassInfo ( ClassInfo *& prRootClassInfo,
const std::string & rstrBaseName = "" ) const

Liefert die Klasseninformation der 'obersten' Klasse der Klassenhierarchie aus der Datenbank mit übergebener Bezeichnung.

Parameter
[in,out]prRootClassInfoDie Klasseninformation.
[in]rstrBaseNameDie Bezeichnung der Datenbank bzw. des Schemas. Wenn keine Bezeichnung übergeben wird, wird der Wert aus PrivateBase::m_strBaseName genommen.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.
Das gelieferte Objekt muss von der aufrufenden Instanz aus dem Speicher entfernt werden.
Zu beachten
Es wird empfohlen, wenn möglich, die Verwendung von std::shared_ptr in Betracht zu ziehen und die Methode getRootClassInfo(std::shared_ptr<ClassInfo>&,const std::string&)const zu nutzen.

◆ getRootClassInfo() [2/2]

int glo::Base::getRootClassInfo ( std::shared_ptr< ClassInfo > & rRootClassInfo,
const std::string & rstrBaseName = "" ) const

Liefert die Klasseninformation der 'obersten' Klasse der Klassenhierarchie aus der Datenbank mit übergebener Bezeichnung in einem std::shared_ptr.

Parameter
[in,out]rRootClassInfoDie Klasseninformation in einem std::shared_ptr.
[in]rstrBaseNameDie Bezeichnung der Datenbank bzw. des Schemas. Wenn keine Bezeichnung übergeben wird, wird der Wert aus PrivateBase::m_strBaseName genommen.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.

◆ getSchemaNameWithPath()

int glo::Base::getSchemaNameWithPath ( std::string & rstrRetVal)

Liefert den vollständigen Dateinamen des zugrundeliegenden Schemas zusammengesetzt aus Verzeichnispfad + der Bezeichnung der Datenbank.

Parameter
[in,out]rstrRetValVollständiger Dateiname (z.B. "C:/Pfad/MyGloBase.ini").
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ getSchemaPath()

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

Liefert den Verzeichnispfad zur Datenbank.

Parameter
[in,out]rstrRetValDer Verzeichnispfad zur Datenbank.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ getServerName()

std::string glo::Base::getServerName ( ) const
Rückgabe
Die Serverbezeichnung.

◆ getSizeFromAllSet()

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

Liefert die Anzahl der Objekte des AllSets in der geöffneten Datenbank.

Parameter
[in]rnSizeDie Anzahl der Objekte des AllSets.
[in]rAllSetDer AllSet, dessen Anzahl geliefert werden soll.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ getSubClassInfos() [1/2]

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

Liefert die Klasseninformationen der direkten Unterklassen einer Klasse mit übergebener Klassen-ID aus der Datenbank mit übergebener Bezeichnung.

Parameter
[in,out]prSubClassInfoMapDer Container mit den Klasseninformationen der direkten Unterklassen der Klasse mit übergebener Klassen-ID.
[in]ulClassIDDie Klassen-ID.
[in]rstrBaseNameDie Bezeichnung der Datenbank bzw. des Schemas. Wenn keine Bezeichnung übergeben wird, wird der Wert aus PrivateBase::m_strBaseName genommen.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.
Das gelieferte Objekt muss mit seinen Elementen von der aufrufenden Instanz aus dem Speicher entfernt werden.
Zu beachten
Es wird empfohlen, wenn möglich, die Verwendung von std::shared_ptr in Betracht zu ziehen und die Methode getSubClassInfos(std::map< unsigned, std::shared_ptr<ClassInfo>, std::less<unsigned long> >&, unsigned long, const std::string&)const zu nutzen.

◆ getSubClassInfos() [2/2]

int glo::Base::getSubClassInfos ( std::map< unsigned long, std::shared_ptr< ClassInfo >, std::less< unsigned long > > & rSubClassInfoMap,
unsigned long ulClassID,
const std::string & rstrBaseName = "" ) const

Liefert die Klasseninformationen der direkten Unterklassen einer Klasse mit übergebener Klassen-ID aus der Datenbank mit übergebener Bezeichnung.

Parameter
[in,out]rSubClassInfoMapDer Container mit den Klasseninformationen der direkten Unterklassen der Klasse mit übergebener Klassen-ID in std::shared_ptr.
[in]ulClassIDDie Klassen-ID.
[in]rstrBaseNameDie Bezeichnung der Datenbank bzw. des Schemas. Wenn keine Bezeichnung übergeben wird, wird der Wert aus PrivateBase::m_strBaseName genommen.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.

◆ getSuperClassInfos() [1/2]

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

Liefert die Klasseninformation(en) der direkten Oberklasse(n) einer Klasse mit übergebener Klassen-ID aus der Datenbank mit übergebener Bezeichnung.

Parameter
[in,out]prSuperClassInfoMapDer Container mit den Klasseninformationen der direkten Oberklassen der Klasse mit übergebener Klassen-ID.
[in]ulClassIDDie Klassen-ID.
[in]rstrBaseNameDie Bezeichnung der Datenbank bzw. des Schemas. Wenn keine Bezeichnung übergeben wird, wird der Wert aus PrivateBase::m_strBaseName genommen.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.
Das gelieferte Objekt muss mit seinen Elementen von der aufrufenden Instanz aus dem Speicher entfernt werden.
Zu beachten
Es wird empfohlen, wenn möglich, die Verwendung von std::shared_ptr in Betracht zu ziehen und die Methode getSuperClassInfos(std::map< unsigned, std::shared_ptr<ClassInfo>, std::less<unsigned long> >&, unsigned long, const std::string&)const zu nutzen.

◆ getSuperClassInfos() [2/2]

int glo::Base::getSuperClassInfos ( std::map< unsigned long, std::shared_ptr< ClassInfo >, std::less< unsigned long > > & rBaseClassInfoMap,
unsigned long ulClassID,
const std::string & rstrBaseName = "" ) const

Liefert die Klasseninformation(en) der direkten Oberklasse(n) einer Klasse mit übergebener Klassen-ID aus der Datenbank mit übergebener Bezeichnung.

Parameter
[in,out]rBaseClassInfoMapDer Container mit den Klasseninformationen der direkten Oberklassen der Klasse mit übergebener Klassen-ID in std::shared_ptr.
[in]ulClassIDDie Klassen-ID.
[in]rstrBaseNameDie Bezeichnung der Datenbank bzw. des Schemas. Wenn keine Bezeichnung übergeben wird, wird der Wert aus PrivateBase::m_strBaseName genommen.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.

◆ getTimeOutSec()

int glo::Base::getTimeOutSec ( int & riTimeOutSec)

Liefert die Sekunden des allgemeinen TimeOuts.

Parameter
[in,out]riTimeOutSecDie allgemeine Angabe über die Wartezeit in Sekunden.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ getTransactionLevel()

int glo::Base::getTransactionLevel ( ) const

Liefert den Transaktionslevel (Verschachtelungstiefe).

◆ indexAvailable()

int glo::Base::indexAvailable ( const std::string & rsIndexName,
unsigned long ulClassID,
const std::string & rstrBaseName = "" ) const

Prüft ob es einen String-Index mit übergebene Index-Bezeichnung für die Klasse mit übergebener Klassen-ID in der Datenbank mit übergebener Bezeichnung gibt.

Parameter
[in]rsIndexNameDie zu prüfende Index-Bezeichnung.
[in]ulClassIDDie Klassen-ID.
[in]rstrBaseNameDie Bezeichnung der Datenbank bzw. des Schemas. Wenn keine Bezeichnung übergeben wird, wird der Wert aus PrivateBase::m_strBaseName genommen.
Rückgabe
Wenn Rückgabe == 0 gibt es den Index nicht. Wenn Rückgabe == 1 existiert ein entsprechender String-Index. Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.

◆ isConnected()

bool glo::Base::isConnected ( ) const
Rückgabe
Liefert true, wenn eine Verbindung zum Manager besteht.
Siehe auch
Base::disconnect() and Base::connect(CallBack*).

◆ isInTransaction()

bool glo::Base::isInTransaction ( ) const

Liefert true, wenn mindestens eine Transaktion begonnen wurde.

◆ isKnownClassID()

int glo::Base::isKnownClassID ( bool & rbRetVal,
unsigned long ulClassID,
const std::string & rstrBaseName = "" ) const

Prüft ob übergebene Klassen-ID dieser Instanz bekannt ist.

Parameter
[in,out]rbRetValWenn true, ist die übergebene Klassen-ID dieser Instanz bekannt.
[in]ulClassIDDie zu prüfende Klassen-ID.
[in]rstrBaseNameDie Bezeichnung der Datenbank bzw. des Schemas. Wenn keine Bezeichnung übergeben wird, wird der Wert aus PrivateBase::m_strBaseName genommen.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.

◆ isLockedObject()

int glo::Base::isLockedObject ( const ObjID & rObjId,
EnLockMode eLockMode,
EnDeepMode eDeepMode ) const

Prüft ob Objekt mit übergebener Objekt-ID in der Datenbank mit den übergebenen Parametern gelockt ist.

Parameter
[in]rObjIdDie Objekt-Id des zu prüfenden Objekts.
[in]eLockModeDer zu prüfende Sperrmodus.
[in]eDeepModeDer zu prüfende Sperrtiefenmodus.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Siehe auch
Objekt auf Sperren bzw. Zugriffsmöglichkeiten prüfen.

◆ isOpen()

bool glo::Base::isOpen ( ) const

Prüft ob die Datenbank geöffnet ist.

Rückgabe
Wenn true, ist die Datenbank geöffnet.

◆ isPossible()

int glo::Base::isPossible ( const ObjID & rObjId,
bool bRead,
bool bWrite,
bool bDelete,
EnDeepMode eDeepMode ) const

Prüft, ob die übergebenen Aktionen mit dem Objekt mit übergebener Objekt-ID in der Datenbank möglich sind oder ob eine konkurierende Sperre besteht.

Parameter
[in]rObjIdDie Objekt-Id des zu prüfenden Objekts.
[in]bReadWenn true, wird auf Lesen dürfen geprüft.
[in]bWriteWenn true, wird auf Schreiben dürfen geprüft.
[in]bDeleteWenn true, wird auf Löschen dürfen geprüft.
[in]eDeepModeDer Tiefenmodus für den geprüft wird.
Rückgabe
Wenn Rückgabe == 0, ist die Aktion erlaubt. Eine Rückgabe < 0 zeigt einen Fehler an.
Siehe auch
Objekt auf Sperren bzw. Zugriffsmöglichkeiten prüfen.

◆ isStoredObject()

int glo::Base::isStoredObject ( bool & rbRetVal,
BasePersistent * pObject ) const

Prüft ob übergebenes Objekt in der geöffneten Datenbank gespeichert ist.

Parameter
[in,out]rbRetValWenn true, ist das Objekt in der Datenbank gespeichert.
[in]pObjectDer Zeiger auf das zu prüfende Objekt.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ isSuperClassFrom()

int glo::Base::isSuperClassFrom ( bool & rbRetVal,
unsigned long ulClassIDSuperClass,
unsigned long ulClassIDSubClass,
const std::string & rstrBaseName = "" ) const

Prüft, ob eine Klasse eine Oberklasse einer anderen Klasse ist.

Parameter
[in,out]rbRetValWenn true, ist ulClassIDSuperClass Oberklasse von ulClassIDSubClass.
[in]ulClassIDSuperClassDie zu prüfende Klassen-ID der Oberklasse.
[in]ulClassIDSubClassDie zu prüfende Klassen-ID der Unterklasse.
[in]rstrBaseNameDie Bezeichnung der Datenbank bzw. des Schemas. Wenn keine Bezeichnung übergeben wird, wird der Wert aus PrivateBase::m_strBaseName genommen.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.

◆ lockLot()

int glo::Base::lockLot ( const BaseLot & rObjIdLot,
EnLockMode eLockMode,
EnDeepMode eDeepMode ) const

Die Objekte im übergebenen Kontainer werden in der Datenbank gesperrt.

Parameter
[in]rObjIdLotDer Kontainer mit den zu sperrenden Objekten.
[in]eLockModeDer Sperrmodus.
[in]eDeepModeDer Sperrtiefenmodus.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Zu beachten
Um die Sperre aufzuheben muss die korrespondierende Methode unlockLot(const BaseLot&, EnLockMode, EnDeepMode) mit gleichen Parameterwerten genutzt werden.
Siehe auch
Mehrere persistente Objekte sperren.

◆ lockObject()

int glo::Base::lockObject ( const ObjID & rObjId,
EnLockMode eLockMode,
EnDeepMode eDeepMode ) const

Das Objekt mit der übergebenen Objekt-ID wird in der Datenbank gesperrt.

Parameter
[in]rObjIdDie Objekt-ID des zu sperrenden Objekts.
[in]eLockModeDer Sperrmodus.
[in]eDeepModeDer Sperrtiefenmodus.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Zu beachten
Um die Sperre aufzuheben muss die korrespondierende Methode unlockObject(const ObjID&, EnLockMode, EnDeepMode) mit gleichen Parameterwerten genutzt werden.
Siehe auch
Ein persistentes Objekt sperren.

◆ lockObjIdList()

int glo::Base::lockObjIdList ( std::list< ObjID > * pObjIDList,
EnLockMode eLockMode,
EnDeepMode eDeepMode ) const

Die Objekte mit übergebenen Objekt-IDs werden in der Datenbank gesperrt.

Parameter
[in]pObjIDListDie Liste mit den Objekt-IDs der zu sperrenden Objekte.
[in]eLockModeDer Sperrmodus.
[in]eDeepModeDer Sperrtiefenmodus.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Zu beachten
Um die Sperre aufzuheben muss die korrespondierende Methode unlockObjIdList( std::list<ObjID>*, EnLockMode, EnDeepMode) mit gleichen Parameterwerten genutzt werden.
Siehe auch
Mehrere persistente Objekte sperren.

◆ notifyAsWritten()

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

Wenn die Objekte mit übergebener Objekt-ID überwacht werden, 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
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Diese Methode sendet ohne zu warten (Fire and forget)
Siehe auch
Beobachten und benachrichtigen.

◆ objIDInAllSet()

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

Prüft, ob ein Objekt mit übergebener Objekt-ID im übergebenen AllSet in der geöffneten Datenbank vorhanden ist.

Parameter
[in]rObjIDDie Objekt-ID.
[in]rAllSetDer zu prüfende AllSet.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ open()

int glo::Base::open ( const std::string & rstrBaseName,
CallBack * pProgressNotificationCallBack = NULL_PTR )

Es wird die Datenbank mit übergebener Bezeichnung zur Bearbeitung geöffnet.

Parameter
[in]rstrBaseNameDie Bezeichnung der Datenbank bzw. des Schemas.
[in]pProgressNotificationCallBackWenn ein gültiger Zeiger auf ein Objekt übergeben wird, wird das Fortschreiten des Lesens der Indizes über eine Benachrichtigung an das CallBack-Objekt gesendet (sieh auch CallBack::notify(NotifyNote&) ).
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Zu beachten
Das Öffnen einer Datenbank mittels dieser Methode bedarf ein Schliessen mit der Methode Base::close(CallBack*).
Achtung
Ohne vorheriges Verbinden (siehe Base::connect(CallBack*) ) scheitert die Methode.

◆ openAllSet()

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

Öffnet einen AllSet in der geöffneten Datenbank. Damit kann ein AllSet in der Applikation durch den AllSet in der Datenbank iterieren und Objekte holen.

Parameter
[in,out]pAllSetDer AllSet. Wenn generisch (GenericAllSet) muss die Klassen-ID in diesem gesetzt sein.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ openBase()

int glo::Base::openBase ( CallBack * pProgressNotificationCallBack = NULL_PTR,
CallBack * pServerCrashNotificationCallBack = NULL_PTR )

Es wird die Datenbank geöffnet. Es wird sich impliziet mit der Datenbank verbunden.

Parameter
[in]pProgressNotificationCallBackWenn ein gültiger Zeiger auf ein Objekt übergeben wird, wird das Fortschreiten des Lesens der Indizes über eine Benachrichtigung an das CallBack-Objekt gesendet (sieh auch CallBack::notify(NotifyNote&) ).
[in]pServerCrashNotificationCallBackWenn ein gültiger Zeiger auf ein CallBack-Objekt übergeben wird und sich mit einem GloServer verbunden werden soll, wird bei einem evtl. Verbindungsabbruch eine Benachrichtigung an das CallBack-Objekt gesendet (sieh auch CallBack::notify(NotifyNote&) ).
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Zu beachten
Das Öffnen einer Datenbank mittels dieser Methode bedarf ein Schliessen mit der Methode Base::closeBase(CallBack*).
Achtung
Base muss mit ein gültiger ObjCreator instantiiert worden sein sein.

◆ openBaseComfortably()

int glo::Base::openBaseComfortably ( CallBack * pProgressNotificationCallBack = NULL_PTR,
CallBack * pServerCrashNotificationCallBack = NULL_PTR )

Es wird die Datenbank geöffnet. Es wird sich impliziet mit der Datenbank verbunden.
Sollten Indexdateien nicht vorhanden sein, werden diese automatisch erstellt.

Parameter
[in]pProgressNotificationCallBackWenn ein gültiger Zeiger auf ein Objekt übergeben wird, wird das Fortschreiten des Lesens der Indizes über eine Benachrichtigung an das CallBack-Objekt gesendet (sieh auch CallBack::notify(NotifyNote&) ).
[in]pServerCrashNotificationCallBackWenn ein gültiger Zeiger auf ein CallBack-Objekt übergeben wird und sich mit einem GloServer verbunden werden soll, wird bei einem evtl. Verbindungsabbruch eine Benachrichtigung an das CallBack-Objekt gesendet (sieh auch CallBack::notify(NotifyNote&) ).
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Zu beachten
Das Öffnen einer Datenbank mittels dieser Methode bedarf ein Schliessen mit der Methode Base::closeBase(CallBack*).
Achtung
Base muss mit ein gültiger ObjCreator instantiiert worden sein sein.

◆ operator=()

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

Der Zuweisungsoperator steht nicht zur Verfügung.

◆ reconnect()

int glo::Base::reconnect ( CallBack * pServerCrashNotificationCallBack = NULL_PTR)

Baut eine Verbindung zum Manager ab und wieder auf.

Parameter
[in]pServerCrashNotificationCallBackWenn ein gültiger Zeiger auf ein CallBack-Objekt übergeben wird und sich mit einem GloServer verbunden werden soll, wird bei einem evtl. Verbindungsabbruch eine Benachrichtigung an das CallBack-Objekt gesendet (sieh auch CallBack::notify(NotifyNote&) ).
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Siehe auch
Base::disconnect() and Base::connect(CallBack*).

◆ refreshObject()

int glo::Base::refreshObject ( BasePersistent * pObject) const

Frischt das übergebene Objekt bzw. dessen persistenten Attribute aus der geöffneten Datenbank auf (liest die dort aktuellen Attributdaten ein).

Parameter
[in,out]pObjectDer Zeiger auf das Objekt.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Zu beachten
Wenn das Objekt in einer noch nicht abgeschlossenen Transaktion ist, werden die Werte aus der Transaktion geholt.
Siehe auch
GlobalObjects Transaktion.

◆ reindexBase() [1/2]

int glo::Base::reindexBase ( CallBack * pProgressNotificationCallBack = NULL_PTR)

Es wird die Datenbank mit der Bezeichnung, welche vorher in einem Konstruktor bzw. über Base::setBaseName (...) übergeben wurde, reindiziert.

Parameter
[in]pProgressNotificationCallBackWenn ein gültiger Zeiger auf ein Objekt übergeben, wird das Fortschreiten des Reindizierens über eine Benachrichtigung an das CallBack-Objekt gesendet (sieh auch CallBack::notify(NotifyNote&) ).
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Das gewünschte wird nur gelingen, wenn die Datenbank von keiner Instanz geöffnet ist.
Ohne vorheriges Verbinden (siehe auch Base::connect(CallBack*) ) scheitert die Methode.

◆ reindexBase() [2/2]

int glo::Base::reindexBase ( const std::string & rstrBaseName,
CallBack * pProgressNotificationCallBack = NULL_PTR )

Es wird die Datenbank mit übergebener Bezeichnung reindiziert.

Parameter
[in]rstrBaseNameDie Bezeichnung der Datenbank, deren Indizes neu geschrieben werden sollen.
[in]pProgressNotificationCallBackWenn ein gültiger Zeiger auf ein Objekt übergeben, wird das Fortschreiten des Reindizierens über eine Benachrichtigung an das CallBack-Objekt gesendet (sieh auch CallBack::notify(NotifyNote&) ).
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Das gewünschte wird nur gelingen, wenn die Datenbank von keiner Instanz geöffnet ist.
Ohne vorheriges Verbinden (siehe auch Base::connect(CallBack*) ) scheitert die Methode.

◆ removeIndexFilter()

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

Entfernt einen ggf. gesetzten Filter.

Parameter
[in]rAllSetDer AllSet, dessen Indexfilter entfernt wird.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ repairBase() [1/2]

int glo::Base::repairBase ( CallBack * pProgressNotificationCallBack = NULL_PTR)
Achtung
Diese Methode ist noch nicht freigeschaltet! Es wird die Datenbank mit der Bezeichnung, welche vorher in einem ctor bzw. über Base::setBaseName (...) übergeben wurde, repariert. Folgende Aktione werden durchgeführt:
  • Es wird für jede Klasse geprüft, ob alle Attributverzeichnisse existieren und ggf. angelegt.
  • Es wird jede Tabelle durchlaufen, und geprüft, ob ein Objekt in allen anderen notwendigen Tabellen eingetragen ist. Zerhacktstückte Objekte werden in den Tabellen wo sie fehlen, mit Defaultwerten nachgetragen.
  • Es werden alle Unique-Indexe auf Konsistenz geprüft. Wenn ein Indexeintrag doppelt vorkommt, wird dieser soweit geändet, dass er eindeutig ist.
  • Es werden alle Referenzen auf vorhandensein eines Objektes geprüft. Wenn eine Referenz auf ein nicht vorhandenes Objekt zeigt, wird die Referenz auf NULL_PTR gesetzt bzw. entfernt.
  • Es werden alle Reparaturen in ein Logfile eingetragen.
Parameter
[in]pProgressNotificationCallBackWenn ein gültiger Zeiger auf ein Objekt übergeben, wird das Fortschreiten des Reoarierens über eine Benachrichtigung an das CallBack-Objekt gesendet (sieh auch CallBack::notify(NotifyNote&) ).
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Zu beachten
Wenn ohne Fehler beendet, ist der Index neu erstellt worden.
Achtung
Das gewünschte wird nur gelingen, wenn die Datenbank von keiner Instanz geöffnet ist.
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.

◆ repairBase() [2/2]

int glo::Base::repairBase ( const std::string & rstrBaseName,
CallBack * pProgressNotificationCallBack = NULL_PTR )

Es wird die Datenbank mit übergebener Bezeichnung repariert. Folgende Aktione werden durchgeführt:

  • Es wird für jede Klasse geprüft, ob alle Attributverzeichnisse existieren und wenn nicht vorhanden, werden diese angelegt.
  • Es wird jede Tabelle durchlaufen, und geprüft, ob ein Objekt in allen anderen notwendigen Tabellen eingetragen ist. Zerhacktstückte Objekte werden in den Tabellen wo sie fehlen, mit Defaultwerten nachgetragen.
  • Es werden alle Unique-Indexe auf Konsistenz geprüft. Wenn ein Indexeintrag doppelt vorkommt, wird dieser soweit geändet, dass er eindeutig ist.
  • Es werden alle Referenzen auf vorhandensein eines Objektes geprüft. Wenn eine Referenz auf ein nicht vorhandenes Objekt zeigt, wird die Referenz auf NULL_PTR gesetzt bzw. entfernt.
  • Es werden alle Reparaturen in ein Logfile eingetragen.
Parameter
[in]rstrBaseNameDie Bezeichnung der Datenbank, welche repariert werden sollen.
[in]pProgressNotificationCallBackWenn ein gültiger Zeiger auf ein Objekt übergeben, wird das Fortschreiten des Reparierens über eine Benachrichtigung an das CallBack-Objekt gesendet (sieh auch CallBack::notify(NotifyNote&) ).
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Zu beachten
Wenn ohne Fehler beendet, ist der Index neu erstellt worden.
Achtung
Das gewünschte wird nur gelingen, wenn die Datenbank von keiner Instanz geöffnet ist.
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.

◆ setBaseName()

int glo::Base::setBaseName ( const std::string & rstrBaseName)

Setzt die Bezeichnung der Datenbank.

Parameter
[in]rstrBaseNameDie Bezeichnung des Schemas bzw. der Datenbank.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an, z.B. wenn schon verbunden.

◆ setClientName()

int glo::Base::setClientName ( const std::string & rstrClientName)

Setzt einen Clientnamen.

Parameter
[in]rstrClientNameDer Clientname.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an, z.B. wenn schon verbunden.

◆ setCurrentObjectInAllSet()

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

Setzt den Iterator des AllSets in der geöffneten Datenbank auf das Objekt, welches die übergebene Objwekt-ID hat.

Parameter
[in]rObjIDDie Objekt-ID.
[in]rAllSetDer AllSet, dessen Iterator gesetzt werden soll.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ setDbIniName()

int glo::Base::setDbIniName ( const std::string & rstrDbIniName)

In der Regel werden die Einstellungen aus der DB.ini eingelesen. Siehe dazu GlobalObjects Initialisierungsdatei GlobalObjects "Initialisierungsdatei" im Handbuch.
Der Dateiname für die Einstellunge kann über diese Methode überschrieben werden. Das geht aber nur, wenn es noch keine Verbindung mit einer Datenbank gibt.

Parameter
[in]rstrDbIniNameDer Name der neuenh Initialisierungsdatei; z.B. "MeineDB.ini".
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Siehe auch

◆ setIndexFilter() [1/3]

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

Setzt einen Filter der die Ausgabe des übergebenen AllSets in Bezug auf die übergebenen Parameter steuert.

Parameter
[in]rAllSetDer AllSet, dessen Indexfilter gesetzt wird.
[in]rsIndexFilterDer Indexfilter kann die Platzhalter '*' und '?' enthalten, welche bei der Auswertung berücksichtigt werden.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Es muss im AllSet der IndexName gesetzt sein.
Indexe werden erst nach dem Öffnen des AllSets ermittelt.

◆ setIndexFilter() [2/3]

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

Setzt einen Filter der die Ausgabe des übergebenen AllSets in Bezug auf die übergebenen Parameter steuert. Es kann das Ergebnisse mittels des Parameters eComparisionOp definiert werden. Wenn z.B. Parameter sIndex den Wert "123" und Parameter eComparisionOp den Wert LESS hat, werden nur alle Objekte mit dem Index kleiner 123 geliefert.

Parameter
[in]rAllSetDer AllSet, dessen Indexfilter gesetzt wird.
[in]rsIndexFilterDer Indexfilter.
[in]eComparisionOpDer Vergleichsoperator. Wenn z.B. rsIndex den Wert "123" und eComparisionOp den Wert LESS hat, werden alle Objekte mit dem Index kleiner 123 geliefert.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Es werden ggf. vorhandene Platzhalter '*' und '?' im Parameter rsIndexSearchValue NICHT berücksichtigt.
Es muss im AllSet der IndexName gesetzt sein.
Indexe werden erst nach dem Öffnen des AllSets ermittelt.

◆ setIndexFilter() [3/3]

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

Setzt einen Filter der die Ausgabe des übergebenen AllSets in Bezug auf die übergebenen Parameter steuert. Es kann das Ergebnisse mittesl Bereichsangabe definiert werden. Wenn z.B. Parameter rsRangeStartIndexFilter den Wert "123" und Parameter rsRangeEndIndexFilter den Wert "155" hat, werden nur noch alle Objekte mit dem Index grösser/gleich 123 und kleiner/gleich 155 geliefert.

Parameter
[in]rAllSetDer AllSet, dessen Indexfilter gesetzt wird.
[in]rsRangeStartIndexFilterDer Start-Indexwert.
[in]rsRangeEndIndexFilterDer End-Indexwert.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Es werden ggf. vorhandene Platzhalter '*' und '?' im Parameter rsIndexSearchValue NICHT berücksichtigt.
Es muss im AllSet der IndexName gesetzt sein.
Indexe werden erst nach dem Öffnen des AllSets ermittelt.

◆ setKnownSchemes()

int glo::Base::setKnownSchemes ( const std::string & rstrKnownSchemes)

Setzt die Bezeichnungen der bekannten Datenbanken (z.B. "Name1|Name2").

Parameter
[in]rstrKnownSchemesDie Bezeichnungen der bekannten Datenbanken.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an, z.B. wenn schon verbunden.

◆ setPositionInAllSet()

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

Setzt den Iterator des AllSets in der geöffneten Datenbank auf die übergebene Position.

Parameter
[in]nPositionDie gewünschte Position.
[in]rAllSetDer AllSet, dessen Iterator gesetzt werden soll.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ setSchemaPath()

int glo::Base::setSchemaPath ( const std::string & rstrSchemaPath)

Setzt den Verzeichnispfad zur Datenbank.

Parameter
[in]rstrSchemaPathDer Verzeichnispfad zur Datenbank (z.B. "C:/Pfad/").
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an, z.B. wenn schon verbunden.

◆ setWatchClass()

int glo::Base::setWatchClass ( unsigned long ulClassID,
TdWatchNotifyMode ulWatchMode,
CallBack * pCallBack ) const

Der Allset der Klasse mit der übergebenen Klassen-ID und alle enthaltenen Objekte werden in der Datenbank überwacht.

Parameter
[in]ulClassIDDie Klassen-ID des AllSet.
[in]ulWatchModeDer Überwachungsmodus.
Erlaubte Überwachungsmodi:
[in]pCallBackDas CallBack-Objekt, welches über seine Methode. CallBack::notify(NotifyNote&) benachrichtigt wird.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Um die Überwachung aufzuheben sollte die korrespondierende Methode unsetWatchClass(unsigned long, TdWatchNotifyMode, CallBack*) const mit gleichen Parameterwerten genutzt werden.
Prinzipiell ist es möglich, einzelne Überwachungsmodi aufzuheben Es sollte dann darauf geachtet werden, dass alle einzelnen Überwachungsmodi auch angewendet werden, damit keine Überwachung im Speicher verbleibt bis das Programm beendet wird.
Achtung
Grundsätzlich darf pCallBack nicht zerstört werden, bevor die Überwachung aufgehoben wurde.
Siehe auch
Beobachten und benachrichtigen.

◆ setWatchClient()

int glo::Base::setWatchClient ( TdWatchNotifyMode ulWatchMode,
CallBack * pCallBack ) const

Es kann das An- und Abmelden an den GloServer und das Öffnen- und Schliessen einer Datenbank von Clients überwacht werden.

Parameter
[in]ulWatchModeDer Beobachtungsmodus.
Erlaubte Überwachungsmodi:
  • WNM_CLIENT_CONNECTSERVER = das Verbinden mit dem Server wird gemeldet
  • WNM_CLIENT_DISCONNECTSERVER = das Abbrechen der Verbindung mit dem Server wird gemeldet
  • WNM_CLIENT_OPENBASE = das Öffnen einer Datenbank wird gemeldet
  • WNM_CLIENT_CLOSEBASE = das Schließen einer Datenbank wird gemeldet
[in]pCallBackDas CallBack-Objekt, welches über seine Methode. CallBack::notify(NotifyNote&) benachrichtigt wird.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Zu beachten
Um die Überwachung aufzuheben sollte die korrespondierende Methode unsetWatchClient(TdWatchNotifyMode, CallBack*) const mit gleichen Parameterwerten genutzt werden.
Prinzipiell ist es möglich, einzelne Überwachungsmodi aufzuheben Es sollte dann darauf geachtet werden, dass alle einzelnen Überwachungsmodi auch angewendet werden, damit keine Überwachung im Speicher verbleibt bis das Programm beendet wird.
Achtung
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.
Grundsätzlich darf pCallBack nicht zerstört werden, bevor die Überwachungen zurückgenommen wurden!
Siehe auch
Beobachten und benachrichtigen.

◆ setWatchIndex()

int glo::Base::setWatchIndex ( TdWatchNotifyMode ulWatchMode,
CallBack * pCallBack ) const

Es wird das Lesen bzw. Schreiben oder das Reindizieren der Indizes der Datenbank überwacht.

Parameter
[in]ulWatchModeDer Beobachtungsmodus.
Erlaubte Überwachungsmodi:
  • WNM_INDEX_READ = der Fortschritt des Lesens des Index wird gemeldet
  • WNM_INDEX_WRITE = der Fortschritt des Schreiben des Index wird gemeldet
  • WNM_INDEX_REINDEX = der Fortschritt des Reindizieren eines Index wird gemeldet
[in]pCallBackDas CallBack-Objekt, welches über seine Methode. CallBack::notify(NotifyNote&) benachrichtigt wird.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Zu beachten
Um die Überwachung aufzuheben sollte die korrespondierende Methode unsetWatchIndex(TdWatchNotifyMode, CallBack*) const mit gleichen Parameterwerten genutzt werden.
Prinzipiell ist es möglich, einzelne Überwachungsmodi aufzuheben Es sollte dann darauf geachtet werden, dass alle einzelnen Überwachungsmodi auch angewendet werden, damit keine Überwachung im Speicher verbleibt bis das Programm beendet wird.
Achtung
Ohne vorheriges Verbinden (siehe auch Base::connect(CallBack*) ) scheitert die Methode.
Grundsätzlich darf pCallBack nicht zerstört werden, bevor die Überwachungen zurückgenommen wurden!
Siehe auch
Beobachten und benachrichtigen.

◆ setWatchLot()

int glo::Base::setWatchLot ( const BaseLot & rObjIdLot,
TdWatchNotifyMode ulWatchMode,
EnDeepMode eDeepMode,
CallBack * pCallBack ) const

Die Objekte im übergebenen Kontainer werden in der Datenbank überwacht.

Parameter
[in]rObjIdLotDer Kontainer mit den zu überwachenden Objekten.
[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.
Zu beachten
Um die Überwachung aufzuheben sollte die korrespondierende Methode unsetWatchSet(const BaseLot&, TdWatchNotifyMode, EnDeepMode, CallBack*) const mit gleichen Parameterwerten genutzt werden.
Prinzipiell ist es möglich, einzelne Überwachungsmodi aufzuheben Es sollte dann darauf geachtet werden, dass alle einzelnen Überwachungsmodi auch angewendet werden, damit keine Überwachung im Speicher verbleibt bis das Programm beendet wird.
Achtung
Grundsätzlich darf pCallBack nicht zerstört werden, bevor die Überwachung aufgehoben wurde.
Siehe auch
Beobachten und benachrichtigen.

◆ setWatchObject()

int glo::Base::setWatchObject ( const ObjID & rObjId,
TdWatchNotifyMode ulWatchMode,
EnDeepMode eDeepMode,
CallBack * pCallBack ) const

Das Objekt mit übergebener Objekt-ID wird in der Datenbank überwacht.

Parameter
[in]rObjIdDie Objekt-Id des zu überwachenden 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.
Zu beachten
Um die Überwachung aufzuheben sollte die korrespondierende Methode unsetWatchObject(const ObjID&, TdWatchNotifyMode, EnDeepMode, CallBack*) const mit gleichen Parameterwerten genutzt werden.
Prinzipiell ist es möglich, einzelne Überwachungsmodi aufzuheben Es sollte dann darauf geachtet werden, dass alle einzelnen Überwachungsmodi auch angewendet werden, damit keine Überwachung im Speicher verbleibt bis das Programm beendet wird.
Achtung
Grundsätzlich darf pCallBack nicht zerstört werden, bevor die Überwachung aufgehoben wurde.
Siehe auch
Beobachten und benachrichtigen.

◆ setWatchServer()

int glo::Base::setWatchServer ( CallBack * pCallBack) const

Wenn eine Verbindung zu einem GloServer besteht, wird ein unvorhergesehener Verbindungsabbruch überwacht.

Parameter
[in]pCallBackDas CallBack-Objekt, welches über seine Methode. CallBack::notify(NotifyNote&) benachrichtigt wird.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Zu beachten
Um die Überwachung aufzuheben, kann ein NULL_PTR übergeben werden. Die Überwachung wird automatisch bei einem Base::disconnect() beendet.
Achtung
Ohne vorheriges Verbinden (siehe auch Base::connect(CallBack*) ) scheitert die Methode.
Grundsätzlich darf pCallBack nicht zerstört werden, bevor die Überwachungen zurückgenommen wurden!
Siehe auch
Beobachten und benachrichtigen.

◆ storeObject()

int glo::Base::storeObject ( BasePersistent * pObject,
EnDeepMode eDeepMode ) const

Speichert übergebenes persistente Objekt in der Datenbank.

Parameter
[in]pObjectEin Zeiger auf das zu speichernde Objekt.
[in]eDeepModeDer Speichertiefenmodus.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Das zu speichernde Objekt muss zumindest schon an die Datenbank angemeldet sein (siehe Base::assignObject (...) ).

◆ unlockLot()

int glo::Base::unlockLot ( const BaseLot & rObjIdLot,
EnLockMode eLockMode,
EnDeepMode eDeepMode ) const

Die Objekte im übergebenen Kontainer werden in der Datenbank nach einer Sperre wieder freigegeben. Eine Sperrfreigabe muss mit den gleichen Parametern wie die vorherige Sperre aufgerufen werden.

Parameter
[in]rObjIdLotDer Kontainer mit den freizugebenden Objekten.
[in]eLockModeDer ursprüngliche Sperrmodus.
[in]eDeepModeDer ursprüngliche Sperrtiefenmodus.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Zu beachten
Hebt die Sperre auf, die durch die korrespondierende Methode lockLot(const BaseLot&, EnLockMode, EnDeepMode) initiiert wurde, wenn die Parameter die selben Werte haben.
Siehe auch
Mehrere persistente Objekte sperren.

◆ unlockObject()

int glo::Base::unlockObject ( const ObjID & rObjId,
EnLockMode eLockMode,
EnDeepMode eDeepMode ) const

Das Objekt mit der übergebenen Objekt-ID wird in der Datenbank nach einer Sperre wieder freigegeben. Eine Sperrfreigabe muss mit den gleichen Parametern wie die vorherige Sperre aufgerufen werden.

Parameter
[in]rObjIdDie Objekt-ID des freizugebenden Objekts.
[in]eLockModeDer ursprüngliche Sperrmodus.
[in]eDeepModeDer ursprüngliche Sperrtiefenmodus.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Zu beachten
Hebt die Sperre auf, die durch die korrespondierende Methode lockObject(const ObjID&, EnLockMode, EnDeepMode) initiiert wurde, wenn die Parameter die selben Werte haben.
Siehe auch
Ein persistentes Objekt sperren.

◆ unlockObjIdList()

int glo::Base::unlockObjIdList ( std::list< ObjID > * pObjIDList,
EnLockMode eLockMode,
EnDeepMode eDeepMode ) const

Die Objekte mit übergebenen Objekt-IDs werden in der Datenbank nach einer Sperre wieder freigegeben. Eine Sperrfreigabe muss mit den gleichen Parametern wie die vorherige Sperre aufgerufen werden.

Parameter
[in]pObjIDListDie Liste mit den Objekt-IDs der freizugebenden Objekte.
[in]eLockModeDer ursprüngliche Sperrmodus.
[in]eDeepModeDer ursprüngliche Sperrtiefenmodus.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Zu beachten
Hebt die Sperre auf, die durch die korrespondierende Methode lockObjIdList(std::list<ObjID>*, EnLockMode, EnDeepMode) initiiert wurde, wenn die Parameter die selben Werte haben.
Siehe auch
Mehrere persistente Objekte sperren.

◆ unsetWatchClass()

int glo::Base::unsetWatchClass ( unsigned long ulClassID,
TdWatchNotifyMode ulWatchMode,
CallBack * pCallBack ) const

Die Überwachung des Allset der Klasse mit der übergebenen Klassen-ID und aller enthaltenen Objekte wird in der Datenbank beendet. Eine Überwachungsbeendigung sollte mit den gleichen Parametern wie die vorherige Überwachung aufgerufen werden.

Parameter
[in]ulClassIDDie Klassen-ID des AllSet.
[in]ulWatchModeDer ursprüngliche Überwachungsmodus.
Erlaubte Überwachungsmodi:
[in]pCallBackDas CallBack-Objekt, welches über seine Methode. CallBack::notify(NotifyNote&) benachrichtigt wurde.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Hebt die Überwachung auf, die durch die korrespondierende Methode setWatchClass(unsigned long, TdWatchNotifyMode, CallBack*) const initiiert wurde, wenn die Parameter die selben Werte haben.
Prinzipiell ist es möglich, einzelne Überwachungsmodi aufzuheben Es sollte dann darauf geachtet werden, dass alle einzelnen Überwachungsmodi auch angewendet werden, damit keine Überwachung im Speicher verbleibt bis das Programm beendet wird.
Siehe auch
Beobachten und benachrichtigen.

◆ unsetWatchClient()

int glo::Base::unsetWatchClient ( TdWatchNotifyMode ulWatchMode,
CallBack * pCallBack ) const

Es kann die Überwachung des An- und Abmelden an den GloServer und Öffnens- und Schliessens einer Datenbank eines Clients beendet werden. Eine Überwachungsbeendigung sollte mit den gleichen Parametern wie die vorherige Überwachung aufgerufen werden.

Parameter
[in]ulWatchModeDer ursprüngliche Beobachtungsmodus.
Erlaubte Überwachungsmodi:
  • WNM_CLIENT_CONNECTSERVER = das Verbinden mit dem Server wird gemeldet
  • WNM_CLIENT_DISCONNECTSERVER = das Abbrechen der Verbindung mit dem Server wird gemeldet
  • WNM_CLIENT_OPENBASE = das Öffnen einer Datenbank wird gemeldet
  • WNM_CLIENT_CLOSEBASE = das Schließen einer Datenbank wird gemeldet
[in]pCallBackDas CallBack-Objekt, welches über seine Methode. CallBack::notify(NotifyNote&) benachrichtigt wurde.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Zu beachten
Hebt die Überwachung auf, die durch die korrespondierende Methode setWatchClient(TdWatchNotifyMode, CallBack*) const initiiert wurde, wenn die Parameter die selben Werte haben.
Prinzipiell ist es möglich, einzelne Überwachungsmodi aufzuheben Es sollte dann darauf geachtet werden, dass alle einzelnen Überwachungsmodi auch angewendet werden, damit keine Überwachung im Speicher verbleibt bis das Programm beendet wird.
Siehe auch
Beobachten und benachrichtigen.

◆ unsetWatchIndex()

int glo::Base::unsetWatchIndex ( TdWatchNotifyMode ulWatchMode,
CallBack * pCallBack ) const

Es wird die Überwachung des Lesens bzw. Schreibens oder des Reindizierens der Indizes der Datenbank beendet. Eine Überwachungsbeendigung sollte mit den gleichen Parametern wie die vorherige Überwachung aufgerufen werden.

Parameter
[in]ulWatchModeDer ursprüngliche Beobachtungsmodus.
Erlaubte Überwachungsmodi:
  • WNM_INDEX_READ = der Fortschritt des Lesens des Index wird gemeldet
  • WNM_INDEX_WRITE = der Fortschritt des Schreiben des Index wird gemeldet
  • WNM_INDEX_REINDEX = der Fortschritt des Reindizieren eines Index wird gemeldet
[in]pCallBackDas CallBack-Objekt, welches über seine Methode. CallBack::notify(NotifyNote&) benachrichtigt wurde.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Hebt die Überwachung auf, die durch die korrespondierende Methode setWatchIndex(TdWatchNotifyMode, CallBack*) const initiiert wurde, wenn die Parameter die selben Werte haben.
Prinzipiell ist es möglich, einzelne Überwachungsmodi aufzuheben Es sollte dann darauf geachtet werden, dass alle einzelnen Überwachungsmodi auch angewendet werden, damit keine Überwachung im Speicher verbleibt bis das Programm beendet wird.
Siehe auch
Beobachten und benachrichtigen.

◆ unsetWatchLot()

int glo::Base::unsetWatchLot ( const BaseLot & rObjIdLot,
TdWatchNotifyMode ulWatchMode,
EnDeepMode eDeepMode,
CallBack * pCallBack ) const

Die Überwachung der Objekte im übergebenen Kontainer wird in der Datenbank beendet. Eine Überwachungsbeendigung sollte mit den gleichen Parametern wie die vorherige Überwachung aufgerufen werden.

Parameter
[in]rObjIdLotDer Kontainer mit den überwachten Objekten.
[in]ulWatchModeDer ursprüngliche Überwachungsmodus.
Erlaubte Überwachungsmodi:
[in]eDeepModeDer ursprüngliche Überwachungstiefenmodus.
[in]pCallBackDas CallBack-Objekt, welches über seine Methode. CallBack::notify(NotifyNote&) benachrichtigt wurde.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Hebt die Überwachung auf, die durch die korrespondierende Methode setWatchLot(const BaseLot&, TdWatchNotifyMode, EnDeepMode, CallBack*) const initiiert wurde, wenn die Parameter die selben Werte haben.
Prinzipiell ist es möglich, einzelne Überwachungsmodi aufzuheben Es sollte dann darauf geachtet werden, dass alle einzelnen Überwachungsmodi auch angewendet werden, damit keine Überwachung im Speicher verbleibt bis das Programm beendet wird.
Siehe auch
Beobachten und benachrichtigen.

◆ unsetWatchObject()

int glo::Base::unsetWatchObject ( const ObjID & rObjId,
TdWatchNotifyMode ulWatchMode,
EnDeepMode eDeepMode,
CallBack * pCallBack ) const

Die Überwachung des Objekts mit übergebener Objekt-ID wird in der Datenbank beendet. Eine Überwachungsbeendigung sollte mit den gleichen Parametern wie die vorherige Überwachung aufgerufen werden.

Parameter
[in]rObjIdDie Objekt-Id des überwachten Objekts.
[in]ulWatchModeDer ursprüngliche Überwachungsmodus.
Erlaubte Überwachungsmodi:
[in]eDeepModeDer ursprüngliche Überwachungstiefenmodus.
[in]pCallBackDas CallBack-Objekt, welches über seine Methode. CallBack::notify(NotifyNote&) benachrichtigt wurde.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Hebt die Überwachung auf, die durch die korrespondierende Methode setWatchObject(const ObjID&, TdWatchNotifyMode, EnDeepMode, CallBack*) const initiiert wurde, wenn die Parameter die selben Werte haben.
Prinzipiell ist es möglich, einzelne Überwachungsmodi aufzuheben Es sollte dann darauf geachtet werden, dass alle einzelnen Überwachungsmodi auch angewendet werden, damit keine Überwachung im Speicher verbleibt bis das Programm beendet wird.
Siehe auch
Beobachten und benachrichtigen.

Freundbeziehungen und Funktionsdokumentation

◆ EmbeddedRecordAttribute

friend class EmbeddedRecordAttribute
friend

◆ ObjectMaker

friend class ObjectMaker
friend

◆ Persistent

friend class Persistent
friend

Dokumentation der Datenelemente

◆ m_LocalCriticalSection

eut::CriticalSection glo::Base::m_LocalCriticalSection
private

Damit mehrere Threads auf die Methoden dieser Klasse zugreifen können, ohne daß es zu einer Koalision kommt, wird der Zugriff mit dieser CriticalSection synchronisiert.

◆ m_spPrivateBase

std::shared_ptr<PrivateBase> glo::Base::m_spPrivateBase
private

Die Klasse im Hintergrund mit den nichtöffendlichen Funktionen.


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