Go to the documentation of this file.
61 const std::string & name =
"",
62 const std::vector<std::string> & category = {});
90 inline void interrupt() { interrupt_triggered_ =
true; }
93 inline bool running()
const {
return state_ !=
nullptr; }
96 inline bool ready()
const {
return ready_; }
99 inline bool complete()
const {
return complete_; }
105 bool resume(
const std::string & state);
114 const std::string &
state()
const {
return curr_state_; }
117 const std::string &
output()
const {
return state_output_; }
120 const std::string &
next_state()
const {
return next_state_; }
123 bool read_msg(std::string & msg);
126 bool read_write_msg(std::string & msg, std::string & out);
129 using duration_ms = std::chrono::duration<double, std::milli>;
135 std::vector<std::string> category_;
137 bool managed_ =
false;
139 bool step_by_step_ =
true;
141 bool reset_postures_ =
true;
149 std::string curr_state_ =
"";
151 std::string state_output_ =
"";
154 bool interrupt_triggered_ =
false;
158 bool transition_triggered_ =
false;
160 bool complete_ =
false;
162 std::string next_state_ =
"";
173 bool complete(
Controller & ctl,
bool keep_state);
Simplify access to values hold within a JSON file.
Definition: Configuration.h:165
#define MC_CONTROL_FSM_DLLAPI
Definition: api.h:50
bool running() const
Definition: Executor.h:93
bool ready() const
Definition: Executor.h:96
Definition: TransitionMap.h:43
struct MC_CONTROL_FSM_DLLAPI Controller
Definition: State.h:23
std::chrono::duration< double, std::milli > duration_ms
Definition: clock.h:13
const std::string & state() const
Definition: Executor.h:114
Definition: Executor.h:32
bool complete() const
Definition: Executor.h:99
Definition: CompletionCriteria.h:10
std::shared_ptr< State > StatePtr
Definition: State.h:172
void interrupt()
Definition: Executor.h:90
const std::string & output() const
Definition: Executor.h:117
const std::string & next_state() const
Definition: Executor.h:120
Definition: Controller.h:49