SNode.C
Loading...
Searching...
No Matches
core::timer::IntervalTimer Class Reference

#include <IntervalTimer.h>

Inheritance diagram for core::timer::IntervalTimer:
Collaboration diagram for core::timer::IntervalTimer:

Public Member Functions

 IntervalTimer (const IntervalTimer &)=delete
IntervalTimeroperator= (const IntervalTimer &timer)=delete
Public Member Functions inherited from core::TimerEventReceiver
 TimerEventReceiver (const TimerEventReceiver &)=delete
TimerEventReceiveroperator= (const TimerEventReceiver &)=delete
void restart ()
Public Member Functions inherited from core::EventReceiver
 EventReceiver (const std::string &name)
 EventReceiver (EventReceiver &)=delete
 EventReceiver (EventReceiver &&)=delete
EventReceiveroperator= (EventReceiver &)=delete
EventReceiveroperator= (EventReceiver &&)=delete
virtual void destruct ()
void span ()
void relax ()
const std::string & getName () const

Private Member Functions

 IntervalTimer (const std::function< void()> &dispatcher, const utils::Timeval &timeout, const std::string &name="IntervalTimer")
 ~IntervalTimer () override=default
void dispatchEvent () final
void unobservedEvent () override

Private Attributes

std::function< void()> dispatcher = nullptr

Friends

class Timer

Additional Inherited Members

Static Public Member Functions inherited from core::EventReceiver
static void atNextTick (const std::function< void(void)> &callBack)
Protected Member Functions inherited from core::TimerEventReceiver
 TimerEventReceiver (const std::string &name, const utils::Timeval &delay)
 ~TimerEventReceiver () override
utils::Timeval getTimeoutAbsolut () const
utils::Timeval getTimeoutRelative (const utils::Timeval &currentTime) const
void enable ()
void update ()
void cancel ()
Protected Member Functions inherited from core::EventReceiver
virtual ~EventReceiver ()=default

Detailed Description

Definition at line 56 of file IntervalTimer.h.

Constructor & Destructor Documentation

◆ IntervalTimer() [1/2]

core::timer::IntervalTimer::IntervalTimer ( const IntervalTimer & )
delete

◆ IntervalTimer() [2/2]

core::timer::IntervalTimer::IntervalTimer ( const std::function< void()> & dispatcher,
const utils::Timeval & timeout,
const std::string & name = "IntervalTimer" )
private

Definition at line 50 of file IntervalTimer.cpp.

51 : core::TimerEventReceiver(name, timeout)
53 }
std::function< void()> dispatcher

References dispatcher, and core::TimerEventReceiver::TimerEventReceiver().

Referenced by core::timer::Timer::intervalTimer().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Function Documentation

◆ dispatchEvent()

void core::timer::IntervalTimer::dispatchEvent ( )
finalprivatevirtual

Implements core::TimerEventReceiver.

Definition at line 55 of file IntervalTimer.cpp.

55 {
56 update();
57
58 dispatcher();
59 }

References dispatcher, and core::TimerEventReceiver::update().

Here is the call graph for this function:

◆ operator=()

IntervalTimer & core::timer::IntervalTimer::operator= ( const IntervalTimer & timer)
delete

◆ unobservedEvent()

void core::timer::IntervalTimer::unobservedEvent ( )
overrideprivatevirtual

Implements core::TimerEventReceiver.

Definition at line 61 of file IntervalTimer.cpp.

61 {
62 delete this;
63 }

◆ ~IntervalTimer()

core::timer::IntervalTimer::~IntervalTimer ( )
overrideprivatedefault

◆ Timer

friend class Timer
friend

Definition at line 72 of file IntervalTimer.h.

Member Data Documentation

◆ dispatcher

std::function<void()> core::timer::IntervalTimer::dispatcher = nullptr
private

Definition at line 70 of file IntervalTimer.h.

Referenced by dispatchEvent(), and IntervalTimer().


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