ページの先頭行へ戻る
Interstage Application Server リファレンスマニュアル(API編)
FUJITSU Software

2.14.4 Container共通インタフェース

この節で説明する関数は、インタフェースリポジトリオブジェクトが他のインタフェースリポジトリオブジェクトを包含する関係を持ち得る各インタフェースリポジトリオブジェクト(このインタフェースリポジトリオブジェクトをContainerと呼ぶ)に継承されて、その継承先のインタフェースリポジトリオブジェクトの関数として使用されます。

2.14.4.1 CORBA::Container::lookup()

名前

CORBA::Container::lookup

形式

#include <orb_cplus.h>
CORBA::Contained_ptr  CORBA::Container::lookup(
      CORBA::ScopedName    search_name,
      CORBA::Environment&  env );

機能説明

インタフェースリポジトリオブジェクトが包含するインタフェースリポジトリオブジェクトの中から、指定された名前を持つオブジェクトを見つけだし、そのオブジェクトリファレンスを返します。返却対象のオブジェクトが見つからない場合は、NIL(空の)オブジェクトリファレンスを返して正常終了します。
本関数はオブジェクトリファレンスを格納する領域を獲得するため、この領域が不要になった時点で、CORBA::release()を使用して領域を解放する必要があります。

パラメタ

search_name

検索する名前(ScopedName)。

env

例外情報が格納される構造体。

復帰値

正常終了した場合は、指定された名前を持つオブジェクトのオブジェクトリファレンスが返されます。
異常終了した場合は、NIL(空の)オブジェクトリファレンスが返され、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.14.4.2 CORBA::Container::contents()

名前

CORBA::Container::contents

形式

#include <orb_cplus.h>
CORBA::ContainedSeq  *CORBA::Container::contents(
      CORBA::DefinitionKind  limit_type,
      CORBA::Boolean         exclude_inherited,
      CORBA:Environment&     env );

機能説明

インタフェースリポジトリオブジェクトに直接包含される、または継承によって包含されるインタフェースリポジトリオブジェクトのオブジェクトリファレンスをリスト形式で返します。
返却対象のオブジェクトが見つからない場合は、返却リストのlengthに0が設定され、オブジェクトリファレンスは不定となります。

パラメタ

limit_type

検索するインタフェースタイプの包含オブジェクト。
本パラメタにdk_allを指定し、exclude_inheritedにFALSEを指定すると、包含/継承するすべてのオブジェクトリファレンスを対象とします。

exclude_inherited

TRUE:
継承オブジェクトを検索の対象としません。
FALSE:
継承オブジェクトを検索の対象とします。

env

例外情報が格納される構造体。

復帰値

正常終了した場合は、検索されたオブジェクトのオブジェクトリファレンスのリストが返されます。
異常終了した場合は、NIL(空の)オブジェクトリファレンスのリストが返され、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.14.4.3 CORBA::Container::lookup_name()

名前

CORBA::Container::lookup_name

形式

#include <orb_cplus.h>
CORBA::ContainedSeq  *CORBA::Container::lookup _name(
      CORBA::Identifier      search_name,
      CORBA::Long            levels_to_search,
      CORBA::DefinitionKind  limit_type,
      CORBA::Boolean         exclude_inherited,
      CORBA::Environment&    env );

機能説明

インタフェースリポジトリオブジェクトに直接包含される、または継承によって包含されるオブジェクトの中から、指定された名前を持つオブジェクトを見つけだし、そのオブジェクトリファレンスとともに、さらにそのオブジェクトが包含/継承するオブジェクトのオブジェクトリファレンスをリスト形式で返します。
返却対象のオブジェクトが見つからない場合は、返却リストのlengthに0が設定され、オブジェクトリファレンスは不定となります。

パラメタ

search_name

検索のキーとする名前(Identifier)。

levels_to_search

検索の対象とする階層の深さ。-1を指定すると、すべての階層を検索します。1を指定すると、指定されたオブジェクトの直下にあるオブジェクトだけを検索します。

limit_type

検索するインタフェースタイプの包含オブジェクト。
本パラメタにdk_allを指定し、exclude_inheritedにFALSEを指定すると、該当オブジェクトおよびそのオブジェクトが包含/継承するすべてのオブジェクトリファレンスを対象とします。

exclude_inherited

TRUE:
継承オブジェクトを検索の対象としません。
FALSE:
継承オブジェクトを検索の対象とします。

env

例外情報が格納される構造体。

復帰値

正常終了した場合は、検索されたオブジェクトのオブジェクトリファレンスのリストが返されます。
異常終了した場合は、NIL(空の)オブジェクトリファレンスのリストが返され、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.14.4.4 CORBA::Container::describe_contents()

名前

CORBA::Container::describe_contents

形式

#include <orb_cplus.h>
CORBA::DescriptionSeq  *CORBA::Container::describe _contents(
      CORBA::DefinitionKind  limit_type,
      CORBA::Boolean         exclude_inherited,
      CORBA::Long            max_returned _objs,
      CORBA::Environment&    env );

機能説明

インタフェースリポジトリオブジェクトに直接包含される、または継承によって包含されるオブジェクトの定義情報を、Description構造体のリスト形式(“2.14.1 型の定義”を参照してください)で返します。
返却対象のオブジェクトが見つからない場合は、返却リストのlengthに0が設定され、オブジェクトリファレンスは不定となります

パラメタ

limit_type

検索するインタフェースタイプの包含オブジェクト。
本パラメタにdk_allを指定し、exclude_inheritedにFALSEを指定すると、包含/継承されるすべてのオブジェクト定義情報リストを返します。ただし、この場合もmax_returned_objsで指定された数分だけが返却対象となります(登録されている数分を得る場合は、max_returned_objsに-1を指定します)。

exclude_inherited

TRUE:
継承オブジェクトを検索の対象としません。
FALSE:
継承オブジェクトを検索の対象とします。

max_returned_objs

定義情報を返す数。

env

例外情報が格納される構造体。

復帰値

正常終了した場合は、オブジェクトの定義情報リストが返されます。
異常終了した場合は、NIL(空の)定義情報リストが返され、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

2.14.4.5 継承されて使用できる関数

(1) CORBA::Container::def_kind

(1)については、“IRObject共通インタフェース”を継承します。
“CORBA::IRObject”の部分を“CORBA::Container”に置き換えて使用することができます。
関数の仕様については、“2.14.2 IRObject共通インタフェース”を参照してください。