класс EventSignalBase
Клиенты могут подключаться к сигналу события для получения событий или отключаться от сигнала события, чтобы прекратить получение событий.
Во время создания можно предоставить обратные вызовы подключения и отключения, которые вызываются при изменении количества подключенных клиентов с нуля на один или один к нулю соответственно.
Элементы
EventSignalBase
Синтаксис: public inline EventSignalBase ( );
Создает сигнал события с пустыми действиями подключения и отключения.
~EventSignalBase
Синтаксис: public inline virtual ~EventSignalBase ( );
Деструктор.
RegisterCallback
Синтаксис: public inline CallbackToken RegisterCallback ( CallbackFunction callback );
Регистрирует обратный вызов к этому объекту EventSignalBase и назначает ему уникальный токен.
Параметры
-
callback
Обратный вызов для регистрации.
Возвращаемое значение
Новый маркер, связанный с этой регистрацией, который можно использовать для последующей отмены регистрации.
Отменить регистрациюCallback
Синтаксис: public inline bool UnregisterCallback ( CallbackToken token );
При наличии отменяет регистрацию обратного вызова из этого источника событий, связанного с предоставленным маркером. Маркеры возвращаются из RegisterCallback во время регистрации.
Параметры
-
token
Маркер, связанный с обратным вызовом, который требуется удалить. Этот маркер предоставляется возвращаемым значением RegisterCallback во время регистрации.
Возвращаемое значение
Значение , указывающее, был ли отменен обратный вызов в ответ на этот запрос.
operator()
Синтаксис: public inline void operator() ( T t );
Оператор вызова функции. Сигнализирует о событии с заданными аргументами t для подключенных клиентов, см. также Сигнал.
Параметры
-
t
Аргументы события для сигнала.
Отмена регистрацииAllCallbacks
Синтаксис: public inline void UnregisterAllCallbacks ( );
Отменяет регистрацию всех зарегистрированных обратных вызовов.
Сигнал
Синтаксис: public inline void Signal ( T t );
Сигнализирует событие с заданными аргументами t для всех подключенных обратных вызовов.
Параметры
-
t
Аргументы события для сигнала.
IsConnected
Синтаксис: public inline bool IsConnected ( ) const;
Проверяет, подключен ли обратный вызов.
Возвращаемое значение
Значение true, если обратный вызов подключен
m_callbacks
Синтаксис: protected std::map< CallbackToken, CallbackFunction > m_callbacks;
m_nextCallbackToken
Синтаксис: protected CallbackToken m_nextCallbackToken;
m_mutex
Синтаксис: protected mutable std::recursive_mutex m_mutex;
CallbackFunction
Синтаксис: typedef CallbackFunction;
Тип обратного вызова, используемый для передачи данных о событии подключенным клиентам.
CallbackArgument
Синтаксис: typedef CallbackArgument;
Тип аргумента для события обратного вызова.
CallbackToken
Синтаксис: typedef CallbackToken;
Монотонно увеличивающийся маркер, используемый для регистрации, отслеживания и отмены регистрации обратных вызовов.