类 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;
用于注册、跟踪和取消注册回调的单调递增令牌。