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