klasse EventSignalBase

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

Tijdens de bouw kunnen callbacks worden verbonden en losgekoppeld die worden aangeroepen wanneer het aantal verbonden clients wordt gewijzigd van respectievelijk nul in één of één tot nul.

Leden

EventSignalBase

Syntaxis: public inline EventSignalBase ( );

Hiermee wordt een gebeurtenissignaal gemaakt met lege acties voor verbinding maken en de verbinding verbreken.

~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.

Parameterwaarden

  • callback De callback om te registreren.

Retouren

Het nieuwe token dat aan deze registratie is gekoppeld, kan worden gebruikt voor latere uitschrijving.

Registratie vanCallback ongedaan maken

Syntaxis: public inline bool UnregisterCallback ( CallbackToken token );

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

Parameterwaarden

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

Retouren

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

operator()

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

Operator voor functie-aanroep. Geeft de gebeurtenis aan met bepaalde argumenten t verbonden clients, zie ook Signal.

Parameterwaarden

  • t gebeurtenisargumenten om aan te geven.

RegistratieAllCallbacks ongedaan maken

Syntaxis: public inline void UnregisterAllCallbacks ( );

De registratie van alle geregistreerde callbacks ongedaan maken.

Signaal

Syntaxis: public inline void Signal ( T t );

Geeft de gebeurtenis aan met opgegeven argumenten t alle verbonden callbacks.

Parameterwaarden

  • t gebeurtenisargumenten om aan te geven.

IsConnected

Syntaxis: public inline bool IsConnected ( ) const;

Controleert of 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 signaleren van de gebeurtenis met verbonden clients.

CallbackArgument

Syntaxis: typedef CallbackArgument;

Het argumenttype voor de callback-gebeurtenis.

CallbackToken

Syntaxis: typedef CallbackToken;

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