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

4.11.1 型の定義

形式

  CORBAサービスでインタフェースリポジトリを使用するアプリケーションプログラムを作成する場合に必要な登録集について説明します。なお、インタフェースリポジトリが提供する関数のうち、継承によって利用できる関数用のREPLACE関数は、継承用登録集の原文(REPLACE.cbl)を参照してください。

 CORBA-REPOSITORYID USAGE IS POINTER.   * リポジトリID
 CORBA-IDENTIFIER USAGE IS POINTER.     * 識別名
 CORBA-VERSIONSPEC USAGE IS POINTER.    * バージョン情報
 CORBA-SCOPEDNAME USAGE IS POINTER.     * スコープ名
* オブジェクト種別
 CORBA-DEFINITIONKIND PIC  9(9) COMP-5.
   88 CORBA-DK-NONE VALUE 0.
   88 CORBA-DK-ALL VALUE 1.
   88 CORBA-DK-ATTRIBUTE VALUE 2.
   88 CORBA-DK-CONSTANT VALUE 3.
   88 CORBA-DK-EXCEPTION VALUE 4.
   88 CORBA-DK-INTERFACE VALUE 5.
   88 CORBA-DK-MODULE VALUE 6.
   88 CORBA-DK-OPERATION VALUE 7.
   88 CORBA-DK-TYPEDEF VALUE 8.
   88 CORBA-DK-ALIAS VALUE 9.
   88 CORBA-DK-STRUCT VALUE 10.
   88 CORBA-DK-UNION VALUE 11.
   88 CORBA-DK-ENUM VALUE 12.
   88 CORBA-DK-PRIMITIVE VALUE 13.
   88 CORBA-DK-STRING VALUE 14.
   88 CORBA-DK-SEQUENCE VALUE 15.
   88 CORBA-DK-ARRAY VALUE 16.
   88 CORBA-DK-REPOSITORY VALUE 17.
   88 CORBA-DK-WSTRING VALUE 18.
   88 CORBA-DK-FIXED VALUE 19.

*IROBJECTオブジェクトリファレンス
 CORBA-IROBJECT USAGE IS POINTER.
*CONTAINEDオブジェクトリファレンス
 CORBA-CONTAINED USAGE IS POINTER.
*CONTAINERオブジェクトリファレンス
 CORBA-CONTAINER USAGE IS POINTER.
*MODULEDEFオブジェクトリファレンス
 CORBA-MODULEDEF USAGE IS POINTER.
*CONSTANTDEFオブジェクトリファレンス
 CORBA-CONSTANTDEF USAGE IS POINTER.
*IDLTYPEオブジェクトリファレンス
 CORBA-IDLTYPE USAGE IS POINTER.
*EXCEPTIONDEFオブジェクトリファレンス
 CORBA-EXCEPTIONDEF USAGE IS POINTER.
*STRUCTDEFオブジェクトリファレンス
 CORBA-STRUCTDEF USAGE IS POINTER.
*UNIONDEFオブジェクトリファレンス  
 CORBA-UNIONDEF USAGE IS POINTER.
*ENUMDEFオブジェクトリファレンス
 CORBA-ENUMDEF USAGE IS POINTER.
*ALIASDEFオブジェクトリファレンス
 CORBA-ALIASDEF USAGE IS POINTER.
*INTERFACEDEFオブジェクトリファレンス
 CORBA-INTERFACEDEF USAGE IS POINTER.
*ATTRIBUTEDEFオブジェクトリファレンス
 CORBA-ATTRIBUTEDEF USAGE IS POINTER.
*OPERATIONDEFオブジェクトリファレンス
 CORBA-OPERATIONDEF USAGE IS POINTER.
*REPOSITORYオブジェクトリファレンス
 CORBA-REPOSITORY USAGE IS POINTER.
*PRIMITIVEDEFオブジェクトリファレンス
 CORBA-PRIMITIVEDEF USAGE IS POINTER.
*STRINGDEFオブジェクトリファレンス
 CORBA-STRINGDEF USAGE IS POINTER.

*SEQUENCEDEFオブジェクトリファレンス   
 CORBA-SEQUENCEDEF USAGE IS POINTER.
*ARRAYDEFオブジェクトリファレンス
 CORBA-ARRAYDEF USAGE IS POINTER.
