このオプションの関数は、チェーン内の次のパーサー・クラスの名前を戻します。
これは、終了処理中に呼び出され、呼び出し側に、チェーンの次のパーサー・クラスの名前を含むストリングを戻します。 この情報を使用すれば、ユーザー定義パーサーは終了フェーズ中に構文エレメント・ツリーを変更した後で、ビット・ストリームの逐次化を引き起こすフェーズに進むことができます。
WebSphere® Message Broker が提供しているパーサーの名前を指定する場合、パーサーの正しいクラス名を使用しなければなりません。
定義されている場所 | タイプ | メンバー |
---|---|---|
CPI_VFT | オプション | iFpSetNextParserClassName |
void cpiSetNextParserClassName(
CciParser* parser,
CciContext* context,
CciChar* name,
CciBool parserType);
なし。
この例は、サンプル・パーサー・ファイル BipSampPluginParser.c から取られています。
void cpiSetNextParserClassName(
CciParser* parser,
CciContext* context,
CciChar* name,
CciBool isHeaderParser
){
PARSER_CONTEXT_ST* pc = (PARSER_CONTEXT_ST *)context ;
int rc = 0;
/* Save the name in my context */
CciCharNCpy(pc->iNextParserClassName, name, CciCharLen(name));
if (pc->trace) {
fprintf(pc->tracefile, "PLUGIN: <- cpiSetNextParserClassName()¥n");
fflush(pc->tracefile);
}
return;
}