STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
EngineFSM Class Reference
Collaboration diagram for EngineFSM:
[legend]

Public Member Functions

 EngineFSM ()
void register_state (const std::string &state_name, std::shared_ptr< EngineState > state)
bool request_transition (const std::string &target_state, SystemParameters &params)
void update (SystemParameters &params)
std::string get_current_state () const
std::vector< std::string > get_available_transitions (const SystemParameters &params) const

Private Member Functions

void transition_to_state (const std::string &state_name, SystemParameters &params)
bool can_enter_state (const std::string &state_name, const SystemParameters &params) const

Private Attributes

std::map< std::string, std::shared_ptr< EngineState > > states
std::string current_state

Detailed Description

Definition at line 89 of file state_machine.cpp.

Constructor & Destructor Documentation

◆ EngineFSM()

EngineFSM::EngineFSM ( )

Definition at line 119 of file state_machine.cpp.

References current_state.

Member Function Documentation

◆ can_enter_state()

bool EngineFSM::can_enter_state ( const std::string & state_name,
const SystemParameters & params ) const
private

Definition at line 201 of file state_machine.cpp.

References current_state, and states.

Referenced by get_available_transitions(), request_transition(), and update().

◆ get_available_transitions()

std::vector< std::string > EngineFSM::get_available_transitions ( const SystemParameters & params) const

Definition at line 214 of file state_machine.cpp.

References can_enter_state(), current_state, and states.

◆ get_current_state()

std::string EngineFSM::get_current_state ( ) const

Definition at line 197 of file state_machine.cpp.

References current_state.

◆ register_state()

void EngineFSM::register_state ( const std::string & state_name,
std::shared_ptr< EngineState > state )

Definition at line 122 of file state_machine.cpp.

References current_state, state, and states.

◆ request_transition()

bool EngineFSM::request_transition ( const std::string & target_state,
SystemParameters & params )

Definition at line 161 of file state_machine.cpp.

References can_enter_state(), states, and transition_to_state().

◆ transition_to_state()

void EngineFSM::transition_to_state ( const std::string & state_name,
SystemParameters & params )
private

Definition at line 181 of file state_machine.cpp.

References current_state, and states.

Referenced by request_transition(), and update().

◆ update()

Member Data Documentation

◆ current_state

◆ states

std::map<std::string, std::shared_ptr<EngineState> > EngineFSM::states
private

The documentation for this class was generated from the following file: