Hitachi

VisiBroker Version 5 Borland(R) Enterprise Server VisiBroker(R) デベロッパーズガイド


16.5 IRへのアクセス

クライアントプログラムは,IRのIDLインタフェースを使用して,IR内のオブジェクトについて情報を取得できます。クライアントプログラムはRepositoryにバインドして,コードサンプル16-1に示すメソッドを呼び出せます。このインタフェースの詳細については,マニュアル「Borland Enterprise Server VisiBroker プログラマーズリファレンス」の「インタフェースリポジトリインタフェースとクラス」の記述を参照してください。

コードサンプル16-1 リポジトリクラス(C++)
class CORBA {
   class Repository : public Container {
      . . .
      CORBA::Contained_ptr lookup_id(
            const char * search_id);
      CORBA::PrimitiveDef_ptr get_primitive(
            CORBA::PrimitiveKind kind);
      CORBA::StringDef_ptr create_string(
            CORBA::ULong bound);
      CORBA::SequenceDef_ptr create_sequence(
            CORBA::ULong bound,
            CORBA::IDLType_ptr element_type);
      CORBA::ArrayDef_ptr create_array(
            CORBA::ULong length,
            CORBA::IDLType_ptr element_type);
      . . .
   };
   . . .
};

IRを使用するプログラムは,-D_VIS_INCLUDE_IRフラグでコンパイルする必要があります。

コードサンプル16-2 リポジトリインタフェース(Java)
package org.omg.CORBA;
public interface Repository extends Container {
   . . .
   org.omg.CORBA.Contained lookup_id(string id);
   org.omg.CORBA.PrimitiveDef get_primitive(
                     org.omg.CORBA.PrimitiveKind kind);
   org.omg.CORBA.StringDef create_string(long bound);
   org.omg.CORBA.SequenceDef create_sequence(long bound,
                     org.omg.CORBA.IDLType element_type);
   org.omg.CORBA.ArrayDef create_array(long length,
                     org.omg.CORBA.IDLType element_type);
   . . .
}