ToolTalk メッセージを受信したいアプリケーションは、ToolTalk サービスに対して、どの種類のメッセージを受信したいかという情報を提供します。この情報 (メッセージパターンと言います) は、実行時にアプリケーションによって動的に提供されます。プロセス型 (ptype) とオブジェクト型 (otype) のファイルから提供される場合もあります。
アプリケーション型のインストールは、頻繁に行う必要はありません。型情報をインストールする必要があるのは、新しい型が作成されたときか、アプリケーションにエラーが発生したときだけです。ptype ファイルと otype ファイルは、インストール時に ToolTalk 型コンパイラを通して実行されます。tt_type_comp は、この情報を ToolTalk 型データベースに併合します。その後アプリケーションは、ToolTalk サービスにデータベース内の型情報を読み取るように指示します。
アプリケーションの ptype ファイルと otype ファイルをインストールするには、次の手順に従います。
% tt_type_comp your-file |
tt_type_comp は、cpp を介して your-file を実行し、型定義をコンパイルして、ToolTalk 型テーブルにその情報を併合します。表 5-1 は XDR 形式のテーブルの場所、表 5-2 は分類機構形式のテーブルの場所を示します。
分類機構インタフェースは、互換性のためだけのものです。デフォルトは XDR です。
データベース |
XDR テーブルの使用 |
---|---|
ユーザー (user) |
‾/.tt/types.xdr |
システム (system) |
/etc/tt/types.xdr |
デスクトップ (desktop) |
/usr/dt/appconfig/tttypes/types.xdr |
ネットワーク (network) |
$OPENWINHOME/etc/tt/types.xdr |
表 5-2 分類機構形式の ToolTalk 型テーブル
データベース |
分類機構テーブルの使用 |
---|---|
ユーザー (user) |
‾/.cetables/cetables |
システム (system) |
/etc/cetables/cetables |
ネットワーク (network) |
$OPENWINHOME/lib/cetables/cetables |
XDR データベースには、4 種類あります。$TTPATH
環境変数によって、どの 3 つを使用するかを決めます。$TTPATH
エントリのフォーマットと優先順位に関する詳細は、tt_type_comp(1) のマニュアルページを参照してください。
デフォルトでは、tt_type_comp はユーザーデータベースを使用します。他のデータベースを指定する場合は、-d オプションを使用します。たとえば、次のように入力します。
% tt_type_comp -d user|system|[network|desktop] your_file |
ptype ファイルまたは otype ファイル上で tt_type_comp を実行する場合、tt_type_comp は、データを ToolTalk 型データベースの形式にする前に、まずファイル上の cpp を実行し、次に構文を検査します。構文エラーが検出された場合、cpp ファイルの行番号を示すメッセージが表示されます。行検索を行うには、cpp -P source-file temp-file と入力します。これによって temp-file が表示され、tt_type_comp が報告する行のエラーを検出できます。
ttsession は、ToolTalk 型データベースを自動的に再読み取りします。
ttsession に ToolTalk 型データベースを再読み取りさせる方法については、「ToolTalk サービスの更新」を参照してください。
指定された ToolTalk 型データベースのすべての型情報を検査することも、ptype 情報だけまたは otype 情報だけを検査することもできます。検査したいデータベースを指定するには、-d オプションを使用し、user、system、network のいずれかを入力して、検査したいデータベースを示します。-d オプションを使用しない場合、tt_type_comp はデフォルトのユーザーデータベースを使用します。
ToolTalk 型データベース内のすべての ToolTalk 型情報を検査するには、次のように入力します。
% tt_type_comp -d user|system|network -p |
型情報は、ソース形式で出力されます。
ToolTalk 型データベース内のすべての ptype を表示するには、次のように入力します。
% tt_type_comp -d user|system|network -P |
ptype の名前は、ソース形式で出力されます。
ToolTalk 型データベース内のすべての otype を表示するには、次のように入力します。
% tt_type_comp -d user|system|network -O |
otype の名前は、ソース形式で出力されます。
ToolTalk 型データベースから、ptype 情報と otype 情報を削除できます。
tt_type_comp を使用して、型情報を削除します。次のように入力します。
% tt_type_comp -d user|system|network -r type |
たとえば、サンプルアプリケーションの ToolTalk 型ネットワークデータベースから EditDemo という ptype を削除するには、次のように入力します。
% tt_type_comp -d network -r EditDemo |
型情報の削除後は、実行中の ttsession に ToolTalk 型データベースを再読み取りさせて、ToolTalk サービスを最新の状態にします。詳細は、「ToolTalk サービスの更新」を参照してください。
tt_type_comp(1) で ToolTalk タイプのデータベースに変更を加える場合、ToolTalk サービスは、タイプファイルを再読み取りするように自動的に指示されます。すでに実行している ToolTalk セッションに対して、明示的にデータベースを再読み取りさせたいときは、ttsession プロセスに SIGUSR2 を送信します。
ps コマンドを入力して、ttsession プロセスのプロセス識別子 (pid) を検索します。
% ps -ef | grep ttsession |
kill コマンドを入力して、ttsession に SIGUSR2 シグナルを送信します。
% kill -USR2 ttsession_pid |
アプリケーションがこのエラーを報告する場合は、次の状態のどちらか、または両方が存在すると考えられます。
Application is not an installed ptype. |
ToolTalk サービスは、ToolTalk 型データベース内で最近更新された型情報を再読み取りする指示を、アプリケーションから受けていません。ToolTalk サービスに ToolTalk 型データベースの型情報を再読み取りさせる手順については、「ToolTalk サービスの更新」を参照してください。
アプリケーションの ptype と otype が、ToolTalk 型データベースにコンパイルおよび併合されていません。型情報のコンパイルと併合の手順については、「アプリケーション型のインストール」を参照してください。
ttsnoop は、カスタム構築の ToolTalk メッセージを作成して送信するためのツールです。ttsnoop を、ToolTalk メッセージの 1 つまたはすべてを選択的に監視するツールとして使用することもできます。ttsnoop プログラムは、ディレクトリ /usr/dt/bin/ttsnoop にあります。プログラムを起動するには、コマンド行に次のコマンドを入力します。
% /usr/dt/bin/ttsnoop [ -t ] |
-t オプションは、特定のパターンまたはメッセージの構築に使用する ToolTalk API 呼び出しを表示します。図 5-1 は、ttsnoop を起動する際に表示されるウィンドウを示します。
Start ボタン
メッセージの受信を起動する場合に押します。ttsnoop は、登録するパターンに一致する着信メッセージを表示します。
Stop ボタン
メッセージの受信を停止する場合に押します。
Clear ボタン
ウィンドウをクリアする場合に押します。
About TTSnoop ボタン
ttsnoop についてのヘルプを見る場合に押します。
各ボタンおよび設定についてのヘルプを見るには、そのボタンまたは設定の上にマウスを置いて、キーボードの F1 キーまたはヘルプキーを押します。TTSnoop.info というファイルの入ったディレクトリを、環境変数 HELPPATH
に入れておく必要があります。
Display ボタン
チェックボックスのパネルを表示して、ttsnoop ディスプレイのサブウィンドウ上で特定の ToolTalk メッセージ構成要素を強調表示する場合に押します。
Messages ボタン
ToolTalk メッセージの作成、格納、および送信を可能にするパネルを表示する場合に押します。
Patterns ボタン
ToolTalk パターンの構成と登録を可能にするパネルを表示する場合に押します。
Send Messages ボタン
Messages ウィンドウを使用して格納したメッセージを送信する場合に押します。
初期表示ウィンドウで Messages ボタンを押すと、図 5-2 に示すポップアップパネルが表示されます。
Add Message ボタン
現在のメッセージ設定を格納する場合に押します。メッセージが格納されてしまうと、初期表示ウィンドウ上の Send Message ボタンを使用して、これらのメッセージの再呼び出しと送信ができます。
Edit Contexts ボタン
送信するメッセージコンテキストを追加、変更、または削除する場合に押します。図 5-3 で示すポップアップウィンドウによって、メッセージとともに送信するコンテキストを編集できます。
Send Message ボタン
新規に作成したメッセージを送信する場合に押します。
この Send Message ボタンは、メインメニュー上の Send Message ボタンと同じ機能を実行します。
初期表示ウィンドウの Patterns ボタンを押すと、図 5-4 に示すポップアップパネルが表示されます。
パターンを登録するには、Apply ボタンを押します。パターンが登録されてしまうと、デバッグツールとして ttsnoop を使用して、他のアプリケーションがどのようなメッセージを送信しているかを監視できます。
Edit Receive Contexts ボタン
パターン内の受信メッセージコンテキストを追加、変更、または削除する場合に押します。図 5-5 に示すポップアップウィンドウによって、パターンとともに登録するコンテキストを編集できます。
初期表示ウィンドウ上の Display ボタンを押すと、図 5-6 に示すチェックボックスパネルが表示されます。
チェックボックスを選択すると、指定された ToolTalk メッセージの構成要素は、表示したメッセージ上で、表示されたメッセージ構成要素の左に矢印 (--->) を付けて示されます。図 5-7 は、表示されたメッセージ構成要素を示します。
初期表示ウィンドウ上の Send Message ボタンを押すと、Messages ポップアップを使用して作成または格納したメッセージを送信できます。
初期表示ウィンドウ上の Start ボタンを押すと、ttsnoop は登録したパターンに一致する着信メッセージを表示します。図 5-8 は、表示された着信メッセージの例です。
初期表示ウィンドウ上の Stop ボタンを押すと、ttsnoop はメッセージの受信を停止します。