客户端可以连接到事件信号来接收事件,或从事件信号断开连接以停止接收事件。
在构造时,可以分别将连接的客户端数从零更改为 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;
单调增加的令牌,用于注册、跟踪和取消取消回调。