メッセージキューイングアクセス機能 TP1/Message Queue - Access 使用の手引

[目次][用語][索引][前へ][次へ]

ImqBinaryクラス(C++)

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

インクルードファイル

このクラスを使用するときは,imqbin.hppファイルをインクルードしてください。

オブジェクト属性

● data

2進データのバイトアレイです。初期値はヌル文字です。

● data length

バイト数です。初期値はヌルです。

● data pointer

dataの最初のバイトのアドレスです。初期値はヌルです。

コンストラクタ

● ImqBinary( );

デフォルトのコンストラクタです。

● ImqBinary(const ImqBinary & binary );

コピーコンストラクタです。

● ImqBinary( const void * data, const size_t length );

dataからlength分のバイトをコピーします。

メソッド

● virtual ImqBoolean copyOut( ImqMessage & msg );

多重定義されたImqItemメソッドです。dataをメッセージバッファにコピーし,既存の内容があれば置き換えます。msg formatをMQFMT_NONEに設定します。

詳細については,「ImqItemクラス(C++)」の「メソッド」を参照してください。

● virtual ImqBoolean pasteIn( ImqMessage & msg );

多重定義されたImqItemメソッドです。メッセージバッファから残っているデータを転送し,既存のdataを置き換えることによって,dataを設定します。正常に実行されるためには,ImqMessage formatがMQFMT_NONEでなければなりません。

詳細については,「ImqItemクラス(C++)」の「メソッド」を参照してください。

● void operator = ( const ImqBinary & binary );

binary分のバイトをコピーします。

● ImqBoolean operator == ( const ImqBinary & binary );

このオブジェクトをbinaryと比較します。これらが等しくない場合は0を,それ以外の場合は「0でない」を返します。二つのオブジェクトが同じdatalengthを持っており,バイト数が一致する場合,二つのオブジェクトは等しいと見なされます。

● ImqBoolean copyOut( void * buffer, const size_t length, const char pad = 0 );

最大length分のバイトをdata pointerからbufferへコピーします。data lengthが不十分であるときは,buffer内の残りのスペースにはpad分のバイトが埋められます。lengthも0である場合は,bufferが0であると考えられます。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が0である場合,またはdataバイトがすべて0である場合はTRUEを返します。それ以外の場合はFALSEを返します。

● ImqBoolean set( const void * buffer, const size_t length );

bufferからlength分のバイトをコピーします。正常に実行された場合はTRUEを返します。

メソッド(protected)

● void clear( );

data lengthを減らして0にします。

その他の関連クラス

ImqItem

ImqMessage

理由コード

理由コードの詳細については,「付録A 理由コード」,またはマニュアル「TP1/Message Queue プログラム作成リファレンス」を参照してください。