共通デスクトップ環境 ToolTalk メッセージの概要

アプリケーションの ToolTalk メッセージの使用方法

アプリケーションは、ToolTalk メッセージを作成、送信、および受信することによって、他のアプリケーションと通信します。送信側は、メッセージを作成、書き込み、および送信します。ToolTalk サービスは受信側を判別し、そのメッセージを受信側に配信します。受信側はメッセージを検出してメッセージ内の情報をチェックし、メッセージを破棄するか、オペレーションを実行してその結果を応答します。

ToolTalk メッセージの送信

ToolTalk メッセージの構造は簡単で、アドレス、サブジェクト、および配信情報のフィールドを含みます。ToolTalk メッセージを送信するため、アプリケーションは空のメッセージを取得し、メッセージ属性を書き込んだ後、メッセージを送信します。送信を行うアプリケーションは、次の情報を提供する必要があります。

メッセージ配信の範囲を限定するために、送信側アプリケーションはメッセージ内にさらに情報を指定できます。

メッセージ・パターン

ToolTalk の重要な特徴は、送信側が受信側について何も認識していなくてもかまわないことです。これは、メッセージを受信したいアプリケーション側が、受け取りたいメッセージの種類を明示的に示すからです。この情報は、メッセージ・パターンとして ToolTalk サービスに登録されます。

アプリケーションは、そのインストール時または実行時にメッセージ・パターンを ToolTalk サービスに指定できます。メッセージ・パターンは、メッセージと同じ方法で作成します。つまり、どちらの場合も同じ型の情報を使用します。アプリケーションは受信したいそれぞれの型のメッセージについて、空のメッセージ・パターンを取得し、属性を書き込み、そのパターンを ToolTalk サービスに登録します。これらのメッセージ・パターンは通常、アプリケーションが相互に使用することにしたメッセージ・プロトコルと一致します。アプリケーションは、個々の使用に応じてさらにパターンを追加できます。

ToolTalk サービスは、送信側アプリケーションからメッセージを受信すると、メッセージ内の情報と登録されているパターンとを比較します。一致するものが見つかると、ToolTalk サービスは、受信側アプリケーションすべてにメッセージのコピーを配信します。

アプリケーションは受信を希望するメッセージを記述したパターンごとに、メッセージを処理または監視できるかどうかを宣言しています。多数のアプリケーションがメッセージを監視できますが、メッセージを処理できるアプリケーションは 1 つだけです。これは、要求されたオペレーションが確実に 1 回だけ実行されるようにするためです。ToolTalk サービスが要求に対するハンドラを見つけだせなかった場合は、そのメッセージを送信側アプリケーションに返し、配信が失敗したことを示します。

ToolTalk メッセージの受信

ToolTalk サービスは、メッセージを特定のプロセスに配信する必要があると判断すると、メッセージのコピーを作成し、受信待ちメッセージがあることをそのプロセスに通知します。受信側アプリケーションが実行中でない場合、ToolTalk サービスは、アプリケーションの起動方法に関する指示 (インストール時にアプリケーションが指定したもの) を検索します。

プロセスは、メッセージを検索し、その内容をチェックします。