共用方式為


類別 EventSignalBase

用戶端可以連線到事件訊號來接收事件,或中斷事件訊號的連線,以停止接收事件。

在建構時間,可以分別在連線用戶端數目從零變更為一或一到零時呼叫連接和中斷連線回呼。

成員

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

函式呼叫運算子。 使用指定的引數 連線的用戶端發出訊號,另請參閱 Signal

參數

  • t 要發出訊號的事件引數。

UnregisterAllCallbacks

語法: public inline void UnregisterAllCallbacks ( );

取消註冊所有已註冊的回呼。

訊號

語法: public inline void Signal ( 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;

單調增加的權杖,用於註冊、追蹤和取消取消回呼。