ttdt_session_join
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 が登録している標準メッセージ
要求
|
処理方法
|
Get_Environment, Set_Environment
|
これらのメッセージは透過的に処理されます。
|
Get_Locale, Set_Locale
|
これらのメッセージは透過的に処理されます。
|
Get_Situation, Set_Situation
|
これらのメッセージは透過的に処理されます。
|
Signal
|
このメッセージは透過的に処理されます。
|
Get_Sysinfo
|
このメッセージは透過的に処理されます。
|
Get_Geometry, Set_Geometry
|
shell パラメータの値が NULL でなく、シェルが実体化された mappedWhenManaged applicationShellWidget の場合は、これらのメッセージは透過的に処理されます。シェルが mappedWhenManaged applicationShellWidget でない場合は、エラー TT_DESKTOP_ENOTSUP とともに異常終了します。
|
Get_Iconified, Get_Iconified
|
shell パラメータの値が NULL でなく、シェルが実体化された mappedWhenManaged applicationShellWidget の場合は、これらのメッセージは透過的に処理されます。シェルが mappedWhenManaged applicationShellWidget でない場合は、エラー TT_DESKTOP_ENOTSUP とともに異常終了します。
|
Get_Mapped, Set_Mapped
|
shell パラメータの値が NULL でなく、シェルが実体化された mappedWhenManaged applicationShellWidget の場合は、これらのメッセージは透過的に処理されます。シェルが mappedWhenManaged applicationShellWidget でない場合は、エラー TT_DESKTOP_ENOTSUP とともに異常終了します。
|
Raise
|
shell パラメータの値が NULL でなく、シェルが実体化された mappedWhenManaged applicationShellWidget の場合は、これらのメッセージは透過的に処理されます。シェルが mappedWhenManaged applicationShellWidget でない場合は、エラー TT_DESKTOP_ENOTSUP とともに異常終了します。
|
Lower
|
shell パラメータの値が NULL でなく、シェルが実体化された mappedWhenManaged applicationShellWidget の場合は、これらのメッセージは透過的に処理されます。シェルが mappedWhenManaged applicationShellWidget でない場合は、エラー TT_DESKTOP_ENOTSUP とともに異常終了します。
|
Get_XInfo
|
shell パラメータの値が NULL でない場合、これらのメッセージは透過的に処理されます。shell パラメータの値が NULL の場合は、エラー TT_DESKTOP_ENOTSUP とともに異常終了します。
|
Set_XInfo
|
shell パラメータの値が NULL でなく、シェルが実体化された mappedWhenManaged applicationShellWidget の場合は、これらのメッセージは透過的に処理されます。シェルが mappedWhenManaged applicationShellWidget でない場合は、エラー TT_DESKTOP_ENOTSUP とともに異常終了します。
|
Pause
|
cb パラメータが NULL でない場合は、このメッセージはコールバックに渡されます。cb パラメータが NULL の場合は、エラー TT_DESKTOP_ENOTSUP とともに異常終了します。
|
Resume
|
cb パラメータが NULL でない場合は、このメッセージはコールバックに渡されます。cb パラメータが NULL の場合は、エラー TT_DESKTOP_ENOTSUP とともに異常終了します。
|
Quit
|
cb パラメータが NULL でない場合は、このメッセージはコールバックに渡されます。cb パラメータが NULL の場合は、エラー TT_DESKTOP_ENOTSUP とともに異常終了します。
|
Get_Status
|
cb パラメータが NULL でない場合は、このメッセージはコールバックに渡されます。cb パラメータが NULL の場合は、エラー TT_DESKTOP_ENOTSUP とともに異常終了します。
|
Do_Command
|
cb パラメータが NULL でない場合は、このメッセージはコールバックに渡されます。cb パラメータが NULL の場合は、エラー TT_DESKTOP_ENOTSUP とともに異常終了します。
|
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 が返す可能性のあるエラー
エラーの値
|
説明
|
TT_ERR_NOMP
|
ttsession プロセスを使用できません。ToolTalk
サービスは、ttsession が実行されていない場合はその再起動を試みます。このエラーは、ToolTalk サービスがインストールされていないか、正しくインストールされていないかのどちらかを示します。
|
TT_ERR_PROCID
|
指定されたプロセス識別子が旧式か、無効です。
|
TT_ERR_SESSION
|
旧式、または無効な ToolTalk セッションが指定されました。
|
TT_ERR_POINTER
|
渡されたポインタが、このオペレーションに適した型のオブジェクトを指していません。たとえば、文字列が必要なときにポインタは整数を指している場合などです。
|
TT_ERR_NOMEM
|
オペレーションを実行するのに十分なメモリがありません。
|