TypeCodeオブジェクトは、クライアント/サーバ間でデータ型が不定の場合に使用し、あらゆるデータ型を表現することが可能です。以下のケースで使用されます。
any型の記述
インタフェースリポジトリ(以降IRと呼ぶ)の復帰値および、動的起動インタフェースを使用する場合
TypeCodeオブジェクトで使用できるデータ型を以下に示します。TypeCodeオブジェクトの属性情報には、整数型、文字列型などを表すデータの識別子と、文字列の最大長などの付加情報から構成されています。
TypeCode | 種類・データ型 | 属性情報 | |
---|---|---|---|
識別子 | 付加情報 | ||
TC_null | 未定義 | tk_null | なし |
TC_void | void型 | tk_void | なし |
TC_ushort | 整数型 | tk_ushort | なし |
TC_short | tk_short | ||
TC_ulong | tk_ulong | ||
TC_long | tk_long | ||
TC_longlong | tk_longlong | ||
TC_float | 浮動小数点型 | tk_float | なし |
TC_double | tk_double | ||
TC_longdouble | tk_longdouble | ||
TC_char | 文字型 | tk_char | なし |
TC_wchar | ワイド文字型 | tk_wchar | なし |
TC_octet | オクテッド型 | tk_octet | なし |
TC_boolean | ブーリアン型 | tk_boolean | なし |
TC_string | 文字列型 | tk_string | 最大長 |
TC_wstring | ワイド文字列型 | tk_wstring | 最大長 |
TC_enum (注) | 列挙型 | tk_enum | データ型のリポジトリID、名前、含まれるデータの名前、数、データの型 |
TC_any | any型 | tk_any | なし |
TC_sequence (注) | シーケンス型 | tk_sequence | sequenceのメンバのデータ型、最大長 |
TC_struct (注) | 構造体 | tk_struct | データ型のリポジトリID、名前、含まれるデータの名前、数、データの型 |
TC_union (注) | 共用体 | tk_union | データ型のリポジトリID、名前、含まれるデータの名前、数、データの型、メンバのラベル番号、弁別情報のデータ型 |
TC_fixed (注) | 固定小数点型 | tk_fixed | 桁数、小数点の位置 |
TC_array (注) | 配列 | tk_array | arrayのメンバのデータ型、最大要素数 |
TC_alias (注) | typedefで定義されたデータ型 | tk_alias | データ型のリポジトリID、名前 |
TC_TypeCode | TypeCode | tk_TypeCode | なし |
TC_Principal | 認証用オブジェクト | tk_Principal | なし |
TC_objref | オブジェクトリファレンス | tk_objref | データ型のリポジトリID、名前 |
TC_except (注) | 例外 | tk_except | データ型のリポジトリID、名前、含まれるデータの名前、数、データの型 |
注) TypeCodeオブジェクト名は、IDL定義に基づいて決められます。