*TYPEDEFDEFオブジェクトリファレンス
 CORBA-TYPEDEFDEF USAGE IS POINTER.
*INTERFACEREPオブジェクトリファレンス 
 CORBA-INTERFACEREP USAGE IS POINTER.
*FIXEDDEFオブジェクトリファレンス
 CORBA-FIXEDDEF USAGE IS POINTER.

* CONTAINEDオブジェクト情報
 CORBA-CONTAINED-DESCRIPTION.
   02 KIND PIC 9(9) COMP-5.                     * オブジェクト種別
     88 CORBA-DK-NONE VALUE 0.
     88 CORBA-DK-ALL VALUE 1.
     88 CORBA-DK-ATTRIBUTE VALUE 2.
     88 CORBA-DK-CONSTANT VALUE 3.
     88 CORBA-DK-EXCEPTION VALUE 4.
     88 CORBA-DK-INTERFACE VALUE 5.
     88 CORBA-DK-MODULE VALUE 6.
     88 CORBA-DK-OPERATION VALUE 7.
     88 CORBA-DK-TYPEDEF VALUE 8.
     88 CORBA-DK-ALIAS VALUE 9.
     88 CORBA-DK-STRUCT VALUE 10.
     88 CORBA-DK-UNION VALUE 11.
     88 CORBA-DK-ENUM VALUE 12.
     88 CORBA-DK-PRIMITIVE VALUE 13.
     88 CORBA-DK-STRING VALUE 14.
     88 CORBA-DK-SEQUENCE VALUE 15.
     88 CORBA-DK-ARRAY VALUE 16.
     88 CORBA-DK-REPOSITORY VALUE 17.
   02 IDL-VALUE.                                * オブジェクト固有情報
     03 ANY-TYPE USAGE POINTER.
     03 ANY-VALUE USAGE POINTER.

* Contained オブジェクトリファレンスのシーケンス
 CORBA-CONTAINEDSEQ.
   02 SEQ-MAXIMUM PIC S9(9) COMP-5.
   02 SEQ-LENGTH PIC S9(9) COMP-5.
   02 SEQ-BUFFER USAGE IS POINTER.

* CONTAINEDオブジェクト情報
 CORBA-CONTAINER-DESCRIPTION.
                                                * オブジェクトリファレンス
   02 CONTAINED-OBJECT USAGE IS POINTER.
   02 KIND PIC 9(9) COMP-5.                     * オブジェクト種別
     88 CORBA-DK-NONE VALUE 0.
     88 CORBA-DK-ALL VALUE 1.
     88 CORBA-DK-ATTRIBUTE VALUE 2.
     88 CORBA-DK-CONSTANT VALUE 3.
     88 CORBA-DK-EXCEPTION VALUE 4.
     88 CORBA-DK-INTERFACE VALUE 5.
     88 CORBA-DK-MODULE VALUE 6.
     88 CORBA-DK-OPERATION VALUE 7.
     88 CORBA-DK-TYPEDEF VALUE 8.
     88 CORBA-DK-ALIAS VALUE 9.
     88 CORBA-DK-STRUCT VALUE 10.
     88 CORBA-DK-UNION VALUE 11.
     88 CORBA-DK-ENUM VALUE 12.
     88 CORBA-DK-PRIMITIVE VALUE 13.
     88 CORBA-DK-STRING VALUE 14.
     88 CORBA-DK-SEQUENCE VALUE 15.
     88 CORBA-DK-ARRAY VALUE 16.
     88 CORBA-DK-REPOSITORY VALUE 17.
     88 CORBA-DK-WSTRING VALUE 18.
     88 CORBA-DK-FIXED VALUE 19.
   02 IDL-VALUE.                                * オブジェクト固有情報
     03 ANY-TYPE USAGE POINTER.
     03 ANY-VALUE USAGE POINTER.

* CONTAINER-DESCRIPTIONのシーケンス
 CORBA-CONTAINER-DESCRIPTIONSEQ.
   02 SEQ-MAXIMUM PIC S9(9) COMP-5.
   02 SEQ-LENGTH PIC S9(9) COMP-5.
   02 SEQ-BUFFER USAGE IS POINTER.
