クラス EventSignalBase

クライアントはイベント信号に接続してイベントを受信したり、イベント信号から切断してイベントの受信を停止したりできます。

構築時に、接続されたクライアントの数がそれぞれ 0 から 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 の戻り値によって提供されます。

戻り値

この要求に応答してコールバックが登録解除されたかどうかを示す値。

演算子 ()

構文: 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;

コールバックの登録、追跡、登録解除に使用される単調に増加するトークン。