aboutsummaryrefslogtreecommitdiffstats
path: root/src/core/thread/Task.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/thread/Task.h')
-rw-r--r--src/core/thread/Task.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/core/thread/Task.h b/src/core/thread/Task.h
index 281c37e6..4b597ed7 100644
--- a/src/core/thread/Task.h
+++ b/src/core/thread/Task.h
@@ -43,7 +43,20 @@ class GPGFRONTEND_CORE_EXPORT Task : public QObject, public QRunnable {
using TaskRunnable = std::function<int(DataObjectPtr)>; ///<
using TaskCallback = std::function<void(int, DataObjectPtr)>; ///<
- using TaskTrigger = std::function<void()>;
+
+ class TaskHandler {
+ public:
+ explicit TaskHandler(Task*);
+
+ void Start();
+
+ void Cancel();
+
+ auto GetTask() -> Task*;
+
+ private:
+ QPointer<Task> task_;
+ };
/**
* @brief Construct a new Task object
@@ -83,7 +96,7 @@ class GPGFRONTEND_CORE_EXPORT Task : public QObject, public QRunnable {
signals:
void SignalRun();
- void SignalTaskShouldEnd(int rtn);
+ void SignalTaskShouldEnd(int);
void SignalTaskEnd();