Use this function to define a node class, as specified by the name parameter, which is supported by the node factory specified as thefactoryObject parameter.
This function is called by the node during execution of bipGetMessageFlowNodeFactory, when the LIL file is loaded.
If both cniGetAttribute and cniGetAttribute2, or cniGetAttributeName and cniGetAttributeName2 are implemented, cniDefineNodeClass fails with CCI_INV_IMPL_FUNCTION.
void cniDefineNodeClass(
int* returnCode,
CciFactory* factoryObject,
CciChar* name,
CNI_VFT* functbl);
For example, if you have assigned the name as Basic in the IBM® Integration Toolkit, the class name of the node must be BasicNode.
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 */
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.
None. If an error occurs, the returnCode parameter indicates the reason for the error.