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

4.11.10 UnionDefインタフェース

4.11.10.1 CORBA-UNIONDEF--GET-DISCRIMINATOR-TYPE

名前

  CORBA-UNIONDEF--GET-DISCRIMINATOR-TYPE

形式

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 TYPECODE TYPECODE IN CORBA REPLACING CORBA-TYPECODE BY TYPECODE.

PROCEDURE DIVISION.
    CALL "CORBA-UNIONDEF--GET-DISCRIMINATOR-TYPE" USING
         OBJ
         ENV
         TYPECODE.

機能説明

  OBJで指定したUnionDefオブジェクトの弁別情報定義のTypeCodeを返します。
  本関数はタイプコードを格納する領域を獲得するため、この領域が不要になった時点で、CORBA-OBJECT-RELEASE関数を使用して領域を解放する必要があります。

復帰値

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

4.11.10.2 CORBA-UNIONDEF--GET-MEMBERS

名前

  CORBA-UNIONDEF--GET-MEMBERS

形式

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 UNIONMEMBERSEQ-ADDR USAGE IS POINTER.

PROCEDURE DIVISION.
    CALL "CORBA-UNIONDEF--GET-MEMBERS" USING
         OBJ
         ENV
         UNIONMEMBERSEQ.

機能説明

  OBJで指定されたUnionDefオブジェクトのメンバ情報をUNIONMEMBER構造体のリスト形式(“4.11.1 型の定義”を参照してください)で返します。
  本関数はUNIONMEMBER構造体のリストを格納する領域を獲得するため、この領域が不要になった時点で、CORBA-FREE関数を使用して領域を解放する必要があります。

復帰値

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

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

  (1) CORBA-UNIONDEF--GET-DEF-KIND
  (2) CORBA-UNIONDEF--GET-ID
  (3) CORBA-UNIONDEF--GET-NAME
  (4) CORBA-UNIONDEF--GET-DEFINED-IN
  (5) CORBA-UNIONDEF-DESCRIBE

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

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