cniPropagate

指定したターミナル・オブジェクトにメッセージを伝搬します。 ターミナルがコネクターによって他のノードに付加されていない場合には、 メッセージは伝搬されず、この関数はノーオペレーションと見なされます。 したがって、ノードが取るアクションが異ならない限り (この場合は、cniIsTerminalAttached を使用してターミナルが接続されているかを検査する)、 メッセージの伝搬の前にターミナルが付加されているかどうかを検査する必要はありません。

構文

int cniPropagate(
    int*                        returnCode,
    CciTerminal*  terminalObject,
    CciMessage* destinationList,
    CciMessage* exceptionList,
  CciMessage*  message);

パラメーター

returnCode
関数からの戻りコード (出力)。
terminalObject
メッセージを受け取る出力ターミナルのアドレス (入力)。 このアドレスは、cniCreateOutputTerminal によって戻されます。
destinationList
メッセージと共に送信される宛先リスト・オブジェクトのアドレス (入力)。

このメッセージ・オブジェクトは、 メッセージ・ブローカーによって提供されるパブリッシュ/サブスクライブ・ノードによって使用されます。

exceptionList
メッセージの例外リストのアドレス (入力)。
message
送信するメッセージ・オブジェクトのアドレス (入力)。 送信されるメッセージが入力メッセージと同じ場合には、 このアドレスが、cniEvaluate インプリメンテーション関数に渡されるものになります。

戻り値

成功した場合、CCI_SUCCESS が戻されます。 失敗した場合、CCI_FAILURE が戻され、returnCode パラメーターがエラーの理由を示します。

  if (terminalObject) {
        if (cniIsTerminalAttached(&rc, terminalObject)) {
            if (rc == CCI_SUCCESS) {
        cniPropagate(&rc, terminalObject, destinationList, exceptionList, message);

関連概念
ユーザー定義の入力ノード
ユーザー定義のメッセージ処理ノード
ユーザー定義の出力ノード

関連タスク
C での入力ノードの作成
C でのメッセージ処理ノードの作成

関連資料
C 言語ノード・ユーティリティー関数
cniCreateMessage
cniCreateOutputTerminal
cniDeleteMessage
cniEvaluate
cniFinalize
cniGetEnvironmentMessage
cniGetMessageContext
cniIsTerminalAttached