Diese Funktion gibt den Namen der nächsten Parserklasse in der Kette (falls definiert) zurück. Verwenden Sie diese Funktion, um den Namen der Parserklasse, die den nächsten Abschnitt oder Rest des Nachrichteninhalts bearbeitet, an den Broker zurückzugeben. Normalerweise ist für Nachrichten mit einem einfachen Formattyp nur ein Parser für den Nachrichteninhalt definiert.
Bei Nachrichten mit einem komplexeren Formattyp und mehreren Nachrichtenparsern kann jeder Parser den nächsten in der Kette identifizieren, indem der Name im Parameter buffer zurückgegeben wird. Der letzte Parser in der Kette muss eine leere Zeichenfolge ausgeben.
Wenn Sie den Namen eines Parsers angeben, der mit WebSphere Message Broker bereitgestellt wird, müssen Sie den korrekten Klassennamen verwenden.
Definiert in | Typ | Mitglied |
---|---|---|
CPI_VFT | Optional | iFpNextParserClassName |
void cpiNextParserClassName(
CciParser* parser,
CciContext* context,
CciChar* buffer,
int size);
Keine.
Das folgende Beispiel stammt aus der Musterparserdatei 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);
}
/* Namen in den Broker kopieren */
CciCharNCpy(buffer, pc->iNextParserClassName, size);
if (pc->trace) {
fprintf(pc->tracefile, "PLUGIN: <- cpiNextParserClassName()\n");
fflush(pc->tracefile);
}
return;
}