SMACC
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.h>

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)
 
virtual void onEntry () override
 
virtual void onExit () override
 
template<typename TOrthogonal , typename TSourceObject >
void onOrthogonalAllocation ()
 
template<typename T >
boost::signals2::connection onTimerTick (void(T::*callback)(), T *object)
 
virtual void onEntry () override
 
virtual void onExit () override
 
- Public Member Functions inherited from smacc::ISmaccClientBehavior
 ISmaccClientBehavior ()
 
virtual ~ISmaccClientBehavior ()
 
ISmaccStateMachinegetStateMachine ()
 
std::string getName () const
 
template<typename SmaccClientType >
void requiresClient (SmaccClientType *&storage)
 
template<typename SmaccComponentType >
void requiresComponent (SmaccComponentType *&storage)
 
ros::NodeHandle getNode ()
 

Private Member Functions

void onClientTimerTickCallback ()
 

Private Attributes

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

Additional Inherited Members

- Protected Member Functions inherited from smacc::ISmaccClientBehavior
virtual void runtimeConfigure ()
 
virtual void onEntry ()
 
virtual void onExit ()
 
template<typename EventType >
void postEvent (const EventType &ev)
 
template<typename EventType >
void postEvent ()
 
ISmaccStategetCurrentState ()
 
virtual void executeOnEntry ()
 
virtual void executeOnExit ()
 
virtual void dispose ()
 

Detailed Description

Definition at line 9 of file cb_timer_countdown_loop.h.

Constructor & Destructor Documentation

◆ CbTimerCountdownLoop()

cl_ros_timer::CbTimerCountdownLoop::CbTimerCountdownLoop ( uint64_t  triggerTickCount)

Member Function Documentation

◆ onClientTimerTickCallback()

void cl_ros_timer::CbTimerCountdownLoop::onClientTimerTickCallback ( )
private

Definition at line 12 of file cb_timer_countdown_loop.cpp.

13{
15
17 {
20 }
21}
smacc::SmaccSignal< void()> onTimerTick_

References onTimerTick_, postCountDownEvent_, tickCounter_, and tickTriggerCount_.

Referenced by onEntry().

Here is the caller graph for this function:

◆ onEntry()

void cl_ros_timer::CbTimerCountdownLoop::onEntry ( )
overridevirtual

Reimplemented from smacc::SmaccClientBehavior.

Definition at line 23 of file cb_timer_countdown_loop.cpp.

24{
27}
boost::signals2::connection onTimerTick(void(T::*callback)(), T *object)
Definition: cl_ros_timer.h:34
void requiresClient(SmaccClientType *&storage)

References onClientTimerTickCallback(), cl_ros_timer::ClRosTimer::onTimerTick(), smacc::ISmaccClientBehavior::requiresClient(), and timerClient_.

Here is the call graph for this function:

◆ onExit()

void cl_ros_timer::CbTimerCountdownLoop::onExit ( )
overridevirtual

Reimplemented from smacc::SmaccClientBehavior.

Definition at line 29 of file cb_timer_countdown_loop.cpp.

30{
31}

◆ onOrthogonalAllocation()

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

Definition at line 18 of file cb_timer_countdown_loop.h.

19 {
20 this->postCountDownEvent_ = [=]() {
21 this->template postEvent<EvTimer<TSourceObject, TOrthogonal>>();
22 };
23 }

References postCountDownEvent_.

◆ onTimerTick()

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

Definition at line 26 of file cb_timer_countdown_loop.h.

27 {
28 return this->getStateMachine()->createSignalConnection(onTimerTick_, callback, object);
29 }
ISmaccStateMachine * getStateMachine()
boost::signals2::connection createSignalConnection(TSmaccSignal &signal, TMemberFunctionPrototype callback, TSmaccObjectType *object)

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

Here is the call graph for this function:

Member Data Documentation

◆ onTimerTick_

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

Definition at line 37 of file cb_timer_countdown_loop.h.

Referenced by onClientTimerTickCallback(), and onTimerTick().

◆ postCountDownEvent_

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

Definition at line 36 of file cb_timer_countdown_loop.h.

Referenced by onClientTimerTickCallback(), and onOrthogonalAllocation().

◆ tickCounter_

uint64_t cl_ros_timer::CbTimerCountdownLoop::tickCounter_
private

Definition at line 32 of file cb_timer_countdown_loop.h.

Referenced by onClientTimerTickCallback().

◆ tickTriggerCount_

uint64_t cl_ros_timer::CbTimerCountdownLoop::tickTriggerCount_
private

Definition at line 33 of file cb_timer_countdown_loop.h.

Referenced by onClientTimerTickCallback().

◆ timerClient_

ClRosTimer* cl_ros_timer::CbTimerCountdownLoop::timerClient_
private

Definition at line 35 of file cb_timer_countdown_loop.h.

Referenced by onEntry().


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