ImqBinary C++ クラス
このクラスは、ImqMessage の accounting token、correlation id、および message id 値に使用できる 2 進バイト・アレイをカプセル化します。 これにより割り当て、コピー、および比較が容易になります。

オブジェクトの属性
- データ
- 2 進データのバイト・アレイ。 初期値はヌルです。
- data length
- バイト数。 初期値はゼロです。
- data pointer
- data の最初のバイトのアドレス。 初期値はゼロです。
コンストラクター
- ImqBinary( );
- デフォルトのコンストラクター。
- ImqBinary( const ImqBinary & binary );
- コピー・コンストラクター。
- ImqBinary( const void *データ、 const size_t長さ );
- length バイトを dataからコピーします。
多重定義された ImqItem メソッド
- virtual ImqBoolean copyOut ( ImqMessage & msg );
- data をメッセージ・バッファーにコピーし、既存の内容があれば置き換えます。 また、msg の形式を MQFMT_NONE に設定します。
詳細については、ImqItem クラス・メソッドの説明を参照してください。
- virtual ImqBoolean pasteIn ( ImqMessage & msg );
- メッセージ・バッファーから残っているデータを転送し、既存の data を置き換えることにより data を設定します。
正常に実行されるためには、ImqMessage の format が MQFMT_NONE でなければなりません。
詳細については、ImqItem クラス・メソッドの説明を参照してください。
オブジェクト・メソッド (共有)
- void operator = ( const ImqBinary & binary );
- binary からバイトをコピーします。
- ImqBoolean operator == ( const ImqBinary & binary );
- このオブジェクトを binary と比較します。 等しくない場合は FALSE を返し、それ以外の場合は TRUE を返します。 2 つのオブジェクトが同じ data length をもっており、バイト数が一致する場合、2 つのオブジェクトは等しいといいます。
- ImqBoolean copyOut( void * buffer, const size_t length, const char pad = 0 );
- 最大 length 分のバイトを data pointer から buffer へコピーします。 data length が 不十分であると、buffer 内の残りのスペースには pad 分のバイトが埋め込まれます。 length がゼロの場合は、buffer もゼロで構いません。 length が負であってはなりません。 正常に終了した場合は TRUE を返します。
- size_t dataLength( ) const ;
- data length を返します。
- ImqBoolean setDataLength( const size_t length );
- data length を設定します。 このメソッドの結果として data length が変更された場合、オブジェクト内のデータの初期設定は解除されます。 正常に終了した場合は TRUE を返します。
- void * dataPointer( ) const ;
- data pointer を返します。
- ImqBoolean isNull( ) const ;
- data length がゼロである場合、あるいは data バイトがすべてゼロである場合は TRUE を返します。 それ以外の場合は FALSE を返します。
- ImqBoolean set( const void * buffer, const size_t length );
- length バイトを bufferからコピーします。 正常に終了した場合は TRUE を返します。
オブジェクト・メソッド (保護)
- void clear( );
- data length を減らしてゼロにします。
理由コード
- MQRC_NO_BUFFER
- MQRC_STORAGE_NOT_AVAILABLE
- MQRC_INCONSISTENT_FORMAT