cniDefineNodeClass

Define una clase de nodo, especificado por el parámetro name, soportada por la fábrica de nodos especificada como parámetro factoryObject. El nodo invoca esta función durante la ejecución de bipGetMessageFlowNodeFactory, cuando se carga la LIL (Biblioteca de implementación cargable).

Si se implementan ambos, cniGetAttribute y cniGetAttribute2 o cniGetAttributeName y cniGetAttributeName2, cniDefineNodeClass falla con CCI_INV_IMPL_FUNCTION.

Sintaxis

void cniDefineNodeClass(
  int*         returnCode,
  CciFactory*  factoryObject,
  CciChar*     name,
  CNI_VFT*     functbl);

Parámetros

returnCode
Código de retorno de la función (salida).
Los códigos de retorno posibles son:
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_INV_FACTORY_OBJECT
  • CCI_INV_NODE_NAME
  • CCI_INV_OBJECT_NAME
  • CCI_INV_VFTP
  • CCI_MISSING_IMPL_FUNCTION
  • CCI_NAME_EXISTS
factoryObject
Dirección del objeto de fábrica que soporta el nodo mencionado. La dirección se devuelve de cniCreateNodeFactory (entrada).
name
Nombre del nodo que se debe definir. El nombre del nodo debe terminar con los caracteres Node (entrada).
functbl
Dirección de la estructura CNI_VFT que contiene punteros a las funciones de implementación de nodo (entrada). A continuación se muestra un ejemplo de una tabla de funciones:
vftable.iFpCreateNodeContext = _Transform_createNodeContext;
vftable.iFpDeleteNodeContext = _deleteNodeContext;
vftable.iFpGetAttributeName2 = _getAttributeName2;
vftable.iFpSetAttribute      = _setAttribute;
vftable.iFpGetAttribute2     = _getAttribute2;
vftable.iFpEvaluate          = _Transform_evaluate; /* si no es un nodo de entrada */ 
vftable.iFRun                = _run                 /* si es un nodo de entrada */

Normalmente sólo definirá una de las 2 últimas entradas, es decir, definirá vftable.iFpEvaluate = _Transform_evaluate; para un nodo de proceso de mensajes o definirá vftable.iFpRun = _run; para un nodo de entrada.

Valores de retorno

Ninguno. Si se produce un error, el parámetro returnCode indica la razón del mismo.

Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
as07510_