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

1.10.4 Container共通インタフェース

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

1.10.4.1 CORBA_Container_lookup()

名前

  CORBA_Container_lookup

形式

  #include <orb.h>
  #include <InterfaceRep.h>
  CORBA_Contained  CORBA_Container_lookup(
        CORBA_Object  obj,
        CORBA_ScopedName  search_name,
        CORBA_Environment  *env );

機能説明

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

パラメタ

  obj

  インタフェースリポジトリオブジェクト。

  search_name

  検索する名前(ScopedName)。

  env

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

復帰値

  正常終了した場合は、指定された名前を持つオブジェクトのオブジェクトリファレンスが返されます。
  異常終了した場合は、NIL(空の)オブジェクトリファレンスが返されます。また、env構造体の_majorにはCORBA_SYSTEM_EXCEPTIONが返され、_idと_minorに詳細情報が設定されます。

  _idと_minorの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

1.10.4.2 CORBA_Container_contents()

名前

  CORBA_Container_contents

形式

  #include <orb.h>
  #include <InterfaceRep.h>
  CORBA_ContainedSeq  *CORBA_Container_contents(
        CORBA_Object  obj,
        CORBA_DefinitionKind  limit_type,
        CORBA_boolean  exclude_inherited,
        CORBA_Environment  *env );

機能説明

  objに指定されたインタフェースリポジトリオブジェクトに直接包含される、または継承によって包含されるインタフェースリポジトリオブジェクトのオブジェクトリファレンスをリスト形式で返します。
  返却対象のオブジェクトが見つからない場合は、返却リストの_lengthに0が設定され、オブジェクトリファレンスは不定となります。
  本関数はオブジェクトリファレンスのリストを格納する領域を獲得するため、この領域が不要になった時点で、CORBA_free()を使用して領域を解放する必要があります。

パラメタ

  obj

  インタフェースリポジトリオブジェクト。

  limit_type

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

  exclude_inherited

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

  env

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

復帰値

  正常終了した場合は、検索されたオブジェクトのオブジェクトリファレンスのリストが返されます。
  異常終了した場合は、NIL(空の)オブジェクトリファレンスのリストが返されます。また、env構造体の_majorにはCORBA_SYSTEM_EXCEPTIONが返され、_idと_minorに詳細情報が設定されます。

  _idと_minorの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

1.10.4.3 CORBA_Container_lookup_name()

名前

  CORBA_Container_lookup_name

形式

  #include <orb.h>
  #include <InterfaceRep.h>
  CORBA_ContainedSeq  *CORBA_Container_lookup_name(
        CORBA_Object  obj,
        CORBA_Identifier  search_name,
        CORBA_long  levels_to_search,
        CORBA_DefinitionKind  limit_type,
        CORBA_boolean  exclude_inherited,
        CORBA_Environment  *env );

機能説明

  objで指定されたオブジェクトに直接包含される、または継承によって包含されるオブジェクトの中から、指定された名前を持つオブジェクトを見つけだし、そのオブジェクトリファレンスとともに、さらにそのオブジェクトが包含/継承するオブジェクトのオブジェクトリファレンスをリスト形式で返します。
  返却対象のオブジェクトが見つからない場合は、返却リストの_lengthに0が設定され、オブジェクトリファレンスは不定となります。
  本関数はオブジェクトリファレンスのリストを格納する領域を獲得するため、この領域が不要になった時点で、CORBA_free()を使用して領域を解放する必要があります。

パラメタ

  obj

  インタフェースリポジトリオブジェクト。

  search_name

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

  levels_to_search

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

  limit_type

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

  exclude_inherited

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

  env

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

復帰値

  正常終了した場合は、検索されたオブジェクトのオブジェクトリファレンスのリストが返されます。
  異常終了した場合は、NIL(空の)オブジェクトリファレンスのリストが返されます。また、env構造体の_majorにはCORBA_SYSTEM_EXCEPTIONが返され、_idと_minorに詳細情報が設定されます。

  _idと_minorの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

1.10.4.4 CORBA_Container_describe_contents()

名前

  CORBA_Container_describe_contents

形式

  #include <orb.h>
  #include <InterfaceRep.h>
  CORBA_Container_DescriptionSeq  *CORBA_Container_describe_contents(
        CORBA_Object  obj,
        CORBA_DefinitionKind  limit_type,
        CORBA_boolean  exclude_inherited,
        CORBA_long  max_returned_objs, 
        CORBA_Environment  *env );

機能説明

  objで指定したインタフェースリポジトリオブジェクトに直接包含される、または継承によって包含されるオブジェクトの定義情報を、Description構造体のリスト形式(“1.10.1 型の定義”を参照してください)で返します。
  返却対象のオブジェクトが見つからない場合は、返却リストの_lengthに0が設定され、オブジェクトリファレンスは不定となります。
  本関数はDescription構造体のリストを格納する領域を獲得するため、この領域が不要になった時点で、CORBA_free()を使用して領域を解放する必要があります。

パラメタ

  obj

  インタフェースリポジトリオブジェクト。

  limit_type

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

  exclude_inherited

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

  max_returned_objs

  定義情報を返す数。

  env

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

復帰値

  正常終了した場合は、オブジェクトの定義情報リストが返されます。
  異常終了した場合は、NIL(空の)定義情報リストが返されます。また、env構造体の_majorにはCORBA_SYSTEM_EXCEPTIONが返され、_idと_minorに詳細情報が設定されます。

  _idと_minorの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

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

(1) CORBA_Container__get_def_kind

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