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.