4#include <boost/statechart/event.hpp>
7#include <ros/duration.h>
8#include <boost/signals2.hpp>
9#include <boost/optional/optional_io.hpp>
15template <
typename TSource,
typename TOrthogonal>
24template <
typename MessageType>
34 ROS_INFO(
"[ClMultiroleSensor] constructor");
39 boost::signals2::connection
onMessageTimeout(
void (T::*callback)(
const ros::TimerEvent &), T *
object)
46 template <
typename TOrthogonal,
typename TSourceObject>
51 this->postTimeoutMessageEvent = [=](
auto &timerdata) {
55 event->timerData = timerdata;
75 ROS_WARN(
"Timeout sensor client not set, skipping timeout watchdog funcionality");
void onOrthogonalAllocation()
boost::optional< ros::Duration > timeout_
virtual void initialize() override
std::function< void(const ros::TimerEvent &ev)> postTimeoutMessageEvent
boost::signals2::connection onMessageTimeout(void(T::*callback)(const ros::TimerEvent &), T *object)
void timeoutCallback(const ros::TimerEvent &timerdata)
void resetTimer(const MessageType &msg)
SmaccSignal< void(const ros::TimerEvent &)> onMessageTimeout_
ISmaccStateMachine * getStateMachine()
boost::signals2::connection createSignalConnection(TSmaccSignal &signal, TMemberFunctionPrototype callback, TSmaccObjectType *object)
boost::signals2::connection onMessageReceived(void(T::*callback)(const MessageType &), T *object)
virtual void initialize()
ros::TimerEvent timerData