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