ページの先頭行へ戻る
Interstage Application Server アプリケーション作成ガイド(CORBAサービス編)

4.6 varクラス

  CORBAでは、クライアント上の可変長データを以下のように扱います。

  上記解放処理がユーザミスにより行われなかった場合、解放漏れとなって無駄な資源がメモリ中に残ることになります。
  CORBAでは、上記解放処理の簡易化のため、varクラスが提供されています。varクラスは、CORBAの可変長データを自動変数化して扱うための機能を提供します。varクラスで提供している主な機能は以下のとおりです。

  varクラスは、以下の4とおりあります。

String_varクラス

  文字列を扱うためのvarクラス

WString_varクラス

  ワイド文字列を扱うためのvarクラス

Any_varクラス

  Any型を扱うためのvarクラス

ユーザ定義型varクラス

  ユーザ定義により作成されるデータ型に対するvarクラス。シーケンス型、構造体、共用体、配列、各インタフェースにより作成されるObject型。

  varクラスの使用イメージを以下に示します。



  func()
  {
      SampleStruct *data = new SampleStruct; 
      ...                   // dataに値を設定。
      SampleStruct_var  var_data
      var_data = data;      // dataのポインタをvar_dataに格納。
      ... 
      var_data->para1 = 3;  // var_dataに格納されているポインタを取り出し、
                            // 構造体の要素para1のデータを書き換えます。
      ... 
  }    // 関数終了時に自動変数var_dataが解放されます。その際、デストラクタが起動され、
       // newで獲得したSampleStructの領域も同時に解放されます。