Project

General

Profile

調査 #1455

IFR ID取得方法の調査

Added by n-ando almost 14 years ago. Updated about 13 years ago.

Status:
終了
Priority:
通常
Assignee:
Target version:
-
Start date:
05/06/2010
Due date:
% Done:

100%

Estimated time:

Description

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

History

#1 Updated by n-ando about 13 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 about 13 years ago

  • Status changed from 新規 to 終了

Also available in: Atom PDF