FastLED 3.9.15
Loading...
Searching...
No Matches
fl::TaskImpl Class Reference

Detailed Description

Definition at line 117 of file task.h.

#include <task.h>

+ Collaboration diagram for fl::TaskImpl:

Public Member Functions

 TaskImpl (const TaskImpl &)=delete
 
 TaskImpl (TaskImpl &&)=default
 
void execute_catch (const Error &error)
 
void execute_then ()
 
bool has_catch () const
 
bool has_then () const
 
int id () const
 
int interval_ms () const
 
bool is_auto_registered () const
 
bool is_canceled () const
 
uint32_t last_run_time () const
 
TaskImploperator= (const TaskImpl &)=delete
 
TaskImploperator= (TaskImpl &&)=default
 
bool ready_to_run (uint32_t current_time) const
 
bool ready_to_run_frame_task (uint32_t current_time) const
 
void set_canceled ()
 
void set_catch (function< void(const Error &)> on_catch)
 
void set_last_run_time (uint32_t time)
 
void set_then (function< void()> on_then)
 
string trace_label () const
 
TaskType type () const
 

Static Public Member Functions

static shared_ptr< TaskImplcreate_after_frame ()
 
static shared_ptr< TaskImplcreate_after_frame (const fl::TracePoint &trace)
 
static shared_ptr< TaskImplcreate_at_framerate (int fps)
 
static shared_ptr< TaskImplcreate_at_framerate (int fps, const fl::TracePoint &trace)
 
static shared_ptr< TaskImplcreate_before_frame ()
 
static shared_ptr< TaskImplcreate_before_frame (const fl::TracePoint &trace)
 
static shared_ptr< TaskImplcreate_every_ms (int interval_ms)
 
static shared_ptr< TaskImplcreate_every_ms (int interval_ms, const fl::TracePoint &trace)
 

Private Member Functions

 TaskImpl (TaskType type, int interval_ms)
 
 TaskImpl (TaskType type, int interval_ms, const fl::TracePoint &trace)
 
void auto_register_with_scheduler ()
 

Private Attributes

bool mAutoRegistered = false
 
bool mCanceled = false
 
function< void(const Error &)> mCatchCallback
 
bool mHasCatch = false
 
bool mHasThen = false
 
int mIntervalMs
 
uint32_t mLastRunTime = 0
 
int mTaskId = 0
 
function< void()> mThenCallback
 
unique_ptr< stringmTraceLabel
 
TaskType mType
 

Friends

template<typename T, typename... Args>
shared_ptr< T > make_shared (Args &&... args)
 
class Scheduler
 
class task
 

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