共通デスクトップ環境 ToolTalk メッセージの概要

ttmedia_ptype_declare

Tt_message      (*Ttmedia_load_pat_cb)( Tt_message          msg,
                                        void *              clientdata,
                                        Tttk_op             op,
                                        Tt_status           diagnosis,
                                        unsigned char *     contents,
                                        int                 len,
                                        char *              file,
                                        char *              docname ); 
Tt_status       ttmedia_ptype_declare(  const char *        ptype,
                                        int                 base_opnum,
                                        Ttmedia_load_pat_cb cb,
                                        void *              clientdata,
                                        int                 declare );

ttmedia_ptype_declare() 関数は、Media Exchange メディア・エディタの ptype を宣言します。この関数は、特定のメディア型用の Media Exchange メッセージ・インタフェースを実装するエディタを初期化します。

ptype が複数の異なるメディア型を実現する場合、ttmedia_ptype_declare() 関数を 2 回以上呼び出すことができます。base_opnum には、各呼び出しで異なる値を指定しなければなりません。


注 -

ttmedia_ptype_declare() 関数は何回も呼び出すことができますが、declare 引き数を「true」に設定できるのは 1 回だけです。


表 A-25 は、Ttmedia_load_pat_cb メッセージが取るパラメータの一覧です。

表 A-25 Ttmedia_load_pat_cb メッセージが取るパラメータ

パラメータ 

説明 

Tt_message msg

送信された要求。クライアント・プログラムは、この要求を無視または拒否する、あるいは要求に応答しなければなりません。 

 

Tttk_op op

着信中の要求のオペレーション (TTME_COMPOSETTME_EDITTTME_DISPLAY のいずれか)

Tt_status diagnosis

ツールキットが要求を無視するように勧告するときに使用するエラー・コード (たとえば、TT_DESKTOP_ENODATA)。diagnosisTT_OK ではなく、コールバック・ルーチンがメッセージ msg を返す場合、ツールキットはメッセージ msg を無視し破棄します。

unsigned char * contents

int len

char *file

到着中のドキュメントの内容。len 引き数がゼロのとき、ドキュメントは指定のファイルに格納されています。contents 引き数または file 引き数が NULL でない場合は、ToolTalk 関数 tt_free を使用して、それらの引き数を解放します。

char * docname

ドキュメントに名前が付けられている場合はその名前 

void * clientdata

ttmedia_ptype_declare() メッセージに渡すクライアント・データ

メッセージが正常に処理されると、コールバックはゼロを返します。処理中にエラーが発生した場合は、コールバックは Tt_message に伝えられたエラー・ポインタを返します。

コールバックがメッセージ msg を処理せず、diagnosis 引き数の値が TT_OK でない場合、コールバックはメッセージを返し、ツールキットは TT_CALLBACK_CONTINUE ルーチンを呼び出しスタックに渡してメッセージを他のコールバックに提供するか、メッセージを tt_message_receive() 呼び出しに返します。

エラーが発生すると、この関数は表 A-26 にあるエラーのうちのいずれかを返します。

表 A-26 ttmedia_ptype_declare が返す可能性のあるエラー

エラーの値 

説明 

TT_ERR_NOMP

ttsession プロセスを使用できません。ToolTalk サービスは、ttsession が実行されていない場合はその再起動を試みます。このエラーは、ToolTalk サービスがインストールされていないか、正しくインストールされていないかのどちらかを示します。 

TT_ERR_PROCID

指定されたプロセス識別子が旧式か、無効です。 

TT_ERR_PTYPE

ToolTalk サービスが、指定された ptype を検出することができません。 

TT_ERR_POINTER

渡されたポインタが、このオペレーションに適した型のオブジェクトを指していません。たとえば、文字列が必要なときにポインタは整数を指している場合などです。