EventSignalBase-Klasse
Clients können eine Verbindung mit dem Ereignissignal herstellen, um Ereignisse zu empfangen, oder die Verbindung mit dem Ereignissignal trennen, um den Empfang von Ereignissen zu beenden.
Zur Bauzeit können Verbindungs- und Verbindungsrückrufe bereitgestellt werden, die aufgerufen werden, wenn sich die Anzahl der verbundenen Clients von 1 auf 1 bzw. 1 zu 0 ändert.
Member
EventSignalBase
Syntax: public inline EventSignalBase ( );
Erstellt ein Ereignissignal mit leeren Verbindungs- und Trennungsaktionen.
~EventSignalBase
Syntax: public inline virtual ~EventSignalBase ( );
Destruktor.
Registercallback
Syntax: public inline CallbackToken RegisterCallback ( CallbackFunction callback );
Registriert einen Rückruf für diese EventSignalBase und weist ihr ein eindeutiges Token zu.
Parameter
-
callback
Der zu registrierende Rückruf.
Gibt zurück
Das neue Token, das dieser Registrierung zugeordnet ist und für die nachfolgende Aufhebung der Registrierung verwendet werden kann.
Aufheben der RegistrierungCallback
Syntax: public inline bool UnregisterCallback ( CallbackToken token );
Falls vorhanden, hebt die Registrierung eines Rückrufs aus dieser EventSource auf, der dem bereitgestellten Token zugeordnet ist. Token werden zum Zeitpunkt der Registrierung von RegisterCallback zurückgegeben.
Parameter
-
token
Das Token, das dem zu entfernenden Rückruf zugeordnet ist. Dieses Token wird durch den Rückgabewert von RegisterCallback zum Zeitpunkt der Registrierung bereitgestellt.
Gibt zurück
Ein Wert, der angibt, ob ein Rückruf als Reaktion auf diese Anforderung nicht registriert wurde.
Operator()
Syntax: public inline void operator() ( T t );
Funktionsaufrufoperator. Signalisiert das Ereignis mit den angegebenen Argumenten t an verbundene Clients, siehe auch Signal.
Parameter
-
t
Zu signalisierende Ereignisargumente.
Aufheben der RegistrierungAllCallbacks
Syntax: public inline void UnregisterAllCallbacks ( );
Hebt die Registrierung aller registrierten Rückrufe auf.
Signal
Syntax: public inline void Signal ( T t );
Signalisiert das Ereignis mit den angegebenen Argumenten t an alle verbundenen Rückrufe.
Parameter
-
t
Zu signalisierende Ereignisargumente.
Isconnected
Syntax: public inline bool IsConnected ( ) const;
Überprüft, ob ein Rückruf verbunden ist.
Gibt zurück
true, wenn ein Rückruf verbunden ist
m_callbacks
Syntax: protected std::map< CallbackToken, CallbackFunction > m_callbacks;
m_nextCallbackToken
Syntax: protected CallbackToken m_nextCallbackToken;
m_mutex
Syntax: protected mutable std::recursive_mutex m_mutex;
CallbackFunction
Syntax: typedef CallbackFunction;
Rückruftyp, der zum Signalisieren des Ereignisses an verbundene Clients verwendet wird.
CallbackArgument
Syntax: typedef CallbackArgument;
Der Argumenttyp für das Rückrufereignis.
CallbackToken
Syntax: typedef CallbackToken;
Ein monoton zunehmendes Token, das für die Registrierung, Nachverfolgung und Aufhebung der Registrierung von Rückrufen verwendet wird.