cpiNextParserClassName

目的

チェーン内の次のパーサー・クラス (もしあれば) の名前を戻すオプションの関数。 これによって、パーサーは、メッセージ内容の、次のセクションまたは残りを処理するパーサー・クラスの名前をブローカーに戻すことができます。 通常、単純な形式タイプのメッセージの場合、メッセージ内容パーサーは 1 つしかありません。 この場合、この関数は必ずしも提供する必要はありません。 複数のメッセージ・パーサーのある複雑な形式タイプのメッセージの場合、それぞれのパーサーは、buffer パラメーターに名前を戻すことによって、チェーンの次にあるものを識別する必要があります。 チェーンの最後のパーサーは、空ストリングを戻さなければなりません。

WebSphere Message Broker が提供しているパーサーの名前を指定する場合、パーサーの正しいクラス名を使用しなければなりません。

定義されている場所 タイプ メンバー
CPI_VFT オプション iFpNextParserClassName

構文

void cpiNextParserClassName(
CciParser*     parser,
CciContext* context,
CciChar*     buffer,
int          size);

パラメーター

parser
パーサー・オブジェクトのアドレス (入力)。
context
パーサー・オブジェクトが所有するコンテキストのアドレス (入力)。
buffer
パーサー・クラス名が入れられるバッファーのアドレス (入力)。
size
ブローカーによって提供される、バイト単位のバッファーの長さ (入力)。

戻り値

なし。

サンプル

この例は、サンプル・パーサー・ファイル BipSampPluginParser.c から取られています (732 行から 756 行)。

void cpiNextParserClassName(
CciParser*     parser,
CciContext* context,
CciChar*     buffer,
int         size
){
PARSER_CONTEXT_ST* pc = (PARSER_CONTEXT_ST *)context ;
int rc = 0;
if (pc->trace) {
fprintf(pc->tracefile, "PLUGIN: -> cpiNextParserClassName() parser=0x%x context=0x%x¥n",
parser, context);
fflush(pc->tracefile);
}
/* Copy the name to the broker */
CciCharNCpy(buffer, pc->iNextParserClassName, size);
if (pc->trace) {
fprintf(pc->tracefile, "PLUGIN: <- cpiNextParserClassName()¥n");
fflush(pc->tracefile);
}
return;
}
関連概念
ユーザー定義のパーサー
ユーザー定義拡張機能
関連タスク
C でのパーサーの作成
関連資料
cpiNextParserCodedCharSetId
cpiNextParserEncoding
C パーサー・インプリメンテーション関数
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 Last updated: 5 01, 2006
as08120_