cniDefineNodeClass

Defines a node class, as specified by the name parameter, which is supported by the node factory specified as the factoryObject parameter. This function is called by the node during execution of bipGetMessageFlowNodeFactory, when the LIL is loaded.

Syntax

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

Parameters

returnCode
The return code from the function (output).
factoryObject
The address of the factory object that supports the named node. The address is returned from cniCreateNodeFactory (input).
name
The name of the node to be defined. The name of the node must end with the characters Node (input).
functbl
The address of the CNI_VFT structure that contains pointers to the node implementation functions (input). Here is an example of a function table:
vftable.iFpCreateNodeContext = _Transform_createNodeContext;
vftable.iFpDeleteNodeContext = _deleteNodeContext;
vftable.iFpGetAttributeName  = _getAttributeName;
vftable.iFpSetAttribute      = _setAttribute;
vftable.iFpGetAttribute      = _getAttribute;
vftable.iFpEvaluate          = _Transform_evaluate; /* if not an input node */ 
vftable.iFRun                = _run                 /* if an input node */

You would typically define only one of the last 2 entries, that is, you define vftable.iFpEvaluate = _Transform_evaluate; for a message processing node, or you define vftable.iFpRun = _run; for an input node.

Return values

None. If an error occurs, the returnCode parameter indicates the reason for the error.

Related concepts
User-defined Input nodes
User-defined message processing nodes
User-defined output nodes

Related tasks
Creating an input node in C
Creating a message processing node in C

Related reference
C language node utility functions
cniCreateNodeFactory