GlobalObjects
Lade ...
Suche ...
Keine Treffer
glo::Manager::SchemaMapItem Klassenreferenz

Objekte dieser Klasse repräsentieren eine geöffnete Datenbank. Es gibt für jede geöffnete Datenbank ein Objekt dieser Klasse. Mehr ...

#include <GloManager.h>

Öffentliche Methoden

 SchemaMapItem (SchemaInterface *pSchema, RealIndexPool *pRealIndexPool, std::ofstream *pLockFile)
 
 ~SchemaMapItem ()
 
unsigned int Counter () const
 
void decrementCounter ()
 
SchemaInterfacegetSchema () const
 
TableWriterInterfacegetTableWriterInterface () const
 
void incrementCounter ()
 

Geschützte Methoden

 SchemaMapItem ()
 

Private Methoden

 SchemaMapItem (const SchemaMapItem &)
 
Manager::SchemaMapItemoperator= (const SchemaMapItem &)
 

Private Attribute

std::ofstream * m_pLockFile
 
SchemaInterfacem_pSchema
 
TableWriterInterfacem_pTableWriterInterface
 
unsigned int m_uiCounter
 

Ausführliche Beschreibung

Objekte dieser Klasse repräsentieren eine geöffnete Datenbank. Es gibt für jede geöffnete Datenbank ein Objekt dieser Klasse.

Autor
Helmut Jakoby

Beschreibung der Konstruktoren und Destruktoren

◆ SchemaMapItem() [1/3]

glo::Manager::SchemaMapItem::SchemaMapItem ( )
protected

Der Standard-Konstruktor steht nicht zur Verfügung.

◆ SchemaMapItem() [2/3]

glo::Manager::SchemaMapItem::SchemaMapItem ( SchemaInterface * pSchema,
RealIndexPool * pRealIndexPool,
std::ofstream * pLockFile )

Konstruktor mit Parameterübergabe.

Parameter
[in]pSchemaDas SchemaInterface weiss wie Objekte und Datensätze zusammenhängen.
[in]pRealIndexPoolEs gibt für die geöffnete Datenbank eine realen Index aller persistenten Objekte.
[in]pLockFileDamit die Datenbank nur einmalig geöffnet wird, wird ein Lock-File mit Exclusiv-Zugriff angelegt und hier übergeben. Ein zweites Öffnen der Datenbank soll damit verhindert werden.
Achtung
Das übergebene SchemaInterface sowie das übergebene Lock-File gehen in den Besitz dieses Objekts über, dürfen ergo von übergender Instanz nicht aus dem Speicher entfernt werden, dieses erledigt diese Instanz.

◆ ~SchemaMapItem()

glo::Manager::SchemaMapItem::~SchemaMapItem ( )

Destruktor. Schließt das Lock-File aus m_pLockFile und räumt den Speicher auf.

◆ SchemaMapItem() [3/3]

glo::Manager::SchemaMapItem::SchemaMapItem ( const SchemaMapItem & )
private

Der Copy-Konstruktor steht niccht zur Verfügung.

Dokumentation der Elementfunktionen

◆ Counter()

unsigned int glo::Manager::SchemaMapItem::Counter ( ) const

Liefert den Refernzzähler.

Rückgabe
Der Refernzzähler m_uiCounter.

◆ decrementCounter()

void glo::Manager::SchemaMapItem::decrementCounter ( )

Dekrementiert den Refernzzähler.

◆ getSchema()

SchemaInterface * glo::Manager::SchemaMapItem::getSchema ( ) const

Liefert das SchemaInterface.

Rückgabe
Das SchemaInterface.
Achtung
Die aufrufende Instanz darf das gelieferte Objekt nicht aus dem Speicher entfernen. Es lebt nur so lange wie dieses Objekt.

◆ getTableWriterInterface()

TableWriterInterface * glo::Manager::SchemaMapItem::getTableWriterInterface ( ) const

Liefert den Tabellen-Schreiber.

Rückgabe
Der Tabellen-Schreiber.
Achtung
Die aufrufende Instanz darf das gelieferte Objekt nicht aus dem Speicher entfernen. Es lebt nur so lange wie dieses Objekt.

◆ incrementCounter()

void glo::Manager::SchemaMapItem::incrementCounter ( )

Inkrementiert den Refernzzähler.

◆ operator=()

Manager::SchemaMapItem & glo::Manager::SchemaMapItem::operator= ( const SchemaMapItem & )
private

Der Zuweisungsoperator steht nicht zur Verfügung.

Dokumentation der Datenelemente

◆ m_pLockFile

std::ofstream* glo::Manager::SchemaMapItem::m_pLockFile
private

Damit die Datenbank nur einmalig geöffnet wird, wird ein Lock-File mit Exclusiv-Zugriff angelegt. Ein zweites Öffnen der Datenbank soll damit verhindert werden.

◆ m_pSchema

SchemaInterface* glo::Manager::SchemaMapItem::m_pSchema
private

Das Schema.

◆ m_pTableWriterInterface

TableWriterInterface* glo::Manager::SchemaMapItem::m_pTableWriterInterface
private

Der Tabellen-Schreiber für die geöffnete Datenbank.

◆ m_uiCounter

unsigned int glo::Manager::SchemaMapItem::m_uiCounter
private

Ein Refernzzähler um ein mehrfaches Öffnen einer Datenbank zu verhindern. Erst beim letzten Schliessen der Datenbank wird durch den Refernzzähler == 0 die Datenbank wirklich geschlossen.


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