各 ToolTalk 対応アプリケーションが実行する必要があるタスクは多数あります。たとえば次のとおりです。
ツールキットの初期化
ToolTalk セッションへの参加とパターンの登録
ToolTalk サービスをそのイベント・ループへ追加
この節では、これらのタスクを実行できるようにアプリケーションに組み込む必要がある ToolTalk のコーディング例を取り上げます。
この節で使用されているコーディングの一部分は、CoEd.C ファイルから引用しています。このファイルには、アプリケーションが実行しなければならない一般コマンドが入っています。このコマンドは、特定のアプリケーションに固有のものではありません。詳細なソースコードについては、付録 B 「CoEd デモンストレーション・プログラム」 を参照してください。
アプリケーションはツールキットを初期化し、ToolTalk の初期セッションに登録する必要があります。そのためには、最初にプロセス識別子 (procid) を取得します。次のコーディングの一部分は、procid の取得方法とツールキットの初期化方法を示します。
// Obtain process identifier int myTtFd; // Initialize toolkit and create a ToolTalk communication endpoint char *myProcID = ttdt_open( &myTtFd, ToolName, "SunSoft", "%I", 1 );
アプリケーションは、他の呼び出しが行われる前に必ず ttdt_open を呼び出さなければなりません。そうしない場合、エラーが発生します。
アプリケーションはメッセージを受信する前に、ToolTalk セッションに参加し、一致するメッセージ・パターンを登録する必要があります。
// Join a ToolTalk session and register patterns and default callbacks sessPats = ttdt_session_join( 0, 0, session_shell, this, 1 );
アプリケーションは、ToolTalk サービスをそのイベント・ループに追加することも行わなければなりません。
// Process ToolTalk events for Xt Clients XtAppAddInput( myContext, myTtFd, (XtPointer)XtInputReadMask, tk_Xt_input_handler, myProcID );