Chrysalis - CLO3D Extensions
Loading...
Searching...
No Matches
TaskGroup.h
Go to the documentation of this file.
1#ifndef CLO3D_TASKGROUP_H
2#define CLO3D_TASKGROUP_H
3
4#include <memory>
5#include <functional>
6
7#include "BaseTask.h"
9
10namespace CLO3D {
12 public:
13 explicit TaskGroup(const QString& name);
14
15 void addTask(std::unique_ptr<BaseTask> task);
16 protected:
17 void wait() override;
18 void run(const std::function<void()>& onSuccess, const std::function<void(const BaseTaskException&)>& onException) override;
19 private:
20 std::vector<std::unique_ptr<BaseTask>> tasks_;
21 };
22}
23
24#endif // CLO3D_TASKGROUP_H
#define CLO3D_EXTENSION
Definition CLO3DExtensionExport.h:12
Definition BaseTaskException.h:12
BaseTask(const QString &name)
Definition BaseTask.cpp:6
const QString & name() const
Definition BaseTask.cpp:8
void run(const std::function< void()> &onSuccess, const std::function< void(const BaseTaskException &)> &onException) override
Definition TaskGroup.cpp:24
TaskGroup(const QString &name)
Definition TaskGroup.cpp:10
void wait() override
Definition TaskGroup.cpp:12
void addTask(std::unique_ptr< BaseTask > task)
Definition TaskGroup.cpp:41
Definition BaseCommand.h:8