Class EventSignalBase
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 Trennungsrückrufe bereitgestellt werden, die aufgerufen werden, wenn sich die Anzahl der verbundenen Clients von Null zu 1 oder 1 zu Null ändert.
Elemente
EventSignalBase
Syntax: public inline EventSignalBase ( );
Erstellt ein Ereignissignal mit leeren Verbindungs- und Trennen-Aktionen.
~EventSignalBase
Syntax: public inline virtual ~EventSignalBase ( );
Destruktor.
RegistriereRückruf
Syntax: public inline CallbackToken RegisterCallback ( CallbackFunction callback );
Registriert einen Rückruf für diese EventSignalBase und weist ihm ein eindeutiges Token zu.
Die Parameter
-
callback
Der zu registrierende Rückruf.
Rückgaben
Das neue Token, das dieser Registrierung zugeordnet ist, die für nachfolgende Registrierung verwendet werden kann.
Callback-Deregistrierung
Syntax: public inline bool UnregisterCallback ( CallbackToken token );
Wenn vorhanden, hebt die Registrierung eines Rückrufs von dieser EventSource auf, die dem bereitgestellten Token zugeordnet ist. Token werden zum Zeitpunkt der Registrierung von RegisterCallback zurückgegeben.
Die Parameter
-
token
Das dem Rückruf zugeordnete Token, das entfernt werden soll. Dieses Token wird vom Rückgabewert von RegisterCallback zum Zeitpunkt der Registrierung bereitgestellt.
Rückgaben
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 angegebenen Argumenten nicht mit verbundenen Clients, siehe auch Signal-.
Die Parameter
-
t
Ereignisargumente, die signalisiert werden sollen.
UnregisterAllCallbacks
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 angegebenen Argumenten, nicht an alle verbundenen Rückrufe.
Die Parameter
-
t
Ereignisargumente, die signalisiert werden sollen.
IsConnected
Syntax: public inline bool IsConnected ( ) const;
Überprüft, ob ein Rückruf verbunden ist.
Rückgaben
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 steigendes Token, das für die Registrierung, Nachverfolgung und Aufhebung der Registrierung von Rückrufen verwendet wird.