Tt_message ( *Ttdt_contract_cb) ( Tt_message msg,
void * clientdata
Tt_message contract );
Tt_pattern * ttdt_session_join ( const char * sessid,
Ttdt_session_cb cb,
Widget shell,
void * clientdata,
int join);
ttdt_session_join() 関数は、「デスクトップの良き市民」として ToolTalk セッションに参加します。つまり、セッション sessid への参加時に多くの標準デスクトップ・メッセージ・インタフェースのパターンとデフォルト・コールバックを登録します。表 A–16 は、この関数が現在登録しているメッセージ・インタフェースの一覧です。
表 A–16 ttdt_session_join が登録している標準メッセージ
sessid パラメータが NULL の場合は、デフォルト・セッションに参加します。
join パラメータが設定されている場合は、指定のセッションに参加します。
Ttdt_contract_cb メッセージは、表 A–17 に示すパラメータを取ります。コールバックはメッセージを処理しない場合は、メッセージを返します。メッセージを処理する場合は、ゼロあるいは Tt_message に送られたエラー・ポインタを返します。
表 A–17 Ttdt_session_cb が取るパラメータ|
パラメータ |
説明 |
|---|---|
|
Tt_message msg |
送信状態にある要求。クライアント・プログラムは、この要求を無視または拒否するか、メッセージに応答します。 注 – 処理後にメッセージ msg を破棄してください。 |
|
void *clientdata |
ttdt_session_join() または ttdt_message_accept() 関数のどちらかに渡されるクライアント・データ |
|
Tt_messagecontract |
ttdt_message_accept() 関数に渡されるコントラクト。コールバックが ttdt_session_join() 関数によってインストールされると、contract パラメータの値は必ずゼロになります。 |
ttdt_session_join() 関数は、NULL で終了する Tt_pattern 型の配列を返します。この配列は、ttdt_session_quit() 関数に渡され破棄できます。エラーが発生すると、返された配列はエラー・ポインタになります。Tt_status を調べるには、tt_ptr_error を使用します。表 A–18 は、返される可能性のあるエラーの一覧です。
表 A–18 ttdt_session_join が返す可能性のあるエラー|
エラーの値 |
説明 |
|---|---|
|
ttsession プロセスを使用できません。ToolTalk サービスは、ttsession が実行されていない場合はその再起動を試みます。このエラーは、ToolTalk サービスがインストールされていないか、正しくインストールされていないかのどちらかを示します。 |
|
|
指定されたプロセス識別子が旧式か、無効です。 |
|
|
旧式、または無効な ToolTalk セッションが指定されました。 |
|
|
渡されたポインタが、このオペレーションに適した型のオブジェクトを指していません。たとえば、文字列が必要なときにポインタは整数を指している場合などです。 |
|
|
オペレーションを実行するのに十分なメモリがありません。 |