GlobalObjects
|
Klasse um die generischen persistente Objekte einer Datenbank im Speicher im Zugriff zu haben. Mehr ...
#include <GloGenPersObjectSpy.h>
Öffentliche Methoden | |
GenPersObjectSpy () | |
virtual | ~GenPersObjectSpy () |
GenericPersistent * | getPersistentObject (const ObjID &rGloObjID) |
GenericPersistent * | getPersistentObject (EnSeekMode eMode) |
int | getPersistentObject (GenericPersistent *&prRetVal, const ObjID &rGloObjID) |
int | getPersistentObject (GenericPersistent *&prRetVal, EnSeekMode eMode) |
int | getPersistentObject (std::shared_ptr< GenericPersistent > &rRetVal, const ObjID &rGloObjID) |
int | getPersistentObject (std::shared_ptr< GenericPersistent > &rRetVal, EnSeekMode eMode) |
int | insertPersistentObject (const GenericPersistent *pPersObject) |
int | removePersistentObject (const GenericPersistent *pPersObject) |
std::size_t | sizeOfPersObjectList () const |
Private Methoden | |
GenPersObjectSpy (const GenPersObjectSpy &) | |
GenPersObjectSpy & | operator= (const GenPersObjectSpy &) |
Private Attribute | |
eut::CriticalSection | m_LocalCriticalSection |
std::unordered_map< unsigned long, GenericPersistent * > | m_PersObjectList |
std::unordered_map< unsignedlong, GenericPersistent * >::iterator | m_PersObjectListIterator |
Freundbeziehungen | |
class | GenericPersistent |
Klasse um die generischen persistente Objekte einer Datenbank im Speicher im Zugriff zu haben.
Hier melden sich alle generischen persistenten Objekte einer Datenbank automatisch an.
glo::GenPersObjectSpy::GenPersObjectSpy | ( | ) |
Standard-Konstruktor.
|
virtual |
Destruktor.
|
private |
Der Copy-Konstruktor steht nicht zur Verfügung.
GenericPersistent * glo::GenPersObjectSpy::getPersistentObject | ( | const ObjID & | rGloObjID | ) |
Liefert einen Zeiger auf ein generisches persistentes Objekt aus der Liste der generischen persistenten Objekte, welches die übergebene Objekt-ID hat.
[in] | rGloObjID | Die Objekt-ID. |
GenericPersistent * glo::GenPersObjectSpy::getPersistentObject | ( | EnSeekMode | eMode | ) |
Liefert ein generisches persistentes Objekt aus der Liste der generischen persistenten Objekte in Bezug auf eMode.
[in] | eMode | Der Suchmodus |
Parameterbeispiele:
int glo::GenPersObjectSpy::getPersistentObject | ( | GenericPersistent *& | prRetVal, |
const ObjID & | rGloObjID ) |
Liefert ein generisches persistentes Objekt mit übergebener Objekt-ID aus der Liste der generischen persistenten Objekte.
[in,out] | prRetVal | Bei keinem Fehler der Zeiger auf das geholte Objekt. |
[in] | rGloObjID | Die Objekt-ID. |
int glo::GenPersObjectSpy::getPersistentObject | ( | GenericPersistent *& | prRetVal, |
EnSeekMode | eMode ) |
Liefert ein generisches persistentes Objekt aus der Liste der generischen persistenten Objekte in Bezug auf eMode.
[in,out] | prRetVal | Bei keinem Fehler der Zeiger auf das geholte Objekt. |
[in] | eMode | Der Suchmodus |
Parameterbeispiele:
int glo::GenPersObjectSpy::getPersistentObject | ( | std::shared_ptr< GenericPersistent > & | rRetVal, |
const ObjID & | rGloObjID ) |
Liefert ein generisches persistentes Objekt mit eine bestimmten Objekt-ID aus der Liste der generischen persistenten Objekte.
[in,out] | rRetVal | Bei keinem Fehler der std::shared_ptr auf das geholte Objekt. |
[in] | rGloObjID | Die Objekt-ID. |
int glo::GenPersObjectSpy::getPersistentObject | ( | std::shared_ptr< GenericPersistent > & | rRetVal, |
EnSeekMode | eMode ) |
Liefert ein generisches persistentes Objekt aus der Liste der generischen persistenten Objekte in Bezug auf eMode.
[in,out] | rRetVal | Bei keinem Fehler der intelligente Zeiger auf das geholte Objekt. |
[in] | eMode | Der Suchmodus. |
Parameterbeispiele:
int glo::GenPersObjectSpy::insertPersistentObject | ( | const GenericPersistent * | pPersObject | ) |
Fügt ein generisches persistentes Objekt in die Liste der generischen persistenten Objekte ein.
[in] | pPersObject | Das einzufügende generische persistente Objekt. |
|
private |
Der Zuweisungsoperator steht nicht zur Verfügung.
int glo::GenPersObjectSpy::removePersistentObject | ( | const GenericPersistent * | pPersObject | ) |
Entfernt ein generisches persistentes Objekt aus der Liste der generischen persistenten Objekte.
[in] | pPersObject | Das zu entfernende generische persistente Objekt. |
std::size_t glo::GenPersObjectSpy::sizeOfPersObjectList | ( | ) | const |
Liefert die Anzahl der Einträge in m_PersObjectList.
|
friend |
|
private |
Um einen Thread-sicheren Zugriff auf die Liste der generischen persistenten Objekte zu haben, wird über diese lokale CriticalSection der Zugriff synchronisiert.
|
private |
Die Liste der generischen persistenten Objekte. Der Index ist ObjID::m_ulObjCounter der Objekt-ID der einzelnen Objekte.
Da der ObjID::m_ulObjCounter in einer Datenbank eindeutig ist, ist die gesamte Objekt-ID als Index nicht notwendig.
|
private |
Ein interner Iterator auf die Liste der generischen persistenten Objekte.