Actions
調査 #1455
closedIFR ID取得方法の調査
Start date:
05/06/2010
Due date:
% Done:
100%
Estimated time:
Description
IFR IDを取得する方法を調査する。
Updated by n-ando about 14 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
Actions