class EventSignalBase

I client possono connettersi al segnale dell'evento per ricevere eventi o disconnettersi dal segnale dell'evento per interrompere la ricezione di eventi.

In fase di costruzione, è possibile specificare callback e disconnessione che vengono chiamati quando il numero di client connessi cambia rispettivamente da zero a uno o uno a zero.

Membri

EventSignalBase

Sintassi: public inline EventSignalBase ( );

Costruisce un segnale di evento con azioni di connessione e disconnessione vuote.

~EventSignalBase

Sintassi: public inline virtual ~EventSignalBase ( );

Distruttore.

RegisterCallback

Sintassi: public inline CallbackToken RegisterCallback ( CallbackFunction callback );

Registra un callback a questo EventSignalBase e lo assegna a un token univoco.

Parametri

  • callback Callback da registrare.

Restituisce

Nuovo token associato a questa registrazione che può essere usato per la successiva annullamento della registrazione.

Annullare la registrazioneCallback

Sintassi: public inline bool UnregisterCallback ( CallbackToken token );

Se presente, annullare la registrazione di un callback da questo Oggetto EventSource associato al token specificato. I token vengono restituiti da RegisterCallback al momento della registrazione.

Parametri

  • token Token associato al callback da rimuovere. Questo token viene fornito dal valore restituito di RegisterCallback al momento della registrazione.

Restituisce

Valore che indica se un callback non è stato registrato in risposta a questa richiesta.

operator()

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

Operatore di chiamata alla funzione. Segnala l'evento con argomenti specificati t ai client connessi, vedere anche Signal.

Parametri

  • t Argomenti di evento da segnalare.

Annullare la registrazione diAllCallbacks

Sintassi: public inline void UnregisterAllCallbacks ( );

Annulla la registrazione di tutti i callback registrati.

Segnale

Sintassi: public inline void Signal ( T t );

Segnala l'evento con argomenti specificati t a tutti i callback connessi.

Parametri

  • t Argomenti di evento da segnalare.

IsConnected

Sintassi: public inline bool IsConnected ( ) const;

Verifica se un callback è connesso.

Restituisce

true se un callback è connesso

m_callbacks

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

m_nextCallbackToken

Sintassi: protected CallbackToken m_nextCallbackToken;

m_mutex

Sintassi: protected mutable std::recursive_mutex m_mutex;

CallbackFunction

Sintassi: typedef CallbackFunction;

Tipo di callback usato per segnalare l'evento ai client connessi.

CallbackArgument

Sintassi: typedef CallbackArgument;

Tipo di argomento per l'evento di callback.

CallbackToken

Sintassi: typedef CallbackToken;

Token in aumento monotonico usato per la registrazione, il rilevamento e l'annullamento della registrazione dei callback.