Udostępnij za pośrednictwem


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.