次の方法で共有


class EventSignalBase

クライアントは、イベントシグナルに接続してイベントを受信するか、イベントシグナルから切断してイベントの受信を停止できます。

構築時に、接続されたクライアントの数がそれぞれ 0 から 1 または 0 に変更されたときに呼び出される接続コールバックと切断コールバックを指定できます。

メンバー

EventSignalBase

構文: public inline EventSignalBase ( );

空の接続アクションと切断アクションを使用してイベント シグナルを構築します。

~EventSignalBase

構文: public inline virtual ~EventSignalBase ( );

デストラクターです。

RegisterCallback

構文: public inline CallbackToken RegisterCallback ( CallbackFunction callback );

この EventSignalBase にコールバックを登録し、一意のトークンを割り当てます。

パラメーター

  • callback 登録するコールバック。

返品ポリシー

後続の登録解除に使用できる、この登録に関連付けられている新しいトークン。

カスタムコールバックの登録解除

構文: public inline bool UnregisterCallback ( CallbackToken token );

存在する場合は、指定されたトークンに関連付けられているこの EventSource からのコールバックの登録を解除します。 登録時に RegisterCallback からトークンが返されます。

パラメーター

  • token 削除するコールバックに関連付けられているトークン。 このトークンは、登録時の RegisterCallback の戻り値によって提供されます。

返品ポリシー

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

operator()

構文: public inline void operator() ( T t );

関数呼び出し演算子。 接続されたクライアントに 指定された引数を使用してイベントを通知します。シグナル 参照してください。

パラメーター

  • 通知するイベント引数を 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;

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