Interstage Application Server アプリケーション作成ガイド (CORBAサービス編)
目次 索引 前ページ次ページ

第6章 アプリケーションの開発(COBOL)> 6.2 クライアントアプリケーションのプログラミング(動的起動インタフェース)

6.2.4 パラメタの組み立て

(1)パラメタリストの生成

 CORBA-ORB-CREATE-LISTメソッドにより、サーバアプリケーションに渡すパラメタを格納するための領域を保持するリストオブジェクトを生成します。このとき、パラメタとして、何個のパラメタを格納するかを指定します。その結果、NVListオブジェクトリファレンスが返されます。NVListオブジェクトインタフェースの詳細については、“NVListオブジェクト”を参照してください。

  * Contained-Description構造体からパラメタ構造体の抽出
     SET ADDRESS OF TMP-DESC TO DESCRIPTION. 
     MOVE IDL-VALUE OF TMP-DESC TO PARAM-ANY. 
  * パラメタ情報の抽出
     SET ADDRESS OF TMP-OPR-DESC TO ANY-VALUE OF PARAM-ANY. 
     MOVE PARAMETERS OF TMP-OPR-DESC TO PARAMS. 
     MOVE LENGTH OF PARAMS TO NUM. 

  * リストオブジェクトの生成
     CALL "CORBA-ORB-CREATE-LIST" USING
          ORB
          NUM
          ARG-LIST
          ENV
          RET-VAL.

(2)パラメタリストの設定

 CORBA-NVLIST-ADD-ITEMメソッドにより、サーバアプリケーションに渡すパラメタをリストオブジェクトに設定します。パラメタとして、CORBA-NVLISTオブジェクトリファレンス、サーバアプリケーションのパラメタの名前、型、値および長さを設定します。

   MOVE FUNCTION ADDR(PARAMS) TO SEQ-POINTER. 
                 MOVE "in_p" TO STR-BUF. 
                 MOVE FUNCTION LENG (STR-BUF) TO STRING-LENGTH. 
                 CALL "CORBA-STRING-SET" USING
                     STRING-POINTER
                     STRING-LENGTH
                     STR-BUF. 
                 MOVE FUNCTION LENG (TC-LONG) TO STRING-LENGTH. 
                 CALL "CORBA-STRING-SET" USING
                     TEMP-BUF
                     STRING-LENGTH
                     TC-LONG. 
                 CALL "CORBA-ORB-TYPECODE-FROM-CGEN-TC" USING
                     TEMP-BUF
                     TMP-TYPE. 
                 CALL "CORBA-FREE" USING 
                     TEMP-BUF. 
                 MOVE 1234 TO IN-P. 
                 MOVE FUNCTION ADDR( IN-P ) TO PARAM-POINTER. 
                 MOVE LSIZE OF TMPDATA TO NUM. 
                 SET CORBA-ARG-IN OF FLAG TO TRUE. 
                 CALL "CORBA-NVLIST-ADD-ITEM" USING
                     ARG-LIST
                     STRING-POINTER
                     TMP-TYPE
                     PARAM-POINTER
                     NUM
                     FLAG
                     ENV
                     RET-VAL.

目次 索引 前ページ次ページ

Copyright 2005 FUJITSU LIMITED