Tt_status ttdt_sender_imprint_on( const char * handler, Tt_message contract, char ** display, int * width, int * height, int * xoffset, int * yoffset, XtAppContext app2run, int ms_timeout);
ttdt_sender_imprint_on() 関数を呼び出すと、呼び出し側ツール (以下、ツール B とします) で別のツール (以下ツール A とします) の動作と特定の特性が採用されます。ツール B は、ツール A の X11 ディスプレイ、ロケール、現在の作業ディレクトリを採用します。さらに、自身を正しい位置に置くためにツール A の X11 ジオメトリを取得します。
display パラメータが NULL の場合、環境変数 $DISPLAY はツール A のディスプレイに設定されます。display パラメータが NULL でない場合、ツール A のディスプレイがこのパラメータに返されます。戻り値は、ToolTalk の tt_free() 関数で解放できる文字列です。
この関数は、Get_Geometry 要求をツール A に送信します。ツール A がジオメトリ・パラメータに対して値を返さない場合は、次のようになります。
width パラメータに対して値が返されない場合、-1 を設定します。
height パラメータに対して値が返されない場合、-1 を設定します。
xoffset パラメータに対して値が返されない場合、INT_MAX を設定します。
yoffset パラメータに対して値が返されない場合、INT_MAX を設定します。
ttdt_sender_imprint_on() 関数の width パラメータ、height パラメータ、xoffset パラメータ、および yoffset パラメータすべてに NULL を設定すると、Get_Geometry 要求はツール A に送信されません。
app2run パラメータと ms_timeout パラメータは、この関数が送信する Get_Geometry 要求への応答をブロックするために、tttk_block_while() 関数に渡されます。
表 A-15 は、この関数が返す可能性のあるエラーの一覧です。
表 A-15 ttdt_sender_imprint_on が返す可能性のあるエラー
エラーの値 |
説明 |
---|---|
指定されたタイムアウト時間内に送信された要求の一部が完了しませんでした。 |
|
ttsession プロセスを使用できません。ToolTalk サービスは、ttsession が実行されていない場合はその再起動を試みます。このエラーは、ToolTalk サービスがインストールされていないか、正しくインストールされていないかのどちらかを示します。 |
|
指定されたプロセス識別子が旧式か、無効です。 |
|
オペレーションを実行するのに十分なメモリがありません。 |
|
ToolTalk サービスが受信したメッセージの数が、正しく処理可能なアクティブ・メッセージの最大数 (2000) に達しました。 |