RTC Toolkit 5.0.0
Loading...
Searching...
No Matches
modelManipulator.hpp
Go to the documentation of this file.
1
13#ifndef RTCTK_COMPONENTFRAMEWORK_MODELMANIPULATOR_HPP
14#define RTCTK_COMPONENTFRAMEWORK_MODELMANIPULATOR_HPP
15
17
18#include <string>
19
21
28public:
36 explicit ModelManipulator(StateMachine& sm);
37
46 std::string GetParentId(const std::string& id);
47
59 void AddState(StateType type,
60 const std::string& id,
61 const std::string& parent_id = "",
62 const std::string& activity_id = "",
63 const std::string& entry_action_id = "",
64 const std::string& exit_action_id = "");
65
72 void DelState(const std::string& id);
73
83 void RepState(const std::string& id, const std::string& new_id);
84
92 void ModStateId(const std::string& state_id, const std::string& new_state_id);
93
101 void ModStateType(const std::string& state_id, StateType new_state_type);
109 void ModStateParent(const std::string& state_id, const std::string& new_parent_id);
110
118 void ModStateDoActivity(const std::string& state_id, const std::string& new_activity_id);
119
127 void ModStateEntryAction(const std::string& state_id, const std::string& new_entry_action_id);
128
136 void ModStateExitAction(const std::string& state_id, const std::string& new_exit_action_id);
137
150 void ExtStateToParallel(const std::string& id);
151
163 void AddTrans(const std::string& source_id,
164 const std::string& target_id,
165 const std::string& event_id = "",
166 const std::string& guard_id = "",
167 const std::string& action_id = "");
168
179 void DelTrans(const std::string& source_id,
180 const std::string& target_id,
181 const std::string& event_id = "",
182 const std::string& guard_id = "");
183
195 void ModTransTarget(const std::string& source_id,
196 const std::string& target_id,
197 const std::string& event_id,
198 const std::string& guard_id,
199 const std::string& new_target_id);
200
212 void ModTransSource(const std::string& source_id,
213 const std::string& target_id,
214 const std::string& event_id,
215 const std::string& guard_id,
216 const std::string& new_source_id);
217
229 void ModTransEvent(const std::string& source_id,
230 const std::string& target_id,
231 const std::string& event_id,
232 const std::string& guard_id,
233 const std::string& new_event_id);
234
246 void ModTransGuard(const std::string& source_id,
247 const std::string& target_id,
248 const std::string& event_id,
249 const std::string& guard_id,
250 const std::string& new_guard_id);
251
263 void ModTransAction(const std::string& source_id,
264 const std::string& target_id,
265 const std::string& event_id,
266 const std::string& guard_id,
267 const std::string& new_action_id);
268
269private:
270 State* GetStatePtr(const std::string& state_id);
271
272 State* FindState(const std::string& state_id);
273
274 Transition* FindTransition(const std::string& source_id,
275 const std::string& target_id,
276 const std::string& event_id,
277 const std::string& guard_id);
278
279 void DelStateRecursive(State* state);
280
281 StateMachine& m_sm;
282};
283
284} // namespace rtctk::componentFramework
285
286#endif
Class that provides methods to manipulate the state machine model.
Definition modelManipulator.hpp:27
void ModTransAction(const std::string &source_id, const std::string &target_id, const std::string &event_id, const std::string &guard_id, const std::string &new_action_id)
Modifies the action of a transition.
Definition modelManipulator.cpp:306
void DelTrans(const std::string &source_id, const std::string &target_id, const std::string &event_id="", const std::string &guard_id="")
Deletes an existing transition.
Definition modelManipulator.cpp:251
void ExtStateToParallel(const std::string &id)
Parallel Extension.
Definition modelManipulator.cpp:185
void ModStateParent(const std::string &state_id, const std::string &new_parent_id)
Re-parents a state.
Definition modelManipulator.cpp:150
void DelState(const std::string &id)
Deletes an existing state including all of its children and transitions.
Definition modelManipulator.cpp:84
void AddState(StateType type, const std::string &id, const std::string &parent_id="", const std::string &activity_id="", const std::string &entry_action_id="", const std::string &exit_action_id="")
Adds a new state.
Definition modelManipulator.cpp:30
void ModTransGuard(const std::string &source_id, const std::string &target_id, const std::string &event_id, const std::string &guard_id, const std::string &new_guard_id)
Modifies the guard of a transition.
Definition modelManipulator.cpp:297
std::string GetParentId(const std::string &id)
Gets the name of the parent state.
Definition modelManipulator.cpp:26
void ModTransEvent(const std::string &source_id, const std::string &target_id, const std::string &event_id, const std::string &guard_id, const std::string &new_event_id)
Modifies the trigger of a transition.
Definition modelManipulator.cpp:288
void ModStateType(const std::string &state_id, StateType new_state_type)
Modifies type of state.
Definition modelManipulator.cpp:124
void AddTrans(const std::string &source_id, const std::string &target_id, const std::string &event_id="", const std::string &guard_id="", const std::string &action_id="")
Adds a new transition.
Definition modelManipulator.cpp:229
void ModStateEntryAction(const std::string &state_id, const std::string &new_entry_action_id)
Modifies the entry-action of a state.
Definition modelManipulator.cpp:172
void RepState(const std::string &id, const std::string &new_id)
Replaces a state with another state.
Definition modelManipulator.cpp:59
void ModTransTarget(const std::string &source_id, const std::string &target_id, const std::string &event_id, const std::string &guard_id, const std::string &new_target_id)
Modifies the target state of a transition.
Definition modelManipulator.cpp:270
void ModStateId(const std::string &state_id, const std::string &new_state_id)
Renames a state.
Definition modelManipulator.cpp:119
void ModStateExitAction(const std::string &state_id, const std::string &new_exit_action_id)
Modifies the exit-action of a state.
Definition modelManipulator.cpp:178
void ModStateDoActivity(const std::string &state_id, const std::string &new_activity_id)
Modifies the do-activity of a state.
Definition modelManipulator.cpp:167
ModelManipulator(StateMachine &sm)
Constructor.
Definition modelManipulator.cpp:23
void ModTransSource(const std::string &source_id, const std::string &target_id, const std::string &event_id, const std::string &guard_id, const std::string &new_source_id)
Modifies the source state of a transition.
Definition modelManipulator.cpp:279
In-memory representation of the state machine model.
Definition commandReplier.cpp:22
StateType
Definition model.hpp:23
elt::mal::future< std::string > InjectReqRepEvent(StateMachineEngine &engine)
Definition malEventInjector.hpp:23
Definition model.hpp:28