Encapsulates a state machine managing the current Trajectory-Processing-Mode. More...
#include <traj_mode_manager.h>
| Public Member Functions | |
| TrajProcessingMode | getCurrentMode () | 
| bool | isHolding () | 
| Check if in state stopping or hold.  More... | |
| bool | startEvent () | 
| bool | stopEvent (HoldModeListener *const listener=nullptr) | 
| void | stopMotionFinishedEvent () | 
| Switch to hold.  More... | |
| Private Member Functions | |
| void | callListener () | 
| Triggers all registered listeners whose target mode is reached.  More... | |
| void | registerListener (HoldModeListener *const listener) | 
| bool | switchTo (const TrajProcessingMode &mode) | 
| Perform transition if possible.  More... | |
| Private Attributes | |
| TrajProcessingMode | current_mode_ { TrajProcessingMode::stopping } | 
| std::list< HoldModeListener * > | listener_ | 
| const TrajProcessingModeStateMachine | mode_state_machine_ {} | 
| std::mutex | mutex_ | 
| Used to make all public methods mutually exclusive in order to protect the member variables.  More... | |
Encapsulates a state machine managing the current Trajectory-Processing-Mode.
All public methods are mutually exclusive. Initial mode is stopping in accordance to the controller.
Definition at line 82 of file traj_mode_manager.h.
| 
 | inlineprivate | 
Triggers all registered listeners whose target mode is reached.
Definition at line 164 of file traj_mode_manager.h.
| 
 | inline | 
Definition at line 143 of file traj_mode_manager.h.
| 
 | inline | 
Check if in state stopping or hold.
Definition at line 137 of file traj_mode_manager.h.
| 
 | inlineprivate | 
Definition at line 159 of file traj_mode_manager.h.
| 
 | inline | 
Definition at line 194 of file traj_mode_manager.h.
| 
 | inline | 
Definition at line 182 of file traj_mode_manager.h.
| 
 | inline | 
Switch to hold.
Definition at line 204 of file traj_mode_manager.h.
| 
 | inlineprivate | 
Perform transition if possible.
Definition at line 149 of file traj_mode_manager.h.
| 
 | private | 
Definition at line 109 of file traj_mode_manager.h.
| 
 | private | 
Definition at line 110 of file traj_mode_manager.h.
| 
 | private | 
Definition at line 108 of file traj_mode_manager.h.
| 
 | private | 
Used to make all public methods mutually exclusive in order to protect the member variables.
Definition at line 112 of file traj_mode_manager.h.