Freigeben über


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.