Esta função retorna o nome da próxima classe analisadora na cadeia, se definida. Use esta função para retornar ao broker o nome da classe analisadora que trata da próxima seção, ou restante, do conteúdo da mensagem. Geralmente, para mensagens que possuem um tipo de formato simples, apenas um analisador de conteúdo da mensagem é definido.
Para mensagens que possuem um tipo de formato mais complexo com múltiplos analisadores de mensagens, cada analisador pode identificar o próximo na cadeia retornando seu nome no parâmetro buffer. O último analisador na cadeia deve retornar uma cadeia vazia.
Se você especificar o nome de um analisador fornecido com o WebSphere Message Broker, deverá utilizar o nome de classe correto do analisador.
Definido em | Type | Membro |
---|---|---|
CPI_VFT | Opcional | iFpNextParserClassName |
void cpiNextParserClassName(
CciParser* parser,
CciContext* context,
CciChar* buffer,
int size);
Nenhum.
Este exemplo é obtido do arquivo analisador de amostra 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 o nome para o intermediário */
CciCharNCpy(buffer, pc->iNextParserClassName, size);
if (pc->trace) {
fprintf(pc->tracefile, "PLUGIN: <- cpiNextParserClassName()\n");
fflush(pc->tracefile);
}
return;
}