blob: d1c79d6ac3ee1ed44ae7ec73597e9ce18ae2cde3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#ifndef TASK_RUNNER_HH
#define TASK_RUNNER_HH
#include <functional>
#include <memory>
class Looper;
class TaskRunner {
public:
virtual ~TaskRunner() = default;
static std::unique_ptr<TaskRunner> create(std::shared_ptr<Looper> looper);
static std::unique_ptr<TaskRunner> create(size_t threads = 1);
virtual void post(std::function<void()> callback) = 0;
protected:
TaskRunner() = default;
TaskRunner(TaskRunner const&) = delete;
TaskRunner& operator=(TaskRunner const&) = delete;
};
#endif // TASK_RUNNER_HH
|