操作に固有の引数を書き込みます。引数のデータ型に最も適した関数を使用します。
tt_message_arg_add ( )
値がゼロ終了文字列の引数を追加します。
tt_message_barg_add ( )
値がバイト文字列の引数を追加します。
tt_message_iarg_add ( )
値が整数の引数を追加します。
追加する引数ごとに、次の値を指定します (値の型には関係ありません)。
Tt_mode
TT_IN
または TT_INOUT
を指定します。TT_IN
は、送信側が引数を書き込み、ハンドラおよびオブザーバがこの引数を読み取れることを示します。TT_INOUT
は、送信側とハンドラが引数を書き込み、誰でも引数を読み取れることを示します。応答としてハンドラからの引数を必要とする要求を送信する場合は、TT_INOUT
を使用します。
値の型
値の型 (vtype) は、追加する引数のデータ型について説明します。ToolTalk サービスは、登録済みのパターンとメッセージを比較してメッセージの受信側を判定する際に vtype 名を使用します。しかし、メッセージまたはパターンの引数の値を処理する際には vtype を使用しません。
vtype 名は、メッセージの受信側がデータを解釈するのに役立ちます。たとえば、ワードプロセッサがメモリ内のパラグラフを PostScript 表現に変換した場合は、tt_message_arg_add に次の引数を付けて呼び出すことができます。
tt_message_arg_add (m, "PostScript", buf);
この場合 ToolTalk サービスは、ゼロ終了文字列を指す buf を想定し送信します。
同様に、アプリケーションは、ToolTalk メッセージで enum 値 (たとえば、次のような Tt_status の要素) を送信します。
tt_message_iarg_add(m, "Tt_status", (int) TT_OK);
ToolTalk サービスは、値を整数として送信します。ただし、Tt_status という vtype は、値が何を意味するかを受信側に示します。
特に送信側と受信側で特定の vtype 名を定義し、受信側が他の形式で格納された値を検索できないようにしなければなりません。たとえば、整数として格納した値が、文字列として検索されないようにしなければなりません。