アプリケーションが他のアプリケーションからのメッセージを受信するためには、着信メッセージの有無を監視するプロセスを設定しなければなりません。メッセージがアプリケーションに到着すると、ファイル記述子が使用可能になります。ファイル記述子が使用可能になったことをアプリケーションに通知するコードは、アプリケーションの構成によって異なります。
たとえば、xv_main_loop または notify_start 呼び出しによって XView 通知子を使用するプログラムは、ファイル記述子が使用可能になったときにコールバック関数を呼び出すことができます。次のコード例は、メッセージオブジェクトのハンドルをパラメタとして notify_set_input_func を呼び出しています。
/* * Arrange for XView to call receive_tt_message when the * ToolTalk file descriptor becomes active. */ notify_set_input_func(base_frame, (Notify_func)receive_tt_message, ttfd); |
表 7-2 は、各種のウィンドウツールキットと着信メッセージの有無を監視する呼び出しを示したものです。
表 7-2 着信メッセージの有無を監視するモード
ウィンドウツールキット |
使用されるコード |
---|---|
XView |
notify_set_input_func() |
X Window System Xt (イントリンシクス) |
XtAddInput() または XtAddAppInput() |
他のツールキット (select(2) または poll(2) のシステムコールに基づいて構成された Xlib など) |
tt_fd() が返すファイル記述子 注 - ファイル記述子が使用可能になってから select 呼び出しを終了した場合は、tt_message_receive() を使用して、着信メッセージのハンドルを取得します。 |