この節で説明する関数は、インタフェースリポジトリオブジェクトが他のインタフェースリポジトリオブジェクトを包含する関係を持ち得る各インタフェースリポジトリオブジェクト(このインタフェースリポジトリオブジェクトをContainerと呼ぶ)に継承されて、その継承先のインタフェースリポジトリオブジェクトの関数として使用されます。
名前
CORBA::Container::lookup
形式
#include <orb_cplus.h> CORBA::Contained_ptr CORBA::Container::lookup( CORBA::ScopedName search_name, CORBA::Environment& env );
機能説明
インタフェースリポジトリオブジェクトが包含するインタフェースリポジトリオブジェクトの中から、指定された名前を持つオブジェクトを見つけだし、そのオブジェクトリファレンスを返します。返却対象のオブジェクトが見つからない場合は、NIL(空の)オブジェクトリファレンスを返して正常終了します。
本関数はオブジェクトリファレンスを格納する領域を獲得するため、この領域が不要になった時点で、CORBA::release()を使用して領域を解放する必要があります。
パラメタ
検索する名前(ScopedName)。
例外情報が格納される構造体。
復帰値
正常終了した場合は、指定された名前を持つオブジェクトのオブジェクトリファレンスが返されます。
異常終了した場合は、NIL(空の)オブジェクトリファレンスが返され、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
名前
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が設定され、オブジェクトリファレンスは不定となります。
パラメタ
検索するインタフェースタイプの包含オブジェクト。
本パラメタにdk_allを指定し、exclude_inheritedにFALSEを指定すると、包含/継承するすべてのオブジェクトリファレンスを対象とします。
TRUE:
継承オブジェクトを検索の対象としません。
FALSE:
継承オブジェクトを検索の対象とします。
例外情報が格納される構造体。
復帰値
正常終了した場合は、検索されたオブジェクトのオブジェクトリファレンスのリストが返されます。
異常終了した場合は、NIL(空の)オブジェクトリファレンスのリストが返され、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
名前
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が設定され、オブジェクトリファレンスは不定となります。
パラメタ
検索のキーとする名前(Identifier)。
検索の対象とする階層の深さ。-1を指定すると、すべての階層を検索します。1を指定すると、指定されたオブジェクトの直下にあるオブジェクトだけを検索します。
検索するインタフェースタイプの包含オブジェクト。
本パラメタにdk_allを指定し、exclude_inheritedにFALSEを指定すると、該当オブジェクトおよびそのオブジェクトが包含/継承するすべてのオブジェクトリファレンスを対象とします。
TRUE:
継承オブジェクトを検索の対象としません。
FALSE:
継承オブジェクトを検索の対象とします。
例外情報が格納される構造体。
復帰値
正常終了した場合は、検索されたオブジェクトのオブジェクトリファレンスのリストが返されます。
異常終了した場合は、NIL(空の)オブジェクトリファレンスのリストが返され、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
名前
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.13.1 型の定義”を参照してください)で返します。
返却対象のオブジェクトが見つからない場合は、返却リストのlengthに0が設定され、オブジェクトリファレンスは不定となります
パラメタ
検索するインタフェースタイプの包含オブジェクト。
本パラメタにdk_allを指定し、exclude_inheritedにFALSEを指定すると、包含/継承されるすべてのオブジェクト定義情報リストを返します。ただし、この場合もmax_returned_objsで指定された数分だけが返却対象となります(登録されている数分を得る場合は、max_returned_objsに-1を指定します)。
TRUE:
継承オブジェクトを検索の対象としません。
FALSE:
継承オブジェクトを検索の対象とします。
定義情報を返す数。
例外情報が格納される構造体。
復帰値
正常終了した場合は、オブジェクトの定義情報リストが返されます。
異常終了した場合は、NIL(空の)定義情報リストが返され、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
(1) CORBA::Container::def_kind
(1)については、“IRObject共通インタフェース”を継承します。
“CORBA::IRObject”の部分を“CORBA::Container”に置き換えて使用することができます。
関数の仕様については、“2.13.2 IRObject共通インタフェース”を参照してください。