* MODULEDEF情報 
 CORBA-MODULEDESCRIPTION.
   02 NAME USAGE IS POINTER.            * 識別名
   02 IDL-ID USAGE IS POINTER.          * リポジトリID
   02 DEFINED-IN USAGE IS POINTER.      * 親オブジェクトのリポジトリID
   02 VERSION USAGE IS POINTER.         * バージョン情報

* CONSTANTDEF情報
 CORBA-CONSTANTDESCRIPTION.
   02 NAME USAGE IS POINTER.            * 識別名
   02 IDL-ID USAGE IS POINTER.          * リポジトリID
   02 DEFINED-IN USAGE IS POINTER.      * 親オブジェクトのリポジトリID
   02 VERSION USAGE IS POINTER.         * バージョン情報
   02 IDL-TYPE  USAGE IS POINTER.       * タイプコード
   02 IDL-VALUE.                        * 定数値
      03 ANY-TYPE  USAGE POINTER.
      03 ANY-VALUE USAGE POINTER.

* TYPEDEF情報
 CORBA-TYPEDESCRIPTION.
   02 NAME USAGE IS POINTER.
   02 IDL-ID USAGE IS POINTER.
   02 DEFINED-IN USAGE IS POINTER.
   02 VERSION USAGE IS POINTER.
   02 IDL-TYPE USAGE IS POINTER..

* STRUCTMEMBER情報
 CORBA-STRUCTMEMBER.
   02 NAME USAGE IS POINTER.            * 識別名
   02 IDL-TYPE USAGE IS POINTER.        * タイプコード
   02 TYPE-DEF USAGE IS POINTER.        * メンバのオブジェクトリファレンス

* 構造体メンバのシーケンス
 CORBA-STRUCTMEMBERSEQ.
   02 SEQ-MAXIMUM PIC S9(9) COMP-5.
   02 SEQ-LENGTH PIC S9(9) COMP-5.
   02 SEQ-BUFFER USAGE IS POINTER.

* UNIONMEMBER情報
 CORBA-UNIONMEMBER.
   02 NAME USAGE IS POINTER.            * 識別名
   02 IDL-LABEL.                        * 弁別値
      03 ANY-TYPE   USAGE POINTER.
      03 ANY-VALUE  USAGE POINTER.
   02 IDL-TYPE      USAGE POINTER.      * タイプコード
   02 TYPE-DEF      USAGE POINTER.      * メンバのオブジェクトリファレンス

* 共用体メンバのシーケンス
 CORBA-UNIONMEMBERSEQ.
   02 SEQ-MAXIMUM PIC S9(9) COMP-5.
   02 SEQ-LENGTH PIC S9(9) COMP-5.
   02 SEQ-BUFFER USAGE IS POINTER.

* Enumメンバのシーケンス
 CORBA-ENUMMEMBERSEQ.
   02 SEQ-MAXIMUM PIC S9(9) COMP-5.
   02 SEQ-LENGTH PIC S9(9) COMP-5.
   02 SEQ-BUFFER USAGE IS POINTER.

* PRIMITIVEの種別
 CORBA-PRIMITIVEKIND  PIC 9(9) COMP-5.
   88 CORBA-PK-NULL VALUE 0.
   88 CORBA-PK-VOID VALUE 1.
   88 CORBA-PK-SHORT VALUE 2.
   88 CORBA-PK-LONG VALUE 3.
   88 CORBA-PK-USHORT VALUE 4.
   88 CORBA-PK-ULONG VALUE 5.
   88 CORBA-PK-FLOAT VALUE 6.
   88 CORBA-PK-DOUBLE VALUE 7.
   88 CORBA-PK-BOOLEAN VALUE 8.
   88 CORBA-PK-CHAR VALUE 9.
   88 CORBA-PK-OCTET VALUE 10.
   88 CORBA-PK-ANY VALUE 11.
   88 CORBA-PK-TYPECODE VALUE 12.
   88 CORBA-PK-PRINCIPAL VALUE 13.
   88 CORBA-PK-STRING VALUE 14.
   88 CORBA-PK-OBJREF VALUE 15.
   88 CORBA-PK-LONGLONG VALUE 16.
   88 CORBA-PK-WCHAR VALUE 19.
   88 CORBA-PK-WSTRING VALUE 20.

