23 #ifndef GZ_SIM_SYSTEMS_ELEVATOR_STATE_MACHINE_HH_
24 #define GZ_SIM_SYSTEMS_ELEVATOR_STATE_MACHINE_HH_
29 #include <gz/transport/Node.hh>
31 #include "afsm/fsm.hpp"
38 inline namespace GZ_SIM_VERSION_NAMESPACE {
42 class ElevatorCommonPrivate;
43 class ElevatorStateMachinePrivate;
68 template <
typename TargetState>
77 :
public ::afsm::def::state_machine<ElevatorStateMachineDef>
102 in<events::EnqueueNewTarget, actions::EnqueueNewTarget<true>,
104 in<events::EnqueueNewTarget, actions::EnqueueNewTarget<false>,
114 not_<guards::CabinAtTarget> >,
116 tr<OpenDoorState, events::DoorOpen, WaitState, none, none>,
118 tr<WaitState, events::Timeout, CloseDoorState, none, none>,
123 not_<guards::NoQueuedTarget> >,
143 #endif // GZ_SIM_SYSTEMS_ELEVATOR_STATE_MACHINE_HH_