CORBA 共用体の定義

モデルで CORBA 共用体を定義して、.idl ファイルで生成できます。

手順

CORBA 共用体を定義するには、以下のようにします。

  1. CORBAModule ステレオタイプを使用したパッケージまたは CORBAInterface ステレオタイプを使用したクラスに新規の型を追加します。
  2. 作成した型の「フィーチャー」ウィンドウを開き、「種類」フィールドを「共用体」に設定します。
  3. 作成した型について、プロパティー CORBA::Type::Discriminator の値を、使用する弁別子の型 (例えば、short) に設定します。
  4. 共用体内の各データ型を表す属性 (例えば、length_short、length_long、および length_double という名前の属性) を型に追加します。
  5. 属性ごとに、属性型を適切に設定します (例えば、length_short には short、length_long には long、length_double には double)。
  6. 属性ごとに、「フィーチャー」ウィンドウを開き、プロパティー CORBA::Attribute::UnionCase の値を設定します。 このプロパティーの値は、属性で使用する弁別子の値にする必要があります。 値は、プロパティー CORBA::Type::Discriminator に指定した型を反映したものにする必要があります。 なお、共用体のデフォルトのデータ型として使用するデータ型に対して、プロパティー UnionCase をストリング「default」に設定することもできます。 例えば、UnionCase プロパティーの値を、属性 length_short に対して 1、属性 length_long に対して 2、属性 length_double に対して default に設定します。

この手順で述べた値の例を使用した場合は、生成されるコードは、以下のようなものになります。

    union length switch (short) {
        case 1 :	short length_short;		//## attribute length_short
        case 2 :	long length_long;		//## attribute length_long
        default :	double length_double;		//## attribute length_double
    };

フィードバック