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

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

ImqItemクラス(C++)

この抽象クラスは,一つのメッセージ内の一つの項目を表します。項目は,メッセージバッファ内で一つに連結されます。どの特殊化も,一つの構造体IDで始まる特定の構造体と関連づけられます。

この抽象クラス内で多様メソッドを使用することによって,メッセージとの間で項目をコピーできます。ImqMessageクラスのreadItemメソッドおよびwriteItemメソッドでは,アプリケーションプログラムにとって無理のない別の方法でこれらの多様メソッドを呼び出せるようにします。

インクルードファイル

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

オブジェクト属性

● structure id

構造体の始めにある,4文字のストリングです。属性は読み取り専用です。

MQ*構造体の,StrucIdフィールドに相当します。

コンストラクタ

● ImqItem( );

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

● ImqItem( const ImqItem & item );

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

メソッド

● static ImqBoolean structureIdIs( const char * structure-id-to-test, const ImqMessage & msg );

着信msg内の次のImqItemのstructure idが,structure-id-to-testと同じであれば,TRUEを返します。次の項目は,現在ImqCache data pointerによってアドレス指定されているメッセージバッファの部分として識別されます。

● void operator = ( const ImqItem & item );

インスタンスデータがitemからコピーされ,既存のインスタンスデータと置き換えられます。

● virtual ImqBoolean copyOut( ImqMessage & msg ) = 0 ;

このオブジェクトを次の項目として出力メッセージバッファに書き込み,既存の項目があればそれに付加します。書き込み操作が正常に実行されると,ImqCache data lengthは増やされます。正常に実行された場合はTRUEを返します。

特定のサブクラスを扱うときは,このメソッドを上書きしてください。

● virtual ImqBoolean pasteIn( ImqMessage & msg ) = 0 ;

オブジェクトを着信メッセージバッファから読み取ります。

オブジェクトのサブクラスは,msgオブジェクトのメッセージバッファ内で次に検出されたstructure idと矛盾しないものでなければなりません。

msgオブジェクトのencodingは,MQENC_NATIVEでなければなりません。メッセージは,ImqMessage encodingをMQENC_NATIVEに設定し,ImqGetMessageOptionsを使って検索してください。

読み取り操作が正常に実行されると,ImqCache data lengthは減少します。正常に実行された場合はTRUEを返します。

特定のサブクラスを扱うときは,このメソッドを上書きしてください。

その他の関連クラス

ImqCache

ImqError

ImqMessage

理由コード

理由コードの詳細については,「付録A 理由コード」を参照してください。