11 #ifndef RECIPE_CALLBACK_IMPL_A5F81CB3_58BB_4506_908B_49FCBF0C519C 12 #define RECIPE_CALLBACK_IMPL_A5F81CB3_58BB_4506_908B_49FCBF0C519C 19 #include "recipe_callback.hpp" 40 class recipe_callback_impl SX_FINAL:
41 public sx::genesis::recipe_callback
45 std::vector<std::string> _namespaces, std::vector<std::string> _behavior_classes,
46 std::string _state_machine_name, std::string _state_machine_type );
47 virtual ~recipe_callback_impl() SX_NOEXCEPT SX_OVERRIDE;
48 SX_NO_COPY( recipe_callback_impl )
49 virtual std::string get_variable_content(
const std::string& _variable_name ) SX_OVERRIDE;
50 virtual void before_loop(
const std::string& _loop_name ) SX_OVERRIDE;
51 virtual void before_loop_iteration(
const std::string& _loop_name ) SX_OVERRIDE;
52 virtual void after_loop_iteration(
const std::string& _loop_name ) SX_OVERRIDE;
53 virtual bool check_loop_condition(
const std::string& _loop_name )
const SX_OVERRIDE;
54 virtual void after_loop(
const std::string& _loop_name ) SX_OVERRIDE;
55 virtual bool check_condition(
const std::string& _condition_name )
const SX_OVERRIDE;
56 virtual void condition_begin(
const std::string& _condition_name ) SX_OVERRIDE;
57 virtual void condition_end(
const std::string& _condition_name ) SX_OVERRIDE;
58 virtual int get_switch_case(
const std::string& _switch_name ) SX_OVERRIDE;
62 std::string get_state_property(
const std::string& _property )
const;
63 std::string get_pseudostate_property(
const std::string& _property )
const;
64 std::string get_state_pseudostate_property(
const std::string& _property )
const;
65 std::string get_event_property(
const std::string& _property )
const;
66 std::string get_date_time_string()
const;
67 std::string get_transition_events()
const;
68 void fill_struct(
const std::string& _loop_name );
69 void fill_one_behavior_struct(
behavior_struct& _behavior,
const std::string& _behavior_string );
74 std::map<const std::string, const std::string> map_of_values_;
75 std::vector<std::string> namespaces_;
76 std::vector<std::string> behavior_classes_;
77 std::size_t namespace_index_;
78 std::size_t base_class_index_;
79 std::size_t behavior_classes_index_;
80 std::size_t transition_index_;
81 std::size_t pseudostate_index_;
82 std::size_t state_pseudostate_index_;
83 std::stack<const sxy::model::state_model*> composite_states_stack_;
84 std::stack<const sxy::model::region_model*> regions_stack_;
85 std::stack<std::size_t> composite_states_index_stack_;
86 std::stack<std::size_t> regions_index_stack_;
87 std::size_t event_index_;
92 std::string active_switch_;
Definition: behavior_struct.hpp:25
Interface for a region in the model.
Definition: region_model.hpp:31
Definition: algorithm_parameters.hpp:16
Class representing a model of a complete state machine.
Definition: state_machine_model.hpp:33
Interface for a state in the model.
Definition: state_model.hpp:34
Interface for a composite state in the model.
Definition: composite_state_model.hpp:31