ToolTalk ユーザーズガイド

オファの監視

使用プロセスで TT_SENT 状態のオファ (class=TT_OFFER) を受信したときは、次のいずれか 1 つを実行する必要があります。

  1. メッセージの tt_message_accept ( ) を呼び出してオファを受信します。これにより、送信側の procid に対して受信側の procid がオファを受信したことを知らせます。

  2. メッセージの tt_message_reject ( ) を呼び出してオファを拒絶します。これにより、送信側の procid に対して受信側の procid がオファを拒絶したことを知らせます。

  3. メッセージの tt_message_destroy ( ) を呼び出して、オファを最初に受け入れたり拒絶したりせずに忌避します。これにより、送信側の procid に対して、受信側の procid がオファを忌避したことを知らせます。

  4. メッセージの tt_message_receive ( ) をもう一度呼び出して、オファを最初に受け入れたり拒絶したりせずに忌避します。この場合も、送信側の procid に対して受信側の procid がオファを忌避したことを知らせます。

  5. tt_close ( ) を呼び出すか、(正常終了あるいは異常終了で) 終了させることによって ToolTalk サービスを切断します。この場合、クライアントプロセスが接続されている ttsession プロセスは、そのクライアントプロセスをオファから忌避していると見なします。

ハンドラがある場合は、ハンドラと監視者のすべてがメッセージを受け入れるか、拒絶または忌避した場合は、メッセージ状態 (Tt_state) は TT_RETURNED に設定されます。他のメッセージクラスにないオファの中間状態は、次のように定義されます。

  1. TT_ACCEPTED — 受信側がオファに対して tt_message_accept ( ) を実行すると、オファはこの状態になります。

  2. TT_REJECTED — 受信側がオファに対して tt_message_reject ( ) を実行すると、オファはこの状態になります。

  3. TT_ABSTAINED — 受信側が上記の 3、4、5 のいずれかを選択すると、オファはこの状態になります。