SMACC2
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
cl_ros_timer::CbTimerCountdownLoop Class Reference

#include <cb_timer_countdown_loop.hpp>

Inheritance diagram for cl_ros_timer::CbTimerCountdownLoop:
Inheritance graph
Collaboration diagram for cl_ros_timer::CbTimerCountdownLoop:
Collaboration graph

Public Member Functions

 CbTimerCountdownLoop (uint64_t triggerTickCount)
 
void onEntry () override
 
void onEntry () override
 
template<typename TOrthogonal , typename TSourceObject >
void onOrthogonalAllocation ()
 
template<typename T >
boost::signals2::connection onTimerTick (void(T::*callback)(), T *object)
 
 CbTimerCountdownLoop (uint64_t triggerTickCount)
 
void onEntry () override
 
void onExit () override
 
template<typename TOrthogonal , typename TSourceObject >
void onOrthogonalAllocation ()
 
template<typename T >
boost::signals2::connection onTimerTick (void(T::*callback)(), T *object)
 
void onEntry () override
 
void onExit () override
 
- Public Member Functions inherited from smacc2::ISmaccClientBehavior
 ISmaccClientBehavior ()
 
virtual ~ISmaccClientBehavior ()
 
ISmaccStateMachinegetStateMachine ()
 
std::string getName () const
 
template<typename SmaccClientType >
void requiresClient (SmaccClientType *&storage)
 
template<typename SmaccComponentType >
void requiresComponent (SmaccComponentType *&storage, bool throwExceptionIfNotExist=false)
 
virtual void onEntry ()
 
virtual void onExit ()
 
virtual void executeOnEntry ()
 
virtual void executeOnExit ()
 

Private Member Functions

void onClientTimerTickCallback ()
 
void onClientTimerTickCallback ()
 

Private Attributes

uint64_t tickTriggerCount_
 
uint64_t tickCounter_
 
ClRosTimertimerClient_
 
std::function< void()> postCountDownEvent_
 
smacc2::SmaccSignal< void()> onTimerTick_
 

Additional Inherited Members

- Protected Member Functions inherited from smacc2::ISmaccClientBehavior
virtual void runtimeConfigure ()
 
template<typename EventType >
void postEvent (const EventType &ev)
 
template<typename EventType >
void postEvent ()
 
ISmaccStategetCurrentState ()
 
virtual void dispose ()
 
virtual rclcpp::Node::SharedPtr getNode () const
 
virtual rclcpp::Logger getLogger () const
 

Detailed Description

Definition at line 22 of file cb_timer_countdown_loop.hpp.

Constructor & Destructor Documentation

◆ CbTimerCountdownLoop() [1/2]

cl_ros_timer::CbTimerCountdownLoop::CbTimerCountdownLoop ( uint64_t  triggerTickCount)

◆ CbTimerCountdownLoop() [2/2]

cl_ros_timer::CbTimerCountdownLoop::CbTimerCountdownLoop ( uint64_t  triggerTickCount)
explicit

Member Function Documentation

◆ onClientTimerTickCallback() [1/2]

void cl_ros_timer::CbTimerCountdownLoop::onClientTimerTickCallback ( )
private

Definition at line 24 of file cb_timer_countdown_loop.cpp.

25{
27
29 {
32 }
33}
smacc2::SmaccSignal< void()> onTimerTick_

References onTimerTick_, postCountDownEvent_, tickCounter_, and tickTriggerCount_.

Referenced by onEntry().

Here is the caller graph for this function:

◆ onClientTimerTickCallback() [2/2]

void cl_ros_timer::CbTimerCountdownLoop::onClientTimerTickCallback ( )
private

◆ onEntry() [1/3]

void cl_ros_timer::CbTimerCountdownLoop::onEntry ( )
overridevirtual

◆ onEntry() [2/3]

void cl_ros_timer::CbTimerCountdownLoop::onEntry ( )
overridevirtual

