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

第4章 アプリケーションの開発(C言語)

4.8 any型、sequence型のリリースフラグ

 可変長データは、データをクライアントへ返却後、スケルトン中で自動的に解放します。そのため、解放したくないデータについては、そのデータをどこか別の領域に複写しておく必要があります。文字列(string)を例に説明します。

 しかし、any、sequenceのような複雑な型の場合には、コピーする処理が複雑なため、リリースフラを設定し、解放する/しないを設定できるようになっています。
 リリースフラグの設定方法について以下に示します。

変数型

設定方法

any

CORBA_any_set_releaseを使用。デフォルトはCORBA_FALSE (注)
例)CORBA_any *any = CORBA_any_alloc();
  CORBA_any_set_release(any, CORBA_TRUE);

sequence

CORBA_sequence_set_releaseを使用。デフォルトはCORBA_FALSE (注)
例)struct sequence<long> data;
  data = CORBA_data_alloc();
  CORBA_sequence_set_release(data, CORBA_TRUE);

注) CORBA_TRUEのとき解放されます。CORBA_FALSEのときは解放されません。


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

All Rights Reserved, Copyright(C) 富士通株式会社 2005