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

4.11.3 Contained共通インタフェース

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

4.11.3.1 CORBA-CONTAINED--GET-ID

名前

  CORBA-CONTAINED--GET-ID

形式

DATA DIVISION.
  WORKING-STORAGE SECTION.
    COPY CONST IN CORBA.
    01 COPY OBJECT IN CORBA REPLACING CORBA-OBJECT BY OBJ.
    01 COPY ENVIRONMENT IN CORBA REPLACING CORBA-ENVIRONMENT BY ENV.
    01 COPY REPOSITORYID IN CORBA REPLACING CORBA-REPOSITORYID BY REPOSITORYID.

PROCEDURE DIVISION.
   CALL "CORBA-CONTAINED--GET-ID" USING
        OBJ
        ENV
        REPOSITORYID.

機能説明

  OBJに指定したインタフェースリポジトリオブジェクトのリポジトリIDを返します。
  本関数はリポジトリIDを格納する領域を獲得するため、この領域が不要になった時点で、CORBA-FREE関数を使用して領域を解放する必要があります。

復帰値

  正常終了した場合、リポジトリIDが返されます。
  異常終了した場合、ENV構造体のMAJORにはCORBA-SYSTEM-EXCEPTIONが返され、IDとMINORに詳細情報が設定されます。IDとMINORの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

4.11.3.2 CORBA-CONTAINED--GET-NAME

名前

  CORBA-CONTAINED--GET-NAME

形式

DATA DIVISION.
  WORKING-STORAGE SECTION.
    COPY CONST IN CORBA.
    01 COPY OBJECT IN CORBA REPLACING CORBA-OBJECT BY OBJ.
    01 COPY ENVIRONMENT IN CORBA REPLACING CORBA-ENVIRONMENT BY ENV.
    01 COPY IDENTIFIER IN CORBA REPLACING CORBA-IDENTIFIER BY IDENTIFIER.

PROCEDURE DIVISION.
    CALL "CORBA-CONTAINED--GET-NAME" USING
         OBJ
         ENV
         IDENTIFIER.

機能説明

  OBJで指定したインタフェースリポジトリオブジェクトの名前を返します。
  本関数はオブジェクトの名前を格納する領域を獲得するため、この領域が不要になった時点で、CORBA-FREE関数を使用して領域を解放する必要があります。

復帰値

  正常終了した場合、名前(CORBA-Identifier)が返されます。
  異常終了した場合、ENV構造体のMAJORにはCORBA-SYSTEM-EXCEPTIONが返され、IDとMINORに詳細情報が設定されます。IDとMINORの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

4.11.3.3 CORBA-CONTAINED--GET-DEFINED-IN

名前

  CORBA-CONTAINED--GET-DEFINED-IN

形式

DATA DIVISION.
  WORKING-STORAGE SECTION.
    COPY CONST IN CORBA.
    01 COPY OBJECT IN CORBA REPLACING CORBA-OBJECT BY OBJ.
    01 COPY ENVIRONMENT IN CORBA REPLACING CORBA-ENVIRONMENT BY ENV.
    01 COPY CONTAINED IN CORBA REPLACING CORBA-CONTAINED BY C-CONTAINED.

PROCEDURE DIVISION.
    CALL "CORBA-CONTAINED--GET-DEFINED-IN " USING
         OBJ
         ENV
         C-CONTAINED.

機能説明

  OBJが指すインタフェースリポジトリオブジェクトを包含しているオブジェクト(Container)のオブジェクトリファレンスを返します。
  本関数はオブジェクトリファレンスを格納する領域を獲得するため、この領域が不要になった時点で、CORBA-OBJECT-RELEASE関数を使用して領域を解放する必要があります。

復帰値

  正常終了した場合、オブジェクトリファレンスが返されます。
  異常終了した場合、ENV構造体のMAJORにはCORBA-SYSTEM-EXCEPTIONが返され、IDとMINORに詳細情報が設定されます。IDとMINORの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

4.11.3.4 CORBA-CONTAINED-DESCRIBE

名前

  CORBA-CONTAINED-DESCRIBE

形式

DATA DIVISION.
  WORKING-STORAGE SECTION.
    COPY CONST IN CORBA.
    01 COPY OBJECT IN CORBA REPLACING CORBA-OBJECT BY OBJ.
    01 COPY ENVIRONMENT IN CORBA REPLACING CORBA-ENVIRONMENT BY ENV.
    01 CONTAINED-DESCRIPTION-ADDR USAGE IS POINTER.

PROCEDURE DIVISION.
   CALL "CORBA-CONTAINED-DESCRIBE" USING
         OBJ
         ENV
         CONTAINED-DESCRIPTION-ADDR.

機能説明

  OBJに指定したインタフェースリポジトリオブジェクトの情報を表すCORBA-CONTAINED-DESCRIPTION構造体を返します。返される情報はそれぞれのインタフェースリポジトリオブジェクトにより異なり、各インタフェースリポジトリオブジェクト固有の情報はCORBA-CONTAINED-DESCRIPTION構造体のVALUEメンバに保持されます。VALUEはCORBA-ANY型の構造体であり、そのVALUEメンバにはインタフェースオブジェクトの種別によって、それぞれ次の構造体のアドレスが設定されます。各構造体の詳細は“4.11.1 型の定義”を参照してください。

  CORBA-MODULEDEFオブジェクト

  MODULEDESCRIPTION構造体

  CORBA-CONSTANTDEFオブジェクト

  CONSTANTDESCRIPTION構造体

  CORBA-STRUCTDEFオブジェクト

  TYPEDESCRIPTION構造体

  CORBA-UNIONDEFオブジェクト

  TYPEDESCRIPTION構造体

  CORBA-ENUMDEFオブジェクト

  TYPEDESCRIPTION構造体

  CORBA-ALIASDEFオブジェクト

  TYPEDESCRIPTION構造体

  CORBA-EXCEPTIONDEFオブジェクト

  EXCEPTIODESCRIPTION構造体

  CORBA-ATTRIBUTEDEFオブジェクト

  ATTRIBUTEDESCRIPTION構造体

  CORBA-OPERATIONDEFオブジェクト

  OPERATIODESCRIPTION構造体

  CORBA-INTERFACEDEFオブジェクト

  INTERFACDESCRIPTION構造体

  本関数はCORBA-CONTAINED-DESCRIPTION構造体を格納する領域を獲得するため、この領域が不要になった時点で、CORBA-FREE関数を使用して領域を解放する必要があります。

復帰値

  正常終了した場合、CORBA-DESCRIPTION構造体のアドレスが返されます。
  異常終了した場合、ENV構造体のMAJORにはCORBA-SYSTEM-EXCEPTIONが返され、IDとMINORに詳細情報が設定されます。IDとMINORの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

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

  (1) CORBA-CONTAINED--GET-DEF-KIND

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