类 EventSignalBase

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

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

成员

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 ( );

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

信号

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

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