GlobalObjects
|
Klasse zum Zugriff auf die geöffneten Datenbanken. Mehr ...
#include <GloOpenedDatabases.h>
Öffentliche Methoden | |
Base * | getDataBase (unsigned long ulDatabaseID) |
Öffentliche, statische Methoden | |
static void | create (OpenedDatabases *&prInstance) |
static int | destroy () |
Geschützte Methoden | |
OpenedDatabases () | |
virtual | ~OpenedDatabases () |
int | insertDataBase (const Base *pDatabase) |
int | removeDataBase (unsigned long ulDatabaseID) |
Statische, geschützte Attribute | |
static int | ms_iReferenceCounter |
static OpenedDatabases * | ms_pInstance |
Private Methoden | |
OpenedDatabases (const OpenedDatabases &) | |
OpenedDatabases & | operator= (const OpenedDatabases &) |
Private Attribute | |
std::unordered_map< unsigned long, Base * > | m_BaseContainer |
eut::CriticalSection | m_CallBackListCriticalSection |
Freundbeziehungen | |
class | Base |
Klasse zum Zugriff auf die geöffneten Datenbanken.
Hier melden sich alle Datenbanken beim Öffnen an und beim Schließen automatisch wieder ab.
Es kann nur ein Objekt dieser Klasse geben (Singleton-Klasse).
|
protected |
Der Standard-Konstruktor steht nicht zur Verfügung. Eine Instanz bekommt man über OpenedDatabases::create(OpenedDatabases*&) .
|
protectedvirtual |
Der Destruktor steht nicht zur Verfügung. Ein DebugClassSpy-Objekt darf nur über OpenedDatabases::destroy() aus dem Speicher entfernt werden.
|
private |
Der Copy-Konstruktor steht nicht zur Verfügung.
|
static |
Instanziierungsfunktion. Da es sich bei OpenedDatabases um eine Singleton-Class handelt, wird diese von dieser Methode einmalig instanziiert und dann nur noch der Pointer auf die Instanz geliefert.
[in,out] | prInstance | Die einzige Instanz dieser Klasse. |
|
static |
Wenn die aufrufende Instanz die letzte mit einer Referenz auf die einzige Instanz von OpenedDatabases ist, wird diese Instanz aus dem Speicher entfernt.
Base * glo::OpenedDatabases::getDataBase | ( | unsigned long | ulDatabaseID | ) |
Liefert ein Datenbankobjekt aus der Liste der Datenbankobjekte in Bezug auf die Datenbank-ID.
|
protected |
Fügt ein Datenbankobjekt in die Liste der Datenbankobjekte ein.
[in] | pDatabase | Das einzufügende Datenbankobjekt. |
|
private |
Der Zuweisungsoperator steht nicht zur Verfügung.
|
protected |
Entfernt ein Datenbankobjekt aus der Liste der Datenbankobjekt.
[in] | ulDatabaseID | Die Datenbank-ID der zu entfernenden Datenbankobjekt. |
|
friend |
|
private |
Der Container der Datenbank-Objekte. Der Index ist die Base-ID.
|
private |
Um einen Thread-sicheren Zugriff auf die Liste der Datenbank-Objekte zu haben, wird über diese lokale CriticalSection der Zugriff synchronisiert.
|
staticprotected |
Der Referenzzähler auf die einzige Instanz dieser Klasse.
|
staticprotected |
Die einzige Instanz dieser Klasse.