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

#include <IntervalTimerStopable.h>

Inheritance diagram for core::timer::IntervalTimerStopable:
Collaboration diagram for core::timer::IntervalTimerStopable:

Public Member Functions

 IntervalTimerStopable (const IntervalTimerStopable &)=delete
IntervalTimerStopableoperator= (const IntervalTimerStopable &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

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

Private Attributes

std::function< void(const 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 IntervalTimerStopable.h.

Constructor & Destructor Documentation

◆ IntervalTimerStopable() [1/2]

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

◆ IntervalTimerStopable() [2/2]

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

Definition at line 50 of file IntervalTimerStopable.cpp.

53 : core::TimerEventReceiver(name, timeout)
55 }
std::function< void(const 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::IntervalTimerStopable::dispatchEvent ( )
finalprivatevirtual

Implements core::TimerEventReceiver.

Definition at line 57 of file IntervalTimerStopable.cpp.

57 {
58 update();
59
60 dispatcher([this]() {
61 cancel();
62 });
63 }

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

Here is the call graph for this function:

◆ operator=()

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

◆ unobservedEvent()

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

Implements core::TimerEventReceiver.

Definition at line 65 of file IntervalTimerStopable.cpp.

65 {
66 delete this;
67 }

◆ ~IntervalTimerStopable()

core::timer::IntervalTimerStopable::~IntervalTimerStopable ( )
overrideprivatedefault

◆ Timer

friend class Timer
friend

Definition at line 74 of file IntervalTimerStopable.h.

Member Data Documentation

◆ dispatcher

std::function<void(const std::function<void()>&)> core::timer::IntervalTimerStopable::dispatcher = nullptr
private

Definition at line 72 of file IntervalTimerStopable.h.

Referenced by dispatchEvent(), and IntervalTimerStopable().


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