<object>_<state>_takeEvent(<object>* const <me>, <event ID>)
イベント ID は、パッケージ宣言ファイルの先頭にある、イベント用に生成された識別番号です。
例えば、HomeHeatingSystem の systemControl 状態の場合には、以下の takeEvent() 操作が生成されます。
int HomeHeatingSystem_systemControl_takeEvent( HomeHeatingSystem* const me, short id);
int HomeHeatingSystem_systemControl_takeEvent(
HomeHeatingSystem* const me, short id) {
int res = eventNotConsumed;
if(id == Timeout_id)
{
if(RiCTimeout_getTimeoutId((RiCTimeout*)
me->ric_reactive.current_event) ==
HomeHeatingSystem_Timeout_systemControl_id)
{
NOTIFY_TRANSITION_STARTED(me,
HomeHeatingSystem, "1");
HomeHeatingSystem_systemControl_exit(me);
{
/*#[ transition 1 */
if(IS_IN(&me->theFurnace,Furnace_starting))
RiCGEN(&me->theFurnace,motorReady());
/*#]*/
}
systemControl_entDef(me);
NOTIFY_TRANSITION_TERMINATED(me,
HomeHeatingSystem, "1");
res = eventConsumed;
}
}
return res;
}