roo_scheduler
API Documentation for roo_scheduler
Loading...
Searching...
No Matches
roo_scheduler::SingletonTask Class Reference

Convenience adapter for cancelable and replaceable single pending work. More...

#include <roo_scheduler.h>

Inheritance diagram for roo_scheduler::SingletonTask:
[legend]
Collaboration diagram for roo_scheduler::SingletonTask:
[legend]

Public Member Functions

 SingletonTask (Scheduler &scheduler, std::function< void()> task)
 
bool is_scheduled () const
 
void scheduleOn (roo_time::Uptime when, Priority priority=Priority::kNormal)
 Schedules or reschedules task at absolute time when.
 
void scheduleAfter (roo_time::Duration delay, Priority priority=Priority::kNormal)
 Schedules or reschedules task after delay.
 
void scheduleNow (Priority priority=Priority::kNormal)
 Schedules or reschedules task for immediate execution.
 
void cancel ()
 
void execute (ExecutionID id) override
 
 ~SingletonTask ()
 
- Public Member Functions inherited from roo_scheduler::Executable
virtual ~Executable ()=default
 

Detailed Description

Convenience adapter for cancelable and replaceable single pending work.

Definition at line 543 of file roo_scheduler.h.

Constructor & Destructor Documentation

◆ SingletonTask()

roo_scheduler::SingletonTask::SingletonTask ( Scheduler scheduler,
std::function< void()>  task 
)

Definition at line 359 of file roo_scheduler.cpp.

◆ ~SingletonTask()

roo_scheduler::SingletonTask::~SingletonTask ( )

Definition at line 387 of file roo_scheduler.cpp.

References roo_scheduler::Scheduler::cancel().

Member Function Documentation

◆ cancel()

void roo_scheduler::SingletonTask::cancel ( )
inline

Definition at line 565 of file roo_scheduler.h.

◆ execute()

void roo_scheduler::SingletonTask::execute ( ExecutionID  id)
overridevirtual

Implements roo_scheduler::Executable.

Definition at line 380 of file roo_scheduler.cpp.

◆ is_scheduled()

bool roo_scheduler::SingletonTask::is_scheduled ( ) const
inline

Definition at line 547 of file roo_scheduler.h.

◆ scheduleAfter()

void roo_scheduler::SingletonTask::scheduleAfter ( roo_time::Duration  delay,
Priority  priority = Priority::kNormal 
)

Schedules or reschedules task after delay.

Any previously pending execution is canceled.

Definition at line 368 of file roo_scheduler.cpp.

References roo_scheduler::Scheduler::cancel(), and roo_scheduler::Scheduler::scheduleAfter().

◆ scheduleNow()

void roo_scheduler::SingletonTask::scheduleNow ( Priority  priority = Priority::kNormal)

Schedules or reschedules task for immediate execution.

Any previously pending execution is canceled.

Definition at line 374 of file roo_scheduler.cpp.

References roo_scheduler::Scheduler::cancel(), and roo_scheduler::Scheduler::scheduleNow().

◆ scheduleOn()

void roo_scheduler::SingletonTask::scheduleOn ( roo_time::Uptime  when,
Priority  priority = Priority::kNormal 
)

Schedules or reschedules task at absolute time when.

Any previously pending execution is canceled.

Definition at line 362 of file roo_scheduler.cpp.

References roo_scheduler::Scheduler::cancel(), and roo_scheduler::Scheduler::scheduleOn().


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