cniDefineNodeClass

Definisce una classe di nodo, come specificato dal parametro name, supportata dal produttore di nodi specificato come parametro factoryObject. Questa funzione è richiamata dal nodo durante l'esecuzione di bipGetMessageFlowNodeFactory, quando viene caricata la LIL.

Se sono implementate sia cniGetAttribute che cniGetAttribute2 o cniGetAttributeName e cniGetAttributeName2, cniDefineNodeClass ha esito negativo con CCI_INV_IMPL_FUNCTION.

Sintassi

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

Parametri

returnCode
Il codice di ritorno dalla funzione (output).
I codici di ritorno possibili sono:
  • 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
L'indirizzo dell'oggetto produttore che supporta il nodo denominato. L'indirizzo viene restituito da cniCreateNodeFactory (input).
name
Il nome del nodo che deve essere definito. Tale nome deve terminare con i caratteri Node (input).
functbl
L'indirizzo della struttura CNI_VFT che contiene i puntatori alle funzioni di implementazione del nodo (input). Di seguito è riportata una tabella contenente funzioni:
vftable.iFpCreateNodeContext = _Transform_createNodeContext;
vftable.iFpDeleteNodeContext = _deleteNodeContext;
vftable.iFpGetAttributeName2 = _getAttributeName2;
vftable.iFpSetAttribute      = _setAttribute;
vftable.iFpGetAttribute2     = _getAttribute2;
vftable.iFpEvaluate          = _Transform_evaluate; /* se non è un nodo di input */ 
vftable.iFRun                = _run                 /* se è un nodo di input */

Di solito, viene definita solo una delle 2 ultime voci; ovvero, si definisce vftable.iFpEvaluate = _Transform_evaluate; per un nodo di elaborazione messaggi oppure si definisce vftable.iFpRun = _run; per un nodo di input.

Valori di restituzione

Nessuno. Se si verifica un errore, il parametro returnCode indica il motivo dell'errore.

Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
as07510_