調査 #1455
IFR ID取得方法の調査
Start date:
05/06/2010
Due date:
% Done:
100%
Estimated time:
Description
IFR IDを取得する方法を調査する。
History
#1 Updated by n-ando over 12 years ago
- % Done changed from 0 to 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 Updated by n-ando over 12 years ago
- Status changed from 新規 to 終了