klasa EventSignalBase
Klienci mogą łączyć się z sygnałem zdarzenia w celu odbierania zdarzeń lub odłączyć się od sygnału zdarzenia, aby zatrzymać odbieranie zdarzeń.
W czasie budowy można podać wywołania zwrotne połączeń i rozłączania, które są wywoływane, gdy liczba połączonych klientów zmienia się odpowiednio z zera na jeden lub jeden do zera.
Elementy członkowskie
EventSignalBase
Składnia: public inline EventSignalBase ( );
Tworzy sygnał zdarzenia z pustymi akcjami połączenia i rozłączania.
~EventSignalBase
Składnia: public inline virtual ~EventSignalBase ( );
Destruktora.
RegisterCallback
Składnia: public inline CallbackToken RegisterCallback ( CallbackFunction callback );
Rejestruje wywołanie zwrotne do tej bazy danych EventSignalBase i przypisuje mu unikatowy token.
Parametry
-
callback
Wywołanie zwrotne do zarejestrowania.
Zwraca
Nowy token skojarzony z tą rejestracją, który może być używany do późniejszego wyrejestrowania.
WyrejestrowywanieCallback
Składnia: public inline bool UnregisterCallback ( CallbackToken token );
W przypadku obecności wyrejestrowuje wywołanie zwrotne z tego źródła zdarzeń skojarzonego z podanym tokenem. Tokeny są zwracane z elementu RegisterCallback w momencie rejestracji.
Parametry
-
token
Token skojarzony z wywołaniem zwrotnym, który ma zostać usunięty. Ten token jest dostarczany przez wartość zwracaną elementu RegisterCallback w momencie rejestracji.
Zwraca
Wartość wskazująca, czy jakiekolwiek wywołanie zwrotne zostało wyrejestrowane w odpowiedzi na to żądanie.
Operator()
Składnia: public inline void operator() ( T t );
Operator wywołania funkcji. Sygnalizuje zdarzenie z podanymi argumentami t do połączonych klientów, zobacz też Signal.
Parametry
-
t
Argumenty zdarzeń do sygnalizowania.
WyrejestrowywanieallCallbacks
Składnia: public inline void UnregisterAllCallbacks ( );
Wyrejestrowuje wszystkie zarejestrowane wywołania zwrotne.
Sygnału
Składnia: public inline void Signal ( T t );
Sygnalizuje zdarzenie z podanymi argumentami t do wszystkich połączonych wywołań zwrotnych.
Parametry
-
t
Argumenty zdarzeń do sygnalizowania.
IsConnected
Składnia: public inline bool IsConnected ( ) const;
Sprawdza, czy wywołanie zwrotne jest połączone.
Zwraca
true, jeśli wywołanie zwrotne jest połączone
m_callbacks
Składnia: protected std::map< CallbackToken, CallbackFunction > m_callbacks;
m_nextCallbackToken
Składnia: protected CallbackToken m_nextCallbackToken;
m_mutex
Składnia: protected mutable std::recursive_mutex m_mutex;
CallbackFunction
Składnia: typedef CallbackFunction;
Typ wywołania zwrotnego używany do sygnalizowania zdarzenia do połączonych klientów.
CallbackArgument
Składnia: typedef CallbackArgument;
Typ argumentu zdarzenia wywołania zwrotnego.
Wywołanie zwrotneToken
Składnia: typedef CallbackToken;
Monotonicznie zwiększający token używany do rejestracji, śledzenia i wyrejestrowania wywołań zwrotnych.