31.1.3 CORBA::MarshalInBufferのメソッド
- char *buffer() const;
このオブジェクトに対応するバッファを指すポインタを返します。
- void byte_order(
CORBA::Boolean val) const;
このメッセージバッファのバイトオーダを設定します。
- val
リトルエンディアンバイトオーダが使用されていることを示す場合は,trueを設定し,ビッグエンディアンバイトオーダが使用されていることを示す場合はfalseを設定します。
- CORBA::Boolean byte_order() const;
バッファのバイトオーダにリトルエンディアンバイトオーダを使用している場合はtrueが返され,ビッグエンディアンバイトオーダを使用している場合はfalseが返されます。
- CORBA::ULong curoff() const;
このオブジェクトに対応するバッファ内にある現在のオフセットを返します。
- virtual VISistream& get(char& data);
virtual VISistream& get(unsigned char& data);
これらのメソッドを使用して,現在のロケーションのバッファから一つの文字を取得できます。
このメソッドは,取得したデータの直後に続くバッファ内のロケーションを指すポインタを返します。
- data
取得したchar,またはunsigned charが格納されるロケーション
- virtual VISistream& get(
<data_type> data, unsigned size);
このメソッドを使用して,現在のロケーションのバッファからデータのシーケンスを取得できます。次に示すそれぞれのターゲットデータ型に対して別々のメソッドが提供されています。
このメソッドは,取得したデータの直後に続くバッファ内のロケーションを指すポインタを返します。
- 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
取得した文字列が格納されるロケーション
- maxlen
取得する最大文字数
- virtual const CORBA::WChar *getWString(
CORBA::ULong& len);
このメソッドは,wstringを含むバッファ内のロケーションを指すポインタを返します。VisiBrokerのwstringの幅は2バイトです。
- virtual int is_available(
unsigned long size);
指定されたsizeが,このオブジェクトに対応するバッファのサイズ以下である場合,1を返します。
- virtual CORBA::ULong length() const;
現在のバッファ長を返します。
- virtual void new_encapsulation() const;
バッファ内の開始オフセットを0にリセットします。
- void release_flag(
CORBA::Boolean val);
このオブジェクトがデストラクトされた際,バッファメモリの自動解放を有効または無効にします。
- val
valにtrueを設定すると,このオブジェクトがデストラクトされた際に,このオブジェクトのバッファメモリが解放されます。valにfalseを設定すると,このオブジェクトがデストラクトされた際にバッファは解放されません。
- CORBA::Boolean release_flag() const;
オブジェクトのバッファメモリの自動解放が有効である場合,trueを返します。そうでない場合は,falseを返します。
- void reset();
開始オフセット,現在のオフセット,およびシークポジションを0にリセットします。
- void rewind();
シークポジションを0にリセットします。
- CORBA::ULong seekpos(
CORBA::ULong pos);
posに含まれる値に現在のオフセットを設定します。posで指定されるオフセットがバッファサイズより大きい場合,CORBA::BAD_PARAM例外が発生します。
- static CORBA::MarshalInBuffer *_duplicate(
CORBA::MarshalInBuffer_ptr ptr);
ptrが指すこのオブジェクトの複製ポインタを返し,このオブジェクトのリファレンスカウントを増やします。
- static CORBA::MarshalInBuffer *_nil();
CORBA::MarshalInBuffer型のNULLポインタを返します。
- static void _release(
CORBA::MarshalInBuffer_ptr ptr);
ptrが指すオブジェクトのリファレンスカウントを減らします。リファレンスカウントが0になると,そのオブジェクトはデストラクトされます。構築された際にオブジェクトのrelease_flagにtrueを設定した場合,オブジェクトに対応するバッファが解放されます。