WebSphere Message Broker, Versão 8.0.0.5 Sistemas operacionais: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte as informações sobre a versão mais recente do produto em IBM Integration Bus, Versão 9.0

cpiDefineParserClass

Esta função define o nome de uma classe analisadora que é suportada por uma factory do analisador.

functbl é um ponteiro para uma tabela de função virtual que contém ponteiros para as funções de implementação C; ou seja, aquelas funções que fornecem a função do próprio analisador.

Sintaxe

void cpiDefineParserClass(
  int*            returnCode,
  CciFactory* factoryObject,
  CciChar*    name,
  CPI_VFT*     functbl);

Parâmetros

returnCode
Recebe o código de retorno da função (saída).
Os possíveis códigos de retorno são:
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_INV_FACTORY_OBJECT
  • CCI_INV_PARSER_NAME
  • CCI_PARSER_NAME_TOO_LONG
  • CCI_INV_OBJECT_NAME
  • CCI_INV_VFTP
  • CCI_MISSING_IMPL_FUNCTION
  • CCI_INV_IMPL_FUNCTION
  • CCI_NAME_EXISTS
factoryObject
Especifica o endereço do objeto de fábrica que suporta o analisador nomeado (entrada). O endereço é retornado de cpiCreateParserFactory.
name
O nome da classe de analisador a ser definida (entrada). O comprimento máximo de um nome de classe de analisador é de 8 caracteres.
functbl
O endereço da estrutura CPI_VFT que contém ponteiros para as funções de implementação (entrada).

Valores de Retorno

Nenhuma. Se ocorrer um erro, returnCode indicará o motivo do erro.

Amostra

Este exemplo é obtido do arquivo analisador de amostra BipSampPluginParser.c:

void LilFactoryExportPrefix * LilFactoryExportSuffix bipGetParserFactory()
{
  /* Declarar variáveis */
  CciFactory*      factoryObject;
  int                rc;
  static CPI_VFT  vftable = {CPI_VFT_DEFAULT};

  /* Antes de prosseguir é preciso inicializar todas as constantes
estáticas */
  /* que podem ser utilizadas pelo plug-in.                                 */
  initParserConstants();

  /* Configurar a tabela de função com ponteiros para funções de
implementação de analisador */
  vftable.iFpCreateContext            = cpiCreateContext;
  vftable.iFpParseBufferEncoded       = cpiParseBufferEncoded;
  vftable.iFpParseFirstChild          = cpiParseFirstChild;
  vftable.iFpParseLastChild           = cpiParseLastChild;
  vftable.iFpParsePreviousSibling     = cpiParsePreviousSibling;
  vftable.iFpParseNextSibling         = cpiParseNextSibling;
  vftable.iFpWriteBufferEncoded       = cpiWriteBufferEncoded;
  vftable.iFpDeleteContext            = cpiDeleteContext;
  vftable.iFpSetElementValue          = cpiSetElementValue;
  vftable.iFpElementValue             = cpiElementValue;
  vftable.iFpNextParserClassName      = cpiNextParserClassName;
  vftable.iFpSetNextParserClassName   = cpiSetNextParserClassName;
  vftable.iFpNextParserEncoding       = cpiNextParserEncoding;
  vftable.iFpNextParserCodedCharSetId = cpiNextParserCodedCharSetId;

  /* Criar a fábrica de analisador para este plugin */
  factoryObject = cpiCreateParserFactory(&rc, constParserFactory);
  if (factoryObject) {
    /* Definir as classes de mensagem suportadas pela fábrica */
    cpiDefineParserClass(&rc, factoryObject, constPXML, &vftable);
  }
  else {
    /* Erro: Incapaz de criar a fábrica de analisador */
  }

  /* Retornar o endereço deste objeto de fábrica para o broker */
  return(factoryObject);
}
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última atualização:
        
        Última atualização: 2015-02-28 18:30:24


Tópico de ReferênciaTópico de Referência | Versão 8.0.0.5 | as08250_