Delen via


klasse EventSignalBase

Clients kunnen verbinding maken met het gebeurtenissignaal om gebeurtenissen te ontvangen of de verbinding met het gebeurtenissignaal verbreken om te stoppen met het ontvangen van gebeurtenissen.

Tijdens de bouw kunnen callbacks voor verbinding en verbinding worden gemaakt die worden aangeroepen wanneer het aantal verbonden clients verandert van respectievelijk nul in één of één naar nul.

Leden

EventSignalBase

Syntaxis: public inline EventSignalBase ( );

Hiermee wordt een gebeurtenissignaal samengesteld met lege verbindings- en verbroken acties.

~EventSignalBase

Syntaxis: public inline virtual ~EventSignalBase ( );

Destructor.

RegisterCallback

Syntaxis: public inline CallbackToken RegisterCallback ( CallbackFunction callback );

Registreert een callback naar deze EventSignalBase en wijst deze een uniek token toe.

Parameters

  • callback De callback om te registreren.

Retouren

Het nieuwe token dat aan deze registratie is gekoppeld en dat kan worden gebruikt voor het ongedaan maken van de registratie.

Registratie vanCallback ongedaan maken

Syntaxis: public inline bool UnregisterCallback ( CallbackToken token );

Indien aanwezig, verwijdert u de registratie van een callback van deze EventSource die is gekoppeld aan het opgegeven token. Tokens worden geretourneerd vanuit RegisterCallback op het moment van registratie.

Parameters

  • token Het token dat is gekoppeld aan de callback die moet worden verwijderd. Dit token wordt geleverd door de retourwaarde van RegisterCallback op het moment van registratie.

Retouren

Een waarde die aangeeft of een callback niet meer is geregistreerd als reactie op deze aanvraag.

operator()

Syntaxis: public inline void operator() ( T t );

Operator voor functieoproep. Geeft de gebeurtenis met opgegeven argumenten t aan verbonden clients, zie ook Signaal.

Parameters

  • t Gebeurtenisargumenten om te signaleren.

Registratie vanAllCallbacks ongedaan maken

Syntaxis: public inline void UnregisterAllCallbacks ( );

De registratie van alle geregistreerde callbacks ongedaan maken.

Signaal

Syntaxis: public inline void Signal ( T t );

Signaleert de gebeurtenis met opgegeven argumenten t voor alle verbonden callbacks.

Parameters

  • t Gebeurtenisargumenten om te signaleren.

Isconnected

Syntaxis: public inline bool IsConnected ( ) const;

Controleert of er een callback is verbonden.

Retouren

waar als een callback is verbonden

m_callbacks

Syntaxis: protected std::map< CallbackToken, CallbackFunction > m_callbacks;

m_nextCallbackToken

Syntaxis: protected CallbackToken m_nextCallbackToken;

m_mutex

Syntaxis: protected mutable std::recursive_mutex m_mutex;

CallbackFunction

Syntaxis: typedef CallbackFunction;

Callback-type dat wordt gebruikt voor het signalen van de gebeurtenis aan verbonden clients.

CallbackArgument

Syntaxis: typedef CallbackArgument;

Het argumenttype voor de callback-gebeurtenis.

CallbackToken

Syntaxis: typedef CallbackToken;

Een monotonisch toenemend token dat wordt gebruikt voor de registratie, het bijhouden en het ongedaan maken van de registratie van callbacks.