* EXCEPTIONDEF情報
 CORBA-EXCEPTIONDESCRIPTION.
   02 NAME USAGE IS POINTER.            * 識別名
   02 IDL-ID USAGE IS POINTER.          * リポジトリID
   02 DEFINED-IN USAGE IS POINTER.      * 親オブジェクトのリポジトリ
   02 VERSION USAGE IS POINTER.         * バージョン情報
   02 IDL-TYPE USAGE IS POINTER.        * タイプコード

* ATTRIBUTEの属性種別
 CORBA-ATTRIBUTEMODE  PIC 9(9) COMP-5.
   88 CORBA-ATTR-NORMAL VALUE 0.
   88 CORBA-ATTR-READONLY VALUE 1.

* ATTRIBUTEDEF情報
 CORBA-ATTRIBUTEDESCRIPTION.
   02 NAME USAGE IS POINTER.            * 識別名
   02 IDL-ID USAGE IS POINTER.          * リポジトリID
   02 DEFINED-IN USAGE IS POINTER.      * 親オブジェクトのリポジトリID
   02 VERSION USAGE IS POINTER.         * バージョン情報
   02 IDL-TYPE USAGE IS POINTER.        * タイプコード
   02 IDL-MODE PIC 9(9) COMP-5.         * 属性種別
     88 CORBA-ATTR-NORMAL VALUE 0.
     88 CORBA-ATTR-READONLY VALUE 1.

* パラメタの属性種別
 CORBA-PARAMETERMODE  PIC 9(9) COMP-5.
   88 CORBA-PARAM-IN VALUE 0.
   88 CORBA-PARAM-OUT VALUE 1.
   88 CORBA-PARAM-INOUT VALUE 2.

* パラメタ情報
 CORBA-PARAMETERDESCRIPTION.
   02 NAME USAGE IS POINTER.            * 識別名
   02 IDL-TYPE USAGE IS POINTER.        * タイプコード
   02 TYPE-DEF USAGE IS POINTER.        * オブジェクトリファレンス
   02 IDL-MODE.PIC 9(9) COMP-5.         * 属性
     88 CORBA-PARAM-IN VALUE 0.
     88 CORBA-PARAM-OUT VALUE 1.
     88 CORBA-PARAM-INOUT VALUE 2.

* パラメタ情報のシーケンス
 CORBA-PARDESCRIPTIONSEQ.
   02 SEQ-MAXIMUM PIC S9(9) COMP-5.
   02 SEQ-LENGTH PIC S9(9) COMP-5.
   02 SEQ-BUFFER USAGE IS POINTER.

* コンテキスト
 CORBA-CONTEXTIDENTIFIER USAGE IS POINTER.

* コンテキストのシーケンス
 CORBA-CONTEXTIDSEQ.
   02 SEQ-MAXIMUM PIC S9(9) COMP-5.
   02 SEQ-LENGTH PIC S9(9) COMP-5.
   02 SEQ-BUFFER USAGE IS POINTER.

* EXCEPTIONDEFオブジェクトリファレンスのシーケンス
 CORBA-EXCEPTIONDEFSEQ.
   02 SEQ-MAXIMUM PIC S9(9) COMP-5.
   02 SEQ-LENGTH PIC S9(9) COMP-5.
   02 SEQ-BUFFER USAGE IS POINTER.

* EXCEPTIONDEF情報のシーケンス
 CORBA-EXCDESCRIPTIONSEQ.
   02 SEQ-MAXIMUM PIC S9(9) COMP-5.
   02 SEQ-LENGTH PIC S9(9) COMP-5.
   02 SEQ-BUFFER USAGE IS POINTER.

