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 56 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 50 of file SingleshotTimer.cpp.

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

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

Referenced by 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 55 of file SingleshotTimer.cpp.

55 {
56 dispatcher();
57 cancel();
58 }

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

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 60 of file SingleshotTimer.cpp.

60 {
61 delete this;
62 }

◆ ~SingleshotTimer()

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

◆ Timer

friend class Timer
friend

Definition at line 74 of file SingleshotTimer.h.

Member Data Documentation

◆ dispatcher

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

Definition at line 72 of file SingleshotTimer.h.

Referenced by dispatchEvent(), and SingleshotTimer().


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