cpiNextParserClassName

Finalidad

Función opcional que se utiliza para devolver el nombre de la clase de analizador siguiente de la cadena, si la hay. Esta función permite al analizador devolver al intermediario el nombre de la clase de analizador que maneja la siguiente sección o el resto del contenido de mensaje. Normalmente, para los mensajes que tienen un tipo de formato simple, hay sólo un analizador de contenido de mensaje; no es necesario proporcionar esta función. Para los mensajes que tienen un tipo de formato más complejo, con varios analizadores de mensajes, cada analizador deberá identificar el siguiente analizador de la cadena; para hacerlo, debe devolver el nombre correspondiente 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 suministrado con WebSphere Business Integration Message Broker, debe utilizar el nombre de clase correcto del analizador.

Definida en Tipo Miembro
CPI_VFT Opcional iFpNextParserClassName

Sintaxis

void cpiNextParserClassName(
  CciParser*   parser,
  CciContext*  context,
  CciChar*     buffer,
  int          size);

Parámetros

parser
Dirección del objeto de analizador (entrada).
context
Dirección del contexto de plug-in (entrada).
buffer
Dirección de un almacenamiento intermedio al que debe transferirse el nombre de clase de analizador (entrada).
size
Longitud, en bytes, del almacenamiento intermedio proporcionado por el intermediario (entrada).

Valores de retorno

Ninguno.

Ejemplo

Este ejemplo se ha tomado del archivo de analizador de ejemplo BipSampPluginParser.c (de la línea 732 a la 756).a

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;
}

Conceptos relacionados
Analizadores definidos por el usuario
Extensiones definidas por el usuario

Tareas relacionadas
Creación de un analizador en C

Referencia relacionada
cpiNextParserCodedCharSetId
cpiNextParserEncoding
Funciones de implementación de analizador