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

#include <SingleshotTimer.h>

Inheritance diagram for core::timer::SingleshotTimer:
Collaboration diagram for core::timer::SingleshotTimer:

Public Member Functions

 SingleshotTimer (const SingleshotTimer &)=delete
 
SingleshotTimeroperator= (const SingleshotTimer &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

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

Private Attributes

std::function< void()> dispatcher
 

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

Constructor & Destructor Documentation

◆ SingleshotTimer() [1/2]

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

◆ SingleshotTimer() [2/2]

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

Definition at line 28 of file SingleshotTimer.cpp.

29 : TimerEventReceiver(name, timeout)
31 }
TimerEventReceiver(const TimerEventReceiver &)=delete
std::function< void()> dispatcher

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

Referenced by SingleshotTimer(), and core::timer::Timer::singleshotTimer().

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

Member Function Documentation

◆ dispatchEvent()

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

Implements core::TimerEventReceiver.

Definition at line 33 of file SingleshotTimer.cpp.

33 {
34 dispatcher();
35 cancel();
36 }

References core::TimerEventReceiver::cancel().

Here is the call graph for this function:

◆ operator=()

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

◆ unobservedEvent()

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

Implements core::TimerEventReceiver.

Definition at line 38 of file SingleshotTimer.cpp.

38 {
39 delete this;
40 }

◆ ~SingleshotTimer()

core::timer::SingleshotTimer::~SingleshotTimer ( )
overrideprivatedefault

Friends And Related Symbol Documentation

◆ Timer

friend class Timer
friend

Definition at line 52 of file SingleshotTimer.h.

Member Data Documentation

◆ dispatcher

std::function<void()> core::timer::SingleshotTimer::dispatcher
private

Definition at line 50 of file SingleshotTimer.h.


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