パブリック操作

パブリック操作は、オブジェクトのインターフェースの一部です。 パブリック操作の宣言は、そのオブジェクトの宣言ファイルの、そのオブジェクトの struct 宣言の後に生成されます。 パブリック操作の定義は、そのオブジェクトの実装ファイルに生成されます。

例えば、パブリック操作 open()Valve オブジェクトの宣言ファイルには次の宣言が生成されます。

/*## operation open() */
void Valve_open(Valve* const me);

パブリック操作 open()Valve オブジェクトの実装ファイルには、次の定義が生成されます。

void Valve_open(Valve* const me) {
   NOTIFY_OPERATION(me, &me, NULL, Valve, Valve_open, Valve_open(),
      0, Default_Valve_open_SERIALIZE);
   /*#[ operation open() */
   /*#]*/
}

アニメーションには、NOTIFY_OPERATION マクロが使用されます。 これは、アニメーターに、新規操作が呼び出されたことを通知します。NOTIFY_OPERATION マクロは、アニメーションが有効にされると単にコードに挿入されます。

パブリック操作の名前の生成方法を制御するには、 C_CG::Operation::PublicName プロパティーを使用します。 このプロパティー $objectName_$opName のデフォルト値では、操作の名前にオブジェクト名を接頭辞として付けます。 例えば、暖房システムのバルブを開くパブリック操作は、Valve_open() と命名されます。

$objectName を展開してオブジェクト名の大文字 (および数字) のみにする場合は、$objectName の後に :I スイッチを使用します (例えば、$objectName:I または $objectName:i など)。


フィードバック