17#include <boost/signals2.hpp>
24template <
typename TSource,
typename TOrthogonal>
25struct EvTimer :
sc::event<EvTimer<TSource, TOrthogonal>>
42 ClRosTimer(rclcpp::Duration duration,
bool oneshot =
false);
49 boost::signals2::connection
onTimerTick(
void (T::*callback)(), T *
object)
54 template <
typename TOrthogonal,
typename TSourceObject>
57 this->
postTimerEvent_ = [
this]() { this->postEvent<EvTimer<TSourceObject, TOrthogonal>>(); };
61 rclcpp::TimerBase::SharedPtr
timer_;
rclcpp::Duration duration_
void onOrthogonalAllocation()
boost::signals2::connection onTimerTick(void(T::*callback)(), T *object)
virtual void onInitialize() override
smacc2::SmaccSignal< void()> onTimerTick_
rclcpp::TimerBase::SharedPtr timer_
std::function< void()> postTimerEvent_
ClRosTimer(rclcpp::Duration duration, bool oneshot=false)
ISmaccStateMachine * getStateMachine()
boost::signals2::connection createSignalConnection(TSmaccSignal &signal, TMemberFunctionPrototype callback, TSmaccObjectType *object)