WebSphere Message Brokers
File: as07510_
Writer: Lorraine Waitt

Reference topic

This build: July 31, 2007 21:37:15

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.

If both cniGetAttribute and cniGetAttribute2 or cniGetAttributeName and cniGetAttributeName2 are implemented, cniDefineNodeClass fails with CCI_INV_IMPL_FUNCTION.

Syntax

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

Parameters

returnCode
The return code from the function (output).
Possible return codes are:
  • 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
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.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.

Return values

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

Notices | Trademarks | Downloads | Library | Support | Feedback

Copyright IBM Corporation 1999, 2007Copyright IBM Corporation 1999, 2007. All Rights Reserved.
This build: July 31, 2007 21:37:15

as07510_ This topic's URL is: