Use this function to propagate a message to a specified terminal object. If the terminal is not attached to another node by a connector, the message is not propagated, and the function is ignored.
Therefore, you do not have to check whether the terminal is attached before you propagate the message, unless you want the node to take different in this scenario. If required, you can use cniIsTerminalAttached to check whether the terminal is connected before you call this function.
int cniPropagate(
int* returnCode,
CciTerminal* terminalObject,
CciMessage* localEnvironment,
CciMessage* exceptionList,
CciMessage* message);
This message object is used by the publish/subscribe node supplied by the integration node.
For compatibility with earlier versions, you can refer to this parameter as destinationList.
If successful, CCI_SUCCESS is returned. Otherwise, CCI_FAILURE is returned, and the returnCode parameter indicates the reason for the error.
if (terminalObject) {
if (cniIsTerminalAttached(&rc, terminalObject)) {
if (rc == CCI_SUCCESS) {
cniPropagate(&rc, terminalObject, destinationList, exceptionList, message);