diff options
Diffstat (limited to 'src/core/thread/Task.h')
-rw-r--r-- | src/core/thread/Task.h | 17 |
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(); |