classe EventSignalBase

Les clients peuvent se connecter au signal d’événement pour recevoir des événements ou se déconnecter du signal d’événement pour arrêter la réception d’événements.

Au moment de la construction, les rappels de connexion et de déconnexion peuvent être fournis, qui sont appelés lorsque le nombre de clients connectés passe de zéro à un ou un à zéro, respectivement.

Membres

EventSignalBase

Syntaxe : public inline EventSignalBase ( );

Construit un signal d’événement avec des actions de connexion et de déconnexion vides.

~EventSignalBase

Syntaxe : public inline virtual ~EventSignalBase ( );

Destructeur.

RegisterCallback

Syntaxe : public inline CallbackToken RegisterCallback ( CallbackFunction callback );

Inscrit un rappel dans cet EventSignalBase et lui attribue un jeton unique.

Paramètres

  • callback Rappel à inscrire.

Retours

Nouveau jeton associé à cette inscription qui peut être utilisé pour l’annulation ultérieure de l’inscription.

DésinscrireCallback

Syntaxe : public inline bool UnregisterCallback ( CallbackToken token );

S’il est présent, annule l’inscription d’un rappel à partir de cet EventSource associé au jeton fourni. Les jetons sont retournés par RegisterCallback au moment de l’inscription.

Paramètres

  • token Jeton associé au rappel à supprimer. Ce jeton est fourni par la valeur de retour de RegisterCallback au moment de l’inscription.

Retours

Valeur indiquant si un rappel n’a pas été inscrit en réponse à cette demande.

operator()

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

Opérateur d’appel de fonction. Signale l’événement avec des arguments donnés t aux clients connectés, consultez également Signal.

Paramètres

  • t arguments d’événement à signaler.

Annuler l’inscriptionAllCallbacks

Syntaxe : public inline void UnregisterAllCallbacks ( );

Annule l’inscription de tous les rappels inscrits.

Signal

Syntaxe : public inline void Signal ( T t );

Signale l’événement avec des arguments donnés t à tous les rappels connectés.

Paramètres

  • t arguments d’événement à signaler.

IsConnected

Syntaxe : public inline bool IsConnected ( ) const;

Vérifie si un rappel est connecté.

Retours

true si un rappel est connecté

m_callbacks

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

m_nextCallbackToken

Syntaxe : protected CallbackToken m_nextCallbackToken;

m_mutex

Syntaxe : protected mutable std::recursive_mutex m_mutex;

CallbackFunction

Syntaxe : typedef CallbackFunction;

Type de rappel utilisé pour signaler l’événement aux clients connectés.

CallbackArgument

Syntaxe : typedef CallbackArgument;

Type d’argument pour l’événement de rappel.

CallbackToken

Syntaxe : typedef CallbackToken;

Jeton monotoniquement croissant utilisé pour l’inscription, le suivi et la désinscription des rappels.