提供: Bright Pattern Documentation
移動先: 案内検索
• English

イベントの配信

ソフトフォンプラグインとの通信は、APIの最下層で処理されます。すべてのトランスポート処理は.NETプラットフォームによって行われ、トランスポートに関連するすべてのイベントは、プラットフォームが管理するスレッド上で配信されます。 なお、UI(Windows Forms または WPF)の直接更新は、UI スレッド(ほとんどの場合、アプリケーションのメイン スレッド)上でのみ許可されています。 非UIスレッドからUIスレッドへ実行フローを伝達するためのさまざまなメカニズムが存在しますが、このAPIには、UIスレッド上でAPIクラスから発信されたイベントを受信するための独自のメカニズム、すなわちイベントディスパッチャクラスが用意されています。

各APIクラスには、eventDispatcherという名前の子クラス(「イベントディスパッチャ」と呼ばれます)があります。 イベントディスパッチャクラスは、親クラスから発行されたすべてのイベントをインターセプトして再発行すると同時に、それらのイベントがAPIが作成されたスレッド上で確実に配信されることを保証します。UIスレッド上で作成されたAPIのイベントディスパッチャクラスに登録されたイベントハンドラは、アプリケーションのUIエレメントを直接更新することができます。

すべてのオブジェクトによって発行されるイベントは、Microsoft のガイドラインに従っています。このガイドラインでは、すべてのイベントハンドラーが 2 つのパラメータ(イベントを発行したオブジェクトと、イベントのすべての引数をカプセル化した別のオブジェクト)を受け取ることを求めています。このような引数オブジェクトは、System.EventArgs クラスを継承し、追加のプロパティやメソッドの形で追加のデータや機能を提供する必要があります。 イベントディスパッチャオブジェクトによって発行されるすべてのイベントは、元の送信元オブジェクトへの参照を含んでいます。

< 前へ | 次へ >