Esta función define el nombre de una clase de analizador a la que da soporte una fábrica de analizador. functbl es un puntero a una tabla de funciones virtual que contiene punteros a las funciones de implementación de plug-in C, es decir, las funciones que proporcionan la función del propio analizador.
void cpiDefineParserClass( int* returnCode, CciFactory* factoryObject, CciChar* name, CPI_VFT* functbl);
Ninguno. Si se produce un error, returnCode indica la causa de dicho error.
Este ejemplo se ha tomado del archivo de analizador de ejemplo BipSampPluginParser.c (de la línea 862 a la 901):
void LilFactoryExportPrefix * LilFactoryExportSuffix bipGetParserFactory() { /* Declarar variables */ CciFactory* factoryObject; int rc; static CPI_VFT vftable = {CPI_VFT_DEFAULT}; /* Antes de seguir, debemos inicializar todas las constantes estáticas */ /* que el plug-in pueda utilizar. */ initParserConstants(); /* Configurar tabla de funciones con punteros para analizar funciones */ /* de implementación */ 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; /* Crear la fábrica del analizador para este plug-in */ factoryObject = cpiCreateParserFactory(&rc, constParserFactory); if (factoryObject) { /* Definir las clases de mensaje que soporta la fábrica */ cpiDefineParserClass(&rc, factoryObject, constPXML, &vftable); } else { /* Error: No se ha podido crear la fábrica del analizador */ } /* Devolver dirección de este objeto de fábrica al intermediario */ return(factoryObject); }
Conceptos relacionados
Analizadores definidos por el usuario
Extensiones definidas por el usuario
Tareas relacionadas
Creación de un analizador en C
Referencia relacionada
cpiCreateParserFactory
Funciones de programa de utilidad de analizador
Avisos |
Marcas registradas |
Descargas |
Biblioteca |
Soporte |
Información de retorno (feedback)
![]() ![]() |
as08250_ |