Reimplemented from smacc2::SmaccClientBehavior.

◆ onEntry() [3/3]

void cl_ros_timer::CbTimerCountdownLoop::onEntry ( )
overridevirtual

Reimplemented from smacc2::SmaccClientBehavior.

◆ onExit()

void cl_ros_timer::CbTimerCountdownLoop::onExit ( )
overridevirtual

Reimplemented from smacc2::SmaccClientBehavior.

Definition at line 41 of file cb_timer_countdown_loop.cpp.

41{}

◆ onOrthogonalAllocation() [1/2]

template<typename TOrthogonal , typename TSourceObject >
void cl_ros_timer::CbTimerCountdownLoop::onOrthogonalAllocation ( )
inline

Definition at line 31 of file cb_timer_countdown_loop.hpp.

32 {
33 this->postCountDownEvent_ = [=]()
34 { this->template postEvent<EvTimer<TSourceObject, TOrthogonal>>(); };
35 }

References postCountDownEvent_.

◆ onOrthogonalAllocation() [2/2]

template<typename TOrthogonal , typename TSourceObject >
void cl_ros_timer::CbTimerCountdownLoop::onOrthogonalAllocation ( )
inline

Definition at line 32 of file cb_timer_countdown_loop.hpp.

33 {
34 this->postCountDownEvent_ = [=]()
35 { this->template postEvent<EvTimer<TSourceObject, TOrthogonal>>(); };
36 }

References postCountDownEvent_.

◆ onTimerTick() [1/2]

template<typename T >
boost::signals2::connection cl_ros_timer::CbTimerCountdownLoop::onTimerTick ( void(T::*)()  callback,
T *  object 
)
inline

Definition at line 38 of file cb_timer_countdown_loop.hpp.

39 {
40 return this->getStateMachine()->createSignalConnection(onTimerTick_, callback, object);
41 }
boost::signals2::connection createSignalConnection(TSmaccSignal &signal, TMemberFunctionPrototype callback, TSmaccObjectType *object)

References smacc2::ISmaccStateMachine::createSignalConnection(), smacc2::ISmaccClientBehavior::getStateMachine(), and onTimerTick_.

Here is the call graph for this function:

◆ onTimerTick() [2/2]

template<typename T >
boost::signals2::connection cl_ros_timer::CbTimerCountdownLoop::onTimerTick ( void(T::*)()  callback,
T *  object 
)
inline

Definition at line 39 of file cb_timer_countdown_loop.hpp.

40 {
41 return this->getStateMachine()->createSignalConnection(onTimerTick_, callback, object);
42 }

References smacc2::ISmaccStateMachine::createSignalConnection(), smacc2::ISmaccClientBehavior::getStateMachine(), and onTimerTick_.

Here is the call graph for this function:

Member Data Documentation

◆ onTimerTick_

smacc2::SmaccSignal< void()> cl_ros_timer::CbTimerCountdownLoop::onTimerTick_
private

Definition at line 49 of file cb_timer_countdown_loop.hpp.

Referenced by onClientTimerTickCallback(), and onTimerTick().

◆ postCountDownEvent_

std::function< void()> cl_ros_timer::CbTimerCountdownLoop::postCountDownEvent_
private

◆ tickCounter_

uint64_t cl_ros_timer::CbTimerCountdownLoop::tickCounter_
private

Definition at line 45 of file cb_timer_countdown_loop.hpp.

Referenced by onClientTimerTickCallback().

◆ tickTriggerCount_

uint64_t cl_ros_timer::CbTimerCountdownLoop::tickTriggerCount_
private

Definition at line 44 of file cb_timer_countdown_loop.hpp.

Referenced by onClientTimerTickCallback().

◆ timerClient_

ClRosTimer * cl_ros_timer::CbTimerCountdownLoop::timerClient_
private

Definition at line 47 of file cb_timer_countdown_loop.hpp.

Referenced by onEntry().


The documentation for this class was generated from the following files: