ToolTalk ユーザーズガイド

第 5 章 アプリケーション情報の管理

ToolTalk メッセージを受信したいアプリケーションは、ToolTalk サービスに対して、どの種類のメッセージを受信したいかという情報を提供します。この情報 (メッセージパターンと言います) は、実行時にアプリケーションによって動的に提供されます。プロセス型 (ptype) とオブジェクト型 (otype) のファイルから提供される場合もあります。

アプリケーション型のインストール

アプリケーション型のインストールは、頻繁に行う必要はありません。型情報をインストールする必要があるのは、新しい型が作成されたときか、アプリケーションにエラーが発生したときだけです。ptype ファイルと otype ファイルは、インストール時に ToolTalk 型コンパイラを通して実行されます。tt_type_comp は、この情報を ToolTalk 型データベースに併合します。その後アプリケーションは、ToolTalk サービスにデータベース内の型情報を読み取るように指示します。

アプリケーションの ptype ファイルと otype ファイルをインストールするには、次の手順に従います。

  1. 型ファイル上で tt_type_comp を実行します。

       % tt_type_comp your-file
    

    tt_type_comp は、cpp を介して your-file を実行し、型定義をコンパイルして、ToolTalk 型テーブルにその情報を併合します。表 5-1 は XDR 形式のテーブルの場所、表 5-2 は分類機構形式のテーブルの場所を示します。


    注 -

    分類機構インタフェースは、互換性のためだけのものです。デフォルトは XDR です。


    表 5-1 XDR 形式の ToolTalk 型テーブル

    データベース 

    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 が報告する行のエラーを検出できます。


  2. ttsession は、ToolTalk 型データベースを自動的に再読み取りします。

    ttsession に ToolTalk 型データベースを再読み取りさせる方法については、「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 型情報の削除

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 サービスの更新」を参照してください。

ToolTalk サービスの更新

tt_type_comp(1) で ToolTalk タイプのデータベースに変更を加える場合、ToolTalk サービスは、タイプファイルを再読み取りするように自動的に指示されます。すでに実行している ToolTalk セッションに対して、明示的にデータベースを再読み取りさせたいときは、ttsession プロセスに SIGUSR2 を送信します。

ttsession プロセスに SIGUSR2 を送信するには

  1. ps コマンドを入力して、ttsession プロセスのプロセス識別子 (pid) を検索します。

       % ps -ef | grep ttsession
    
  2. kill コマンドを入力して、ttsession に SIGUSR2 シグナルを送信します。

       % kill -USR2 ttsession_pid
    

プロセス型エラー

アプリケーションがこのエラーを報告する場合は、次の状態のどちらか、または両方が存在すると考えられます。

Application is not an installed ptype.

ttsnoop の使用によるメッセージおよびパターンのデバッグ

ttsnoop は、カスタム構築の ToolTalk メッセージを作成して送信するためのツールです。ttsnoop を、ToolTalk メッセージの 1 つまたはすべてを選択的に監視するツールとして使用することもできます。ttsnoop プログラムは、ディレクトリ /usr/dt/bin/ttsnoop にあります。プログラムを起動するには、コマンド行に次のコマンドを入力します。

% /usr/dt/bin/ttsnoop [ -t ] 

-t オプションは、特定のパターンまたはメッセージの構築に使用する ToolTalk API 呼び出しを表示します。図 5-1 は、ttsnoop を起動する際に表示されるウィンドウを示します。

図 5-1 ttsnoop 表示ウィンドウ

Graphic

メッセージの構成と送信

初期表示ウィンドウで Messages ボタンを押すと、図 5-2 に示すポップアップパネルが表示されます。

図 5-2 ポップアップメッセージパネル

Graphic

図 5-3 「Edit Send Contexts」ウィンドウ

Graphic

パターンの構成と登録

初期表示ウィンドウの Patterns ボタンを押すと、図 5-4 に示すポップアップパネルが表示されます。

図 5-4 ポップアップパターンパネル

Graphic

パターンを登録するには、Apply ボタンを押します。パターンが登録されてしまうと、デバッグツールとして ttsnoop を使用して、他のアプリケーションがどのようなメッセージを送信しているかを監視できます。

図 5-5 「Edit Receive Contexts」ウィンドウ

Graphic

メッセージ構成要素の表示

初期表示ウィンドウ上の Display ボタンを押すと、図 5-6 に示すチェックボックスパネルが表示されます。

図 5-6 メッセージ構成要素の値を表示するチェックボックス

Graphic

チェックボックスを選択すると、指定された ToolTalk メッセージの構成要素は、表示したメッセージ上で、表示されたメッセージ構成要素の左に矢印 (--->) を付けて示されます。図 5-7 は、表示されたメッセージ構成要素を示します。

図 5-7 メッセージ構成要素の表示

Graphic

作成済みメッセージの送信

初期表示ウィンドウ上の Send Message ボタンを押すと、Messages ポップアップを使用して作成または格納したメッセージを送信できます。

メッセージの受信

初期表示ウィンドウ上の Start ボタンを押すと、ttsnoop は登録したパターンに一致する着信メッセージを表示します。図 5-8 は、表示された着信メッセージの例です。

図 5-8 着信メッセージの表示

Graphic

メッセージ受信の停止

初期表示ウィンドウ上の Stop ボタンを押すと、ttsnoop はメッセージの受信を停止します。