20#include <lifecycle_msgs/msg/transition_event.hpp>
21#include <rclcpp/rclcpp.hpp>
31class CpLifecycleEventMonitor;
34template <
typename TSourceObject,
typename TOrthogonal>
36template <
typename TSourceObject,
typename TOrthogonal>
38template <
typename TSourceObject,
typename TOrthogonal>
40template <
typename TSourceObject,
typename TOrthogonal>
42template <
typename TSourceObject,
typename TOrthogonal>
44template <
typename TSourceObject,
typename TOrthogonal>
46template <
typename TSourceObject,
typename TOrthogonal>
48template <
typename TSourceObject,
typename TOrthogonal>
50template <
typename TSourceObject,
typename TOrthogonal>
52template <
typename TSourceObject,
typename TOrthogonal>
54template <
typename TSourceObject,
typename TOrthogonal>
56template <
typename TSourceObject,
typename TOrthogonal>
58template <
typename TSourceObject,
typename TOrthogonal>
60template <
typename TSourceObject,
typename TOrthogonal>
62template <
typename TSourceObject,
typename TOrthogonal>
64template <
typename TSourceObject,
typename TOrthogonal>
66template <
typename TSourceObject,
typename TOrthogonal>
68template <
typename TSourceObject,
typename TOrthogonal>
70template <
typename TSourceObject,
typename TOrthogonal>
72template <
typename TSourceObject,
typename TOrthogonal>
74template <
typename TSourceObject,
typename TOrthogonal>
76template <
typename TSourceObject,
typename TOrthogonal>
78template <
typename TSourceObject,
typename TOrthogonal>
80template <
typename TSourceObject,
typename TOrthogonal>
82template <
typename TSourceObject,
typename TOrthogonal>
182 template <
typename TOrthogonal,
typename TClient>
266 rclcpp::Subscription<lifecycle_msgs::msg::TransitionEvent>::SharedPtr
subscription_;
274 void onTransitionEvent(
const lifecycle_msgs::msg::TransitionEvent::SharedPtr msg);
Component that monitors ROS2 lifecycle node transition events.
smacc2::SmaccSignal< void()> onTransitionOnShutdownSuccess_
smacc2::SmaccSignal< void()> onTransitionOnDeactivateSuccess_
std::function< void()> postEventOnDeactivateFailure_
smacc2::SmaccSignal< void()> onTransitionOnShutdownFailure_
smacc2::SmaccSignal< void()> onTransitionOnErrorError_
std::function< void()> postEventOnShutdownError_
smacc2::SmaccSignal< void()> onTransitionOnActivateFailure_
smacc2::SmaccSignal< void()> onTransitionCleanup_
std::function< void()> postEventOnCleanupError_
smacc2::SmaccSignal< void()> onTransitionOnErrorFailure_
smacc2::SmaccSignal< void()> onTransitionOnActivateError_
smacc2::SmaccSignal< void()> onTransitionUnconfiguredShutdown_
smacc2::SmaccSignal< void()> onTransitionOnCleanupError_
std::function< void()> postEventOnConfigureError_
std::function< void()> postEventOnActivateFailure_
std::function< void()> postEventOnActivateSuccess_
smacc2::SmaccSignal< void()> onTransitionOnActivateSuccess_
std::function< void()> postEventDeactivate_
smacc2::SmaccSignal< void()> onTransitionOnActiveShutdownSuccess_
smacc2::SmaccSignal< void()> onTransitionActiveShutdown_
std::function< void()> postEventActiveShutdown_
std::function< void()> postEventOnShutdownSuccess_
std::function< void()> postEventOnErrorSuccess_
std::function< void()> postEventOnShutdownFailure_
std::function< void()> postEventOnDeactivateError_
smacc2::SmaccSignal< void()> onTransitionOnConfigureSuccess_
smacc2::SmaccSignal< void()> onTransitionOnCleanupFailure_
smacc2::SmaccSignal< void()> onTransitionCreate_
std::function< void()> postEventOnCleanupSuccess_
smacc2::SmaccSignal< void()> onTransitionConfigure_
smacc2::SmaccSignal< void()> onTransitionOnActiveShutdownError_
rclcpp::Subscription< lifecycle_msgs::msg::TransitionEvent >::SharedPtr subscription_
std::function< void()> postEventOnActivateError_
CpLifecycleEventMonitor(std::string nodeName)
Constructor with node name.
std::function< void()> postEventUnconfiguredShutdown_
std::function< void()> postEventOnCleanupFailure_
void onStateOrthogonalAllocation()
Configure event posting with orthogonal template parameter This is called from the client's onStateOr...
smacc2::SmaccSignal< void()> onTransitionDeactivate_
virtual ~CpLifecycleEventMonitor()=default
void onTransitionEvent(const lifecycle_msgs::msg::TransitionEvent::SharedPtr msg)
Callback for transition event subscription.
lifecycle_msgs::msg::TransitionEvent::SharedPtr lastTransitionEvent_
smacc2::SmaccSignal< void()> onTransitionOnConfigureError_
smacc2::SmaccSignal< void()> onTransitionOnCleanupSuccess_
std::function< void()> postEventOnDeactivateSuccess_
smacc2::SmaccSignal< void()> onTransitionOnDeactivateFailure_
smacc2::SmaccSignal< void()> onTransitionOnDeactivateError_
smacc2::SmaccSignal< void()> onTransitionOnShutdownError_
smacc2::SmaccSignal< void()> onTransitionOnErrorSuccess_
std::function< void()> postEventConfigure_
smacc2::SmaccSignal< void()> onTransitionOnActiveShutdownFailure_
std::function< void()> postEventDestroy_
std::function< void()> postEventActivate_
std::optional< lifecycle_msgs::msg::TransitionEvent > getLastTransitionEvent() const
Get the last received transition event.
void setOwner(smacc2::ISmaccClient *owner, smacc2::ISmaccStateMachine *stateMachine)
Set the owner client and state machine for this component.
smacc2::SmaccSignal< void()> onTransitionDestroy_
std::function< void()> postEventOnConfigureFailure_
smacc2::SmaccSignal< void()> onTransitionInactiveShutdown_
smacc2::SmaccSignal< void()> onTransitionActivate_
smacc2::SmaccSignal< void()> onTransitionOnConfigureFailure_
std::function< void()> postEventOnConfigureSuccess_
std::function< void()> postEventInactiveShutdown_
std::function< void()> postEventCleanup_
std::function< void()> postEventOnErrorFailure_
void onInitialize() override
Component initialization - creates subscription.
ISmaccStateMachine * stateMachine_