класс 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;

Монотонно увеличивающийся маркер, используемый для регистрации, отслеживания и отмены регистрации обратных вызовов.