从状态退出

exit() 操作允许对象从某个状态退出。它还可以在退出状态时执行用户定义的任意操作。

关于此任务

exit() 操作名称具有以下格式:

<object>_<state>_exit(<object*> const <me>)

例如,以下 exit() 操作是为 systemControl 状态的 HomeHeatingSystem 生成的:

void HomeHeatingSystem_systemControl_exit(
   HomeHeatingSystem* const me);

此操作具有以下实现:

void HomeHeatingSystem_systemControl_exit(
   HomeHeatingSystem* const me) {
      RiCTask_unschedTm(me->ric_reactive.myTask,
         HomeHeatingSystem_Timeout_systemControl_id,
         &me->ric_reactive);
      NOTIFY_STATE_EXITED(me, HomeHeatingSystem,
         "ROOT.systemControl");
}
注: 也可以为根状态生成 exit() 操作。

反馈