* OPERATIONの属性種別
 CORBA-OPERATIONMODE  PIC 9(9) COMP-5.
   88 CORBA-OP-NORMAL VALUE 0.
   88 CORBA-OP-ONEWAY VALUE 1.

 CORBA-OPERATIONDESCRIPTION.
   02 NAME USAGE IS POINTER.            * 識別名
   02 IDL-ID USAGE IS POINTER.          * リポジトリID
   02 DEFINED-IN USAGE IS POINTER.      * 親オブジェクトのリポジトリID
   02 VERSION USAGE IS POINTER.         * バージョン情報
   02 RESULT USAGE IS POINTER.          * 復帰値のタイプコード
   02 IDL-MODE   PIC 9(9) COMP-5.               * 属性
     88 CORBA-OP-NORMAL VALUE 0.
     88 CORBA-OP-ONEWAY VALUE 1.
   02 CONTEXTS.                         * コンテキスト
     03 SEQ-MAXIMUM PIC S9(9) COMP-5.
     03 SEQ-LENGTH PIC S9(9) COMP-5.
     03 SEQ-BUFFER USAGE IS POINTER.
   02 PARAMETERS.                       * パラメタ情報
     03 SEQ-MAXIMUM PIC S9(9) COMP-5.
     03 SEQ-LENGTH PIC S9(9) COMP-5.
     03 SEQ-BUFFER USAGE IS POINTER.
   02 EXCEPTIONS.                       * 例外情報
     03 SEQ-MAXIMUM PIC S9(9) COMP-5.
     03 SEQ-LENGTH PIC S9(9) COMP-5.
     03 SEQ-BUFFER USAGE IS POINTER.

 CORBA-INTERFACEDEFSEQ.               * INTERFACEDEFオブジェクトのシーケンス
   02 SEQ-MAXIMUM PIC S9(9) COMP-5.
   02 SEQ-LENGTH PIC S9(9) COMP-5.
   02 SEQ-BUFFER USAGE IS POINTER.

 CORBA-REPOSITORYIDSEQ.               * REPOSITORYIDのシーケンス
   02 SEQ-MAXIMUM PIC S9(9) COMP-5.
   02 SEQ-LENGTH PIC S9(9) COMP-5.
   02 SEQ-BUFFER USAGE IS POINTER.

 CORBA-OPDESCRIPTIONSEQ.              * OPERATIONDESCRIPTION情報クラスのシーケンス
   02 SEQ-MAXIMUM PIC S9(9) COMP-5.
   02 SEQ-LENGTH PIC S9(9) COMP-5.
   02 SEQ-BUFFER USAGE IS POINTER.

 CORBA-ATTRDESCRIPTIONSEQ.           * ATTRIBUTEDEF情報クラスのシーケンス
   02 SEQ-MAXIMUM PIC S9(9) COMP-5.
   02 SEQ-LENGTH PIC S9(9) COMP-5.
   02 SEQ-BUFFER USAGE IS POINTER.

 CORBA-INTERFACEDEF-FULLINTERFA.    * インタフェース情報クラス
   02 NAME USAGE IS POINTER.           * 識別名
   02 IDL-ID USAGE IS POINTER.          * リポジトリID
   02 DEFINED-IN USAGE IS POINTER.     * 親オブジェクトのリポジトリID
   02 VERSION USAGE IS POINTER.        * バージョン情報
   02 OPERATIONS.                       * オペレーション情報クラスのシーケンス
     03 SEQ-MAXIMUM PIC S9(9) COMP-5.
     03 SEQ-LENGTH PIC S9(9) COMP-5.
     03 SEQ-BUFFER USAGE IS POINTER.
   02 ATTRIBUTES.                       * アトリビュート情報クラスのシーケンス
     03 SEQ-MAXIMUM PIC S9(9) COMP-5.
     03 SEQ-LENGTH PIC S9(9) COMP-5.
     03 SEQ-BUFFER USAGE IS POINTER.
   02 BASE-INTERFACES.                  * 継承インタフェースの
                                        * REPOSITORYIDのシーケンス
     03 SEQ-MAXIMUM PIC S9(9) COMP-5.
     03 SEQ-LENGTH PIC S9(9) COMP-5.
     03 SEQ-BUFFER USAGE IS POINTER.
   02 IDL-TYPE USAGE IS POINTER.        * タイプコード

 CORBA-INTERFACEDESCRIPTION.
   02 NAME USAGE IS POINTER.            * 識別名
   02 IDL-ID USAGE IS POINTER.          * リポジトリID
   02 DEFINED-IN USAGE IS POINTER.      * 親オブジェクトのリポジトリID
   02 VERSION USAGE IS POINTER.         * バージョン情報
   02 BASE-INTERFACES.                  * 継承インタフェースの
                                        * REPOSITORYIDのシーケンス
     03 SEQ-MAXIMUM PIC S9(9) COMP-5.
     03 SEQ-LENGTH PIC S9(9) COMP-5.
     03 SEQ-BUFFER USAGE IS POINTER.