cniDefineNodeClass

Define uma classe de nó, conforme especificado pelo parâmetro name, o qual é suportado pela fábrica de nós especificada como o parâmetro factoryObject. Esta função é chamada pelo nó durante a execução de bipGetMessageFlowNodeFactory, quando a LIL é carregada.

Se cniGetAttribute e cniGetAttribute2 ou cniGetAttributeName e cniGetAttributeName2 forem implementados, cniDefineNodeClass falhará com CCI_INV_IMPL_FUNCTION.

Sintaxe

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

Parâmetros

returnCode
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_NODE_NAME
  • CCI_INV_OBJECT_NAME
  • CCI_INV_VFTP
  • CCI_MISSING_IMPL_FUNCTION
  • CCI_NAME_EXISTS
factoryObject
O endereço do objeto de fábrica que suporta o nó nomeado. O endereço é retornado de cniCreateNodeFactory (entrada).
name
O nome do nó a ser definido. O nome do nó precisa terminar com os caracteres Node (entrada).
functbl
O endereço da estrutura CNI_VFT que contém ponteiros para as funções de implementação do nó (entrada). Exemplo de uma tabela de função:
vftable.iFpCreateNodeContext = _Transform_createNodeContext;
vftable.iFpDeleteNodeContext = _deleteNodeContext;
vftable.iFpGetAttributeName2 = _getAttributeName2;
vftable.iFpSetAttribute      = _setAttribute;
vftable.iFpGetAttribute2     = _getAttribute2;
vftable.iFpEvaluate          = _Transform_evaluate; /* if not an input node */
vftable.iFRun                = _run                 /* if an input node */

Em geral você deve definir somente uma das últimas 2 entradas, ou seja, você define vftable.iFpEvaluate = _Transform_evaluate; para um nó de processamento de mensagem, ou define vftable.iFpRun = _run; para um nó input.

Valores de Retorno

Nenhuma. Se ocorrer um erro, o parâmetro returnCode indica o motivo do erro.

Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
as07510_