10.4.11 UnionDef
次に示すUnionDefは、OMG IDLのユニオン定義を表します。これにはユニオンのメンバーが包含されます。
module CORBA {
struct UnionMember {
Identifier name;
any label;
TypeCode type;
IDLType type_def;
};
typedef sequence <UnionMember> UnionMemberSeq;
interface UnionDef : TypedefDef, Container {
readonly attribute TypeCode discriminator_type;
readonly attribute IDLType discriminator_type_def;
readonly attribute UnionMemberSeq members;
};
};-
discriminator_typeおよびdiscriminator_type_def - ユニオンの区別子型を記述および識別します。
-
members - 各ユニオン・メンバーの記述が包含されます。各UnionMemberDescriptionのラベルは、
discriminator_typeのそれぞれ異なる値です。隣接するメンバーは、同じ名前を持つことができます。同名のメンバー同士は、型も同じである必要があります。octet型で値が0のラベルは、デフォルトのユニオン・メンバーであることを示します。
継承されるtype属性は、ユニオンを記述するtk_union TypeCodeです。
親トピック: インタフェース・リポジトリのインタフェース