Chrysalis - CLO3D Extensions
Toggle main menu visibility
Loading...
Searching...
No Matches
Task.h
Go to the documentation of this file.
1
#ifndef CLO3D_TASK_H
2
#define CLO3D_TASK_H
3
4
#include <mutex>
5
#include <functional>
6
#include <condition_variable>
7
8
#include <QString>
9
#include <QFuture>
10
#include <QFutureWatcher>
11
12
#include "
BaseTask.h
"
13
#include "
TaskException.h
"
14
#include "
CLO3DExtensionExport.h
"
15
16
namespace
CLO3D
{
17
class
CLO3D_EXTENSION
Task
:
public
BaseTask
{
18
public
:
19
explicit
Task
(
const
QString&
name
,
const
std::function<
void
()>& task);
20
~Task
()
override
;
21
protected
:
22
void
wait
()
override
;
23
void
run
(
const
std::function<
void
()>& onSuccess,
const
std::function<
void
(
const
BaseTaskException
&)>& onException)
override
;
24
private
:
25
QFuture<void>
future_;
26
std::function<void()> task_;
27
std::optional<TaskException> exception_;
28
};
29
}
30
31
#endif
// CLO3D_TASK_H
BaseTask.h
CLO3DExtensionExport.h
CLO3D_EXTENSION
#define CLO3D_EXTENSION
Definition
CLO3DExtensionExport.h:12
TaskException.h
CLO3D::BaseTaskException
Definition
BaseTaskException.h:12
CLO3D::BaseTask::BaseTask
BaseTask(const QString &name)
Definition
BaseTask.cpp:6
CLO3D::BaseTask::name
const QString & name() const
Definition
BaseTask.cpp:8
CLO3D::Task::Task
Task(const QString &name, const std::function< void()> &task)
Definition
Task.cpp:17
CLO3D::Task::wait
void wait() override
Definition
Task.cpp:25
CLO3D::Task::run
void run(const std::function< void()> &onSuccess, const std::function< void(const BaseTaskException &)> &onException) override
Definition
Task.cpp:30
QFuture
Definition
BaseTask.h:15
CLO3D
Definition
BaseCommand.h:8
integrations
clo3d
include
Task.h
Generated by
1.17.0