RTC Toolkit 6.0.0
Loading...
Searching...
No Matches
model.hpp
Go to the documentation of this file.
1
11
12#ifndef RTCTK_COMPONENTFRAMEWORK_MODEL_HPP
13#define RTCTK_COMPONENTFRAMEWORK_MODEL_HPP
14
15#include <cstdint>
16#include <list>
17#include <string>
18#include <vector>
19
21
23
27struct State {
28 virtual ~State() = default;
29
30 // cppcheck-suppress-begin unusedStructMember
31
32 std::string m_id;
34
36 std::list<State*> m_children;
37
38 std::string m_do_activity_id;
39 std::string m_entry_action_id;
40 std::string m_exit_action_id;
41
42 // cppcheck-suppress-end unusedStructMember
43};
44
48struct Transition {
49 // cppcheck-suppress-begin unusedStructMember
50
53
54 std::string m_event_id;
55 std::string m_guard_id;
56 std::string m_action_id;
57
58 // cppcheck-suppress-end unusedStructMember
59};
60
65 explicit StateMachine(const std::string& id) {
67 m_id = id;
68 m_parent = nullptr;
69 }
70
71 ~StateMachine() override {
72 for (State* s : m_all_states) {
73 delete s;
74 }
75
76 for (Transition* t : m_all_transitions) {
77 delete t;
78 }
79 }
80
81 std::list<State*> m_all_states;
82 std::list<Transition*> m_all_transitions;
83};
84
85} // namespace rtctk::componentFramework
86
87#endif
Definition commandReplier.cpp:21
StateType
Definition model.hpp:22
@ Simple
Definition model.hpp:22
@ Composite
Definition model.hpp:22
@ Parallel
Definition model.hpp:22
@ Machine
Definition model.hpp:22
@ Final
Definition model.hpp:22
@ Initial
Definition model.hpp:22
std::list< Transition * > m_all_transitions
Definition model.hpp:82
std::list< State * > m_all_states
Definition model.hpp:81
~StateMachine() override
Definition model.hpp:71
StateMachine(const std::string &id)
Definition model.hpp:65
Definition model.hpp:27
std::string m_exit_action_id
Definition model.hpp:40
std::list< State * > m_children
Definition model.hpp:36
std::string m_id
Definition model.hpp:32
StateType m_type
Definition model.hpp:33
std::string m_entry_action_id
Definition model.hpp:39
State * m_parent
Definition model.hpp:35
std::string m_do_activity_id
Definition model.hpp:38
State * m_target
Definition model.hpp:52
State * m_source
Definition model.hpp:51
std::string m_guard_id
Definition model.hpp:55
std::string m_event_id
Definition model.hpp:54
std::string m_action_id
Definition model.hpp:56