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 34 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 28 of file IntervalTimerStopable.cpp.

31 : core::TimerEventReceiver(name, timeout)
33 }
std::function< void(const std::function< void()> &)> dispatcher

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

Referenced by core::timer::Timer::intervalTimer(), and IntervalTimerStopable().

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 35 of file IntervalTimerStopable.cpp.

35 {
36 update();
37
38 dispatcher([this]() {
39 cancel();
40 });
41 }

References 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 43 of file IntervalTimerStopable.cpp.

43 {
44 delete this;
45 }

◆ ~IntervalTimerStopable()

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

Friends And Related Symbol Documentation

◆ Timer

friend class Timer
friend

Definition at line 52 of file IntervalTimerStopable.h.

Member Data Documentation

◆ dispatcher

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

Definition at line 50 of file IntervalTimerStopable.h.


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