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 オプションを使用し、usersystemnetwork のいずれかを入力して、検査したいデータベースを示します。-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.
  1. ToolTalk サービスは、ToolTalk 型データベース内で最近更新された型情報を再読み取りする指示を、アプリケーションから受けていません。ToolTalk サービスに ToolTalk 型データベースの型情報を再読み取りさせる手順については、「ToolTalk サービスの更新」を参照してください。

  2. アプリケーションの ptype と otype が、ToolTalk 型データベースにコンパイルおよび併合されていません。型情報のコンパイルと併合の手順については、「アプリケーション型のインストール」を参照してください。

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

    Start ボタン

    メッセージの受信を起動する場合に押します。ttsnoop は、登録するパターンに一致する着信メッセージを表示します。

    Stop ボタン

    メッセージの受信を停止する場合に押します。

    Clear ボタン

    ウィンドウをクリアする場合に押します。

    About TTSnoop ボタン

    ttsnoop についてのヘルプを見る場合に押します。


    注 -

    各ボタンおよび設定についてのヘルプを見るには、そのボタンまたは設定の上にマウスを置いて、キーボードの F1 キーまたはヘルプキーを押します。TTSnoop.info というファイルの入ったディレクトリを、環境変数 HELPPATH に入れておく必要があります。


    Display ボタン

    チェックボックスのパネルを表示して、ttsnoop ディスプレイのサブウィンドウ上で特定の ToolTalk メッセージ構成要素を強調表示する場合に押します。

    Messages ボタン

    ToolTalk メッセージの作成、格納、および送信を可能にするパネルを表示する場合に押します。

    Patterns ボタン

    ToolTalk パターンの構成と登録を可能にするパネルを表示する場合に押します。

    Send Messages ボタン

    Messages ウィンドウを使用して格納したメッセージを送信する場合に押します。

メッセージの構成と送信

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

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

Graphic

    Add Message ボタン

    現在のメッセージ設定を格納する場合に押します。メッセージが格納されてしまうと、初期表示ウィンドウ上の Send Message ボタンを使用して、これらのメッセージの再呼び出しと送信ができます。

    Edit Contexts ボタン

    送信するメッセージコンテキストを追加、変更、または削除する場合に押します。図 5-3 で示すポップアップウィンドウによって、メッセージとともに送信するコンテキストを編集できます。

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

Graphic

    Send Message ボタン

    新規に作成したメッセージを送信する場合に押します。


    注 -

    この Send Message ボタンは、メインメニュー上の Send Message ボタンと同じ機能を実行します。


パターンの構成と登録

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

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

Graphic

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

    Edit Receive Contexts ボタン

    パターン内の受信メッセージコンテキストを追加、変更、または削除する場合に押します。図 5-5 に示すポップアップウィンドウによって、パターンとともに登録するコンテキストを編集できます。

図 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 はメッセージの受信を停止します。