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.