公共操作

公共操作是对象接口的一部分。公共操作的声明生成在对象的规范文件中,跟随在对象的 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 之后使用 :I 开关(例如,$objectName:I$objectName:i)以展开 $objectName 成为对象名称中仅有的大写字母(和数字)。


反馈