プロジェクト

全般

プロフィール

調査 #1455

IFR ID取得方法の調査

n-andoほぼ14年前に追加. 約13年前に更新.

ステータス:
終了
優先度:
通常
担当者:
対象バージョン:
-
開始日:
2010/05/06
期日:
進捗率:

100%

予定工数:

説明

IFR IDを取得する方法を調査する。

履歴

#1 n-ando約13年前に更新

  • 進捗率0 から 100 に変更

変数型については、以前type idを取得していたのとほぼ同じ方法で取得できる。
Any型に多移入してtype()が返すRepositoryId対して、id()やname()を呼ぶことで取得できる。

CORBA::Any any_var;
T   tmp_var;
any_var <<= tmp_var;
any_var.type()->id(); // repo id を返す
any_var.type()->name(); // tyoe id を返す

インターフェース型については、上記と同じ方法では取得できない。
通常インターフェース型はそのままインスタンス化できないので、
_var型か_ptr型で宣言子、それに対してnilリファレンスを代入してから
type()関数でRepositoryIdを取得しなければならない。したがって、以下のようになる。

CORBA::Any any_var;
T   tmp_var;
any_var <<= tmp_var;
any_var.type()->id(); // repo id を返す
any_var.type()->name(); // tyoe id を返す

これらを区別なく扱うためのテンプレート関数がTypename.hにおいて定義されている。
refs 2040

#2 n-ando約13年前に更新

  • ステータス新規 から 終了 に変更

他の形式にエクスポート: Atom PDF