この関数は、チェーン内の次のパーサー・クラス (定義済みの場合) の名前を戻します。 この関数を使用して、メッセージ内容の、次のセクションまたは残りを処理するパーサー・クラスの名前をブローカーに戻します。 一般に、単純な形式タイプを持つメッセージの場合、1 つのメッセージ内容パーサーのみが定義されます。
複数のメッセージ・パーサーのある複雑な形式タイプのメッセージの場合、それぞれのパーサーは、buffer パラメーターに名前を戻すことによって、チェーンの次にあるものを識別することができます。 チェーンの最後のパーサーは、空ストリングを戻さなければなりません。
WebSphere® Message Broker が提供しているパーサーの名前を指定する場合、パーサーの正しいクラス名を使用しなければなりません。
定義されている場所 | タイプ | メンバー |
---|---|---|
CPI_VFT | オプション | iFpNextParserClassName |
void cpiNextParserClassName(
CciParser* parser,
CciContext* context,
CciChar* buffer,
int size);
なし。
この例は、サンプル・パーサー・ファイル BipSampPluginParser.c から取られています。
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;
}