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

Klasse um die CallBack-Objekte im Speicher im Zugriff zu haben. Mehr ...

#include <GloCallBackSpy.h>

Öffentliche Methoden

CallBackgetCallBack (EnSeekMode eMode)
 
CallBackgetCallBack (NUM_PTR ipAddress)
 

Öffentliche, statische Methoden

static void create (CallBackSpy *&prInstance)
 
static int destroy ()
 

Geschützte Methoden

 CallBackSpy ()
 
virtual ~CallBackSpy ()
 
int insertCallBack (const CallBack *pCallBack)
 
int removeCallBack (const CallBack *pCallBack)
 

Statische, geschützte Attribute

static int ms_iReferenceCounter
 
static CallBackSpyms_pInstance
 

Private Methoden

 CallBackSpy (const CallBackSpy &)
 
CallBackSpyoperator= (const CallBackSpy &)
 

Private Attribute

eut::CriticalSection m_CallBackListCriticalSection
 
std::unordered_map< NUM_PTR, CallBack * > m_List
 
std::unordered_map< NUM_PTR, CallBack * >::iterator m_ListIterator
 

Freundbeziehungen

class CallBack
 

Ausführliche Beschreibung

Klasse um die CallBack-Objekte im Speicher im Zugriff zu haben.

Hier melden sich alle CallBack-Objekte automatisch an.

Es darf nur ein Objekt dieser Klasse geben (Singleton class).

Autor
Helmut Jakoby

Beschreibung der Konstruktoren und Destruktoren

◆ CallBackSpy() [1/2]

glo::CallBackSpy::CallBackSpy ( )
protected

Der Standard-Konstruktor steht nicht zur Verfügung. Eine Instanz bekommt man über CallBackSpy::create(CallBackSpy*&) .

◆ ~CallBackSpy()

virtual glo::CallBackSpy::~CallBackSpy ( )
protectedvirtual

Der Destruktor steht nicht zur Verfügung. Ein DebugClassSpy-Objekt darf nur über CallBackSpy::destroy() aus dem Speicher entfernt werden.

◆ CallBackSpy() [2/2]

glo::CallBackSpy::CallBackSpy ( const CallBackSpy & )
private

Der Copy-Konstruktor steht nicht zur Verfügung.

Dokumentation der Elementfunktionen

◆ create()

static void glo::CallBackSpy::create ( CallBackSpy *& prInstance)
static

Instanziierungsfunktion. Da es sich bei CallBackSpy um eine Singleton-Class handelt, wird diese von dieser Methode einmalig instanziiert und dann nur noch der Pointer auf die Instanz geliefert.

Parameter
[in,out]prInstanceDie einzige Instanz dieser Klasse.
Achtung
Die gelieferte Instanz muss mit CallBackSpy::destroy() aus dem Speicher entfernt werden.

◆ destroy()

static int glo::CallBackSpy::destroy ( )
static

Wenn die aufrufende Instanz die letzte mit einer Referenz auf die einzige Instanz von CallBackSpy ist, wird diese Instanz aus dem Speicher entfernt.

Rückgabe
Rückgabe ist die Anzahl der Noch-Referenzen auf diese Instanz.

◆ getCallBack() [1/2]

CallBack * glo::CallBackSpy::getCallBack ( EnSeekMode eMode)

Liefert ein CallBack-Objekt aus der Liste der CallBack-Objekte in Bezug auf eMode.

Parameter
[in]eModeDer Suchmodus

Parameterbeispiele:

Rückgabe
Das CallBack-Objekt, wenn gefunden; ansonsten 0.
Achtung
Die aufrufende Instanz darf das gelieferte Objekt nicht aus dem Speicher entfernen.

◆ getCallBack() [2/2]

CallBack * glo::CallBackSpy::getCallBack ( NUM_PTR ipAddress)

Liefert einen Zeiger auf ein CallBack-Objekt aus der Liste der CallBack-Objekte, welches die übergebene Adresse im Speicher hat.

Parameter
[in]ipAddressDie Speicheradresse.
Rückgabe
Der Zeiger auf das CallBack-Objekt, wenn gefunden; ansonsten NULL_PTR.
Achtung
Die aufrufende Instanz darf das gelieferte Objekt nicht aus dem Speicher entfernen.

◆ insertCallBack()

int glo::CallBackSpy::insertCallBack ( const CallBack * pCallBack)
protected

Fügt ein CallBack-Objekt in die Liste der CallBack-Objekte ein.

Parameter
[in]pCallBackDas einzufügende CallBack-Objekt.

◆ operator=()

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

Der Zuweisungsoperator steht nicht zur Verfügung.

◆ removeCallBack()

int glo::CallBackSpy::removeCallBack ( const CallBack * pCallBack)
protected

Entfernt ein CallBack-Objekt aus der Liste der CallBack-Objekte.

Parameter
[in]pCallBackDas zu entfernende CallBack-Objekt.

Freundbeziehungen und Funktionsdokumentation

◆ CallBack

friend class CallBack
friend

Dokumentation der Datenelemente

◆ m_CallBackListCriticalSection

eut::CriticalSection glo::CallBackSpy::m_CallBackListCriticalSection
private

Um einen Thread-sicheren Zugriff auf die Liste der CallBack-Objekte zu haben, wird über diese lokale CriticalSection der Zugriff synchronisiert.

◆ m_List

std::unordered_map< NUM_PTR, CallBack * > glo::CallBackSpy::m_List
private

Die Liste der CallBack-Objekte. Der Index ist die, auf NUM_PTR gecastete, Adresse der einzelnen Objekte.

◆ m_ListIterator

std::unordered_map<NUM_PTR,CallBack*>::iterator glo::CallBackSpy::m_ListIterator
private

Ein interner Iterator auf die Liste der CallBack-Objekte.

◆ ms_iReferenceCounter

int glo::CallBackSpy::ms_iReferenceCounter
staticprotected

Der Referenzzähler auf die einzige Instanz dieser Klasse.

◆ ms_pInstance

CallBackSpy* glo::CallBackSpy::ms_pInstance
staticprotected

Die einzige Instanz dieser Klasse.


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