|
Embedded Template Library 1.0
|
The FSM class. More...
#include <fsm.h>
Public Member Functions | |
| fsm (etl::message_router_id_t id) | |
| Constructor. | |
| template<typename TSize> | |
| void | set_states (etl::ifsm_state **p_states, TSize size) |
| virtual void | start (bool call_on_enter_state=true) |
| void | receive (const etl::imessage &message) ETL_OVERRIDE |
| Top level message handler for the FSM. | |
| etl::fsm_state_id_t | transition_to (etl::fsm_state_id_t new_state_id) |
| Invoke a state transition. | |
| bool | accepts (etl::message_id_t) const ETL_OVERRIDE |
| etl::fsm_state_id_t | get_state_id () const |
| Gets the current state id. | |
| ifsm_state & | get_state () |
| Gets a reference to the current state interface. | |
| const ifsm_state & | get_state () const |
| Gets a const reference to the current state interface. | |
| bool | is_started () const |
| Checks if the FSM has been started. | |
| virtual void | reset (bool call_on_exit_state=false) |
| ETL_DEPRECATED bool | is_null_router () const ETL_OVERRIDE |
| bool | is_producer () const ETL_OVERRIDE |
| bool | is_consumer () const ETL_OVERRIDE |
| virtual void | receive (etl::message_router_id_t destination_router_id, const etl::imessage &message) |
| virtual void | receive (etl::shared_message shared_msg) |
| virtual void | receive (etl::message_router_id_t destination_router_id, etl::shared_message shared_msg) |
| bool | accepts (const etl::imessage &msg) const |
| Public Member Functions inherited from etl::successor< imessage_router > | |
| successor () | |
| Default constructor. | |
| void | set_successor (successor_type &s) |
| Set the successor. | |
| void | append_successor (TSuccessor &s) |
| Append a successor. | |
| void | clear_successor () |
| Clear the successor. | |
| void | clear_successor_chain () |
| Clear the successor chain. | |
| successor_type & | get_successor () const |
| bool | has_successor () const |
| Does this have a successor? | |
Friends | |
| class | etl::hfsm |
Additional Inherited Members | |
| Public Types inherited from etl::successor< imessage_router > | |
| typedef imessage_router | successor_type |
The FSM class.
|
inlinevirtual |
Does this FSM accept the message id? Yes, it accepts everything!
Implements etl::imessage_router.
|
inlinevirtual |
Implements etl::imessage_router.
|
inlinevirtual |
Implements etl::imessage_router.
|
inlinevirtual |
Implements etl::imessage_router.
|
inlinevirtual |
Top level message handler for the FSM.
Implements etl::imessage_router.
|
inlinevirtual |
Reimplemented from etl::imessage_router.
|
inlinevirtual |
Reimplemented from etl::imessage_router.
|
inlinevirtual |
Reimplemented from etl::imessage_router.
|
inlinevirtual |
Reset the FSM to pre-started state.
| call_on_exit_state | If true will call on_exit_state() for the current state. Default = false. |
Reimplemented in etl::hfsm.
|
inline |
Set the states for the FSM From a pointer to etl::ifsm_state and size.
|
inlinevirtual |
Starts the FSM. Can only be called once. Subsequent calls will do nothing.
| call_on_enter_state | If true will call on_enter_state() for the first state. Default = true. |
Reimplemented in etl::hfsm.