共通デスクトップ環境 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 セッションへの参加とメッセージ・パターンの登録

アプリケーションはメッセージを受信する前に、ToolTalk セッションに参加し、一致するメッセージ・パターンを登録する必要があります。

// Join a ToolTalk session and register patterns and default callbacks
    sessPats = ttdt_session_join( 0, 0, session_shell, this, 1 );

イベント・ループへの ToolTalk サービスの追加

アプリケーションは、ToolTalk サービスをそのイベント・ループに追加することも行わなければなりません。

// Process ToolTalk events for Xt Clients
    XtAppAddInput( myContext, myTtFd, (XtPointer)XtInputReadMask, 
                   tk_Xt_input_handler, myProcID );