離開狀態

exit() 作業可讓物件離開某個狀態。它也會執行任何使用者定義的動作以離開狀態。

關於這項作業

exit() 作業名稱具有下列格式:

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

例如,系統會針對 HomeHeatingSystem 中的 systemControl 狀態產生下列 exit() 作業:

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() 作業。

回饋