31.1.3 CORBA::MarshalInBufferのメソッド
-
このオブジェクトに対応するバッファを指すポインタを返します。
-
CORBA::Boolean val) const;
このメッセージバッファのバイトオーダを設定します。
-
val
リトルエンディアンバイトオーダが使用されていることを示す場合は,trueを設定し,ビッグエンディアンバイトオーダが使用されていることを示す場合はfalseを設定します。
-
-
CORBA::Boolean byte_order() const;
バッファのバイトオーダにリトルエンディアンバイトオーダを使用している場合はtrueが返され,ビッグエンディアンバイトオーダを使用している場合はfalseが返されます。
-
このオブジェクトに対応するバッファ内のシークポジションを返します。
-
virtual VISistream& get(char& data);
virtual VISistream& get(unsigned char& data);
これらのメソッドを使用して,シークポジションから一つの文字を引数dataに読み込み,一文字分だけシークポジションを進めます。このメソッドは,このオブジェクト自身を返します。
-
data
読み込んだデータが書き込まれる変数
-
-
virtual VISistream& get(
<data_type> data, unsigned size);
このメソッドを使用して,シークポジションからデータのシーケンスを引数dataが指す領域に読み込み,次のデータの先頭位置までシークポジションを進めます。次に示すそれぞれのターゲットデータ型に対して別々のメソッドが提供されています。このメソッドは,このオブジェクト自身を返します。
-
data
読み込んだデータが書き込まれる領域。サポートされるターゲットデータ型を次に示します。
char*,unsigned char*,short*,unsigned short*,int*,unsigned int*,long*,unsigned long*,float*,double*,long double*,VISLongLong*,VISULongLong*,wchar_t*
-
size
読み込むデータ型の数
-
-
virtual VISistream& getCString(
char* data, unsigned maxlen);
このメソッドを使用して,シークポジションから文字列を引数dataが指す領域に読み込み,次のデータの先頭位置までシークポジションを進めます。
このメソッドは,このオブジェクト自身を返します。
-
data
読み込んだ文字列が書き込まれる領域
-
maxlen
読み込む最大文字数
-
-
virtual const CORBA::WChar *getWString(
CORBA::ULong& len);
このメソッドは,シークポジションからwstringのデータを指すポインタを返し,次のデータの先頭位置までシークポジションを進めます。VisiBrokerでは,ワイド文字のサイズを2バイトとして扱います。
-
len
読み込んだワイド文字列の文字数が設定されます。設定される値はGIOPのバージョンによって異なります。
GIOP1.2の場合,読み込んだワイド文字列のバイト数が設定されます。
GIOP1.1/1.0の場合,ワイド文字列の長さ+1が設定されます。
-
-
unsigned long size);
指定されたsizeが,このオブジェクトに対応するバッファのサイズ以下である場合,1を返します。それ以外の場合,0を返します。
-
size
このバッファから読み取る必要のあるバイト数
-
-
virtual CORBA::ULong length() const;
現在のバッファ長を返します。
-
virtual void new_encapsulation() const;
バッファ内の開始オフセットを0にリセットします。
-
CORBA::Boolean val);
このオブジェクトがデストラクトされた際の,バッファメモリの自動解放を有効または無効にします。
-
val
valにtrueを設定すると,このオブジェクトがデストラクトされた際に,このオブジェクトのバッファメモリが解放されます。valにfalseを設定すると,このオブジェクトがデストラクトされた際にバッファは解放されません。
-
-
CORBA::Boolean release_flag() const;
オブジェクトのバッファメモリの自動解放が有効である場合,trueを返します。そうでない場合は,falseを返します。
-
開始オフセット,およびシークポジションを0にリセットします。
-
開始オフセットはコンストラクタで設定した値にリセットされ,シークポジションは0にリセットされます。
-
CORBA::ULong pos);
posの値で,シークポジションを任意に設定できます。posで指定された値がバッファサイズより大きい場合,CORBA::BAD_PARAM例外が発生します。
-
static CORBA::MarshalInBuffer *_duplicate(
CORBA::MarshalInBuffer_ptr ptr);
ptrが指すこのオブジェクトの複製ポインタを返し,このオブジェクトのリファレンスカウントを増やします。
-
static CORBA::MarshalInBuffer *_nil();
CORBA::MarshalInBuffer型のNULLポインタを返します。
-
CORBA::MarshalInBuffer_ptr ptr);
ptrが指すオブジェクトのリファレンスカウントを減らします。リファレンスカウントが0になると,そのオブジェクトはデストラクトされます。構築された際にオブジェクトのrelease_flagにtrueを設定した場合,オブジェクトに対応するバッファが解放されます。