Class CpLifecycleEventMonitor
Defined in File cp_lifecycle_event_monitor.hpp
Inheritance Relationships
Base Type
public smacc2::ISmaccComponent
Class Documentation
-
class CpLifecycleEventMonitor : public smacc2::ISmaccComponent
Component that monitors ROS2 lifecycle node transition events.
CpLifecycleEventMonitor subscribes to lifecycle transition events and parses them to detect specific transition types. It emits SMACC2 signals for each transition, enabling event-driven responses to lifecycle state changes.
This component handles the complex state-pair matching logic required to distinguish between transition starts, successes, failures, and errors.
Public Functions
-
CpLifecycleEventMonitor(std::string nodeName)
Constructor with node name.
- Parameters:
nodeName – Name of the lifecycle node to monitor
-
virtual ~CpLifecycleEventMonitor() = default
-
inline void setOwner(smacc2::ISmaccClient *owner, smacc2::ISmaccStateMachine *stateMachine)
Set the owner client and state machine for this component.
- Parameters:
owner – Pointer to the owning client
stateMachine – Pointer to the state machine
-
std::optional<lifecycle_msgs::msg::TransitionEvent> getLastTransitionEvent() const
Get the last received transition event.
- Returns:
Optional transition event (empty if none received)
-
void onInitialize() override
Component initialization - creates subscription.
-
template<typename TOrthogonal, typename TClient>
inline void onStateOrthogonalAllocation() Configure event posting with orthogonal template parameter This is called from the client’s onStateOrthogonalAllocation to set up type-safe event posting.
Public Members
-
smacc2::SmaccSignal<void()> onTransitionCreate_
-
smacc2::SmaccSignal<void()> onTransitionConfigure_
-
smacc2::SmaccSignal<void()> onTransitionActivate_
-
smacc2::SmaccSignal<void()> onTransitionDeactivate_
-
smacc2::SmaccSignal<void()> onTransitionCleanup_
-
smacc2::SmaccSignal<void()> onTransitionUnconfiguredShutdown_
-
smacc2::SmaccSignal<void()> onTransitionInactiveShutdown_
-
smacc2::SmaccSignal<void()> onTransitionActiveShutdown_
-
smacc2::SmaccSignal<void()> onTransitionDestroy_
-
smacc2::SmaccSignal<void()> onTransitionOnConfigureSuccess_
-
smacc2::SmaccSignal<void()> onTransitionOnConfigureFailure_
-
smacc2::SmaccSignal<void()> onTransitionOnConfigureError_
-
smacc2::SmaccSignal<void()> onTransitionOnActivateSuccess_
-
smacc2::SmaccSignal<void()> onTransitionOnActivateFailure_
-
smacc2::SmaccSignal<void()> onTransitionOnActivateError_
-
smacc2::SmaccSignal<void()> onTransitionOnDeactivateSuccess_
-
smacc2::SmaccSignal<void()> onTransitionOnDeactivateFailure_
-
smacc2::SmaccSignal<void()> onTransitionOnDeactivateError_
-
smacc2::SmaccSignal<void()> onTransitionOnCleanupSuccess_
-
smacc2::SmaccSignal<void()> onTransitionOnCleanupFailure_
-
smacc2::SmaccSignal<void()> onTransitionOnCleanupError_
-
smacc2::SmaccSignal<void()> onTransitionOnShutdownSuccess_
-
smacc2::SmaccSignal<void()> onTransitionOnShutdownFailure_
-
smacc2::SmaccSignal<void()> onTransitionOnShutdownError_
-
smacc2::SmaccSignal<void()> onTransitionOnActiveShutdownSuccess_
-
smacc2::SmaccSignal<void()> onTransitionOnActiveShutdownFailure_
-
smacc2::SmaccSignal<void()> onTransitionOnActiveShutdownError_
-
smacc2::SmaccSignal<void()> onTransitionOnErrorSuccess_
-
smacc2::SmaccSignal<void()> onTransitionOnErrorFailure_
-
smacc2::SmaccSignal<void()> onTransitionOnErrorError_
-
CpLifecycleEventMonitor(std::string nodeName)