类 EventSignalBase

客户端可以连接到事件信号以接收事件,或与事件信号断开连接以停止接收事件。

在构造时,可以提供连接和断开连接回调,这些回调分别在连接的客户端数从零更改为 1 或从 1 更改为零时调用。

成员

EventSignalBase

语法: public inline EventSignalBase ( );

使用空连接和断开连接操作构造事件信号。

~EventSignalBase

语法: public inline virtual ~EventSignalBase ( );

析构函数。

RegisterCallback

语法: public inline CallbackToken RegisterCallback ( CallbackFunction callback );

注册对此 EventSignalBase 的回调,并为其分配唯一令牌。

参数

  • callback 要注册的回调。

返回

与此注册关联的新令牌,可用于后续的注销。

UnregisterCallback

语法: public inline bool UnregisterCallback ( CallbackToken token );

如果存在,则从此 EventSource 中注销与提供的令牌关联的回调。 令牌在注册时从 RegisterCallback 返回。

参数

  • token 与要删除的回调关联的标记。 此令牌由注册时 RegisterCallback 的返回值提供。

返回

一个 值,该值指示是否为响应此请求而取消注册了任何回调。

operator()

语法: public inline void operator() ( T t );

函数调用运算符。 使用给定参数 t 向连接的客户端发出事件信号,另请参阅 Signal

参数

  • t 要发出信号的事件参数。

UnregisterAllCallbacks

语法: public inline void UnregisterAllCallbacks ( );

取消注册所有已注册的回调。

Signal

语法: 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;

用于注册、跟踪和取消注册回调的单调递增令牌。