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.