Esta función devuelve el nombre de la siguiente clase de analizador de la cadena, si hay una definida. Utilice esta función para devolver al intermediario el nombre de la clase de analizador que maneja la siguiente sección o el resto del contenido del mensaje. Normalmente, para los mensajes que tienen un tipo de formato simple, sólo se define un analizador de contenido de mensaje.
Para los mensajes que tienen un tipo de formato más complejo con varios analizadores de mensajes, cada analizador puede identificar el siguiente de la cadena, devolviendo su nombre en el parámetro buffer. El último analizador de la cadena debe devolver una serie de caracteres vacía.
Si especifica el nombre de un analizador proporcionado con WebSphere Message Broker, deberá utilizar el nombre de clase correcto del analizador.
Definida en | Tipo | Miembro |
---|---|---|
CPI_VFT | Opcional | iFpNextParserClassName |
void cpiNextParserClassName(
CciParser* parser,
CciContext* context,
CciChar* buffer,
int size);
Ninguno.
Este ejemplo se ha tomado del archivo de analizador de ejemplo 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);
}
/* Copiar el nombre en el intermediario */
CciCharNCpy(buffer, pc->iNextParserClassName, size);
if (pc->trace) {
fprintf(pc->tracefile, "PLUGIN: <- cpiNextParserClassName()\n");
fflush(pc->tracefile);
}
return;
}