Leosac
0.8.0
Open Source Access Control
|
This task type is used whenever a lambda is passed to the scheduler. More...
#include <GenericTask.hpp>
Public Member Functions | |
GenericTask (const std::function< bool(void)> &fct) | |
Public Member Functions inherited from Leosac::Tasks::Task | |
Task () | |
virtual | ~Task () |
Task (const Task &)=delete | |
Task (Task &&)=delete | |
Task & | operator= (const Task &)=delete |
Task & | operator= (Task &&)=delete |
bool | is_complete () const |
Has the tasks completed its execution. More... | |
void | wait () |
Instead of spinlocking over is_complete() one can call wait() to hum... More... | |
void | run () |
bool | succeed () const |
std::exception_ptr | get_exception () const |
template<typename Callback > | |
void | set_on_completion (Callback c) |
Set a callback that will be invoked when the tasks is completed, no matter if it succeeded or not. More... | |
template<typename Callback > | |
void | set_on_success (Callback c) |
Set a callback that will be invoked if and when the task succeed. More... | |
template<typename Callback > | |
void | set_on_failure (Callback c) |
Set a callback that will be invoked if and when the task fails. More... | |
const std::string & | get_guid () const |
Static Public Member Functions | |
template<typename Callable > | |
static TaskPtr | build (const Callable &callable) |
Private Member Functions | |
virtual bool | do_run () |
Private Attributes | |
std::function< bool(void)> | fct_ |
This task type is used whenever a lambda is passed to the scheduler.
The scheduler use std::function to type-erase the callable object so that it can fit into GenericTask.
Definition at line 35 of file GenericTask.hpp.
Leosac::Tasks::GenericTask::GenericTask | ( | const std::function< bool(void)> & | fct | ) |
Definition at line 23 of file GenericTask.cpp.
|
inlinestatic |
Definition at line 41 of file GenericTask.hpp.
|
privatevirtual |
Implements Leosac::Tasks::Task.
Definition at line 29 of file GenericTask.cpp.
|
private |
Definition at line 49 of file GenericTask.hpp.