20 #include <QtCore/QObject>
23 #include <unordered_map>
37 Manager(QObject* parent =
nullptr);
53 template<
typename SELECTOR = QThread,
typename ... ARGS>
57 runner->m_taskId = m_taskIdSeq.fetch_add(1);
69 void started(quint64 taskId,
const QString& title);
71 void progress(quint64 taskId,
int percent);
72 void message(quint64 taskId,
const QString& msg);
73 void ended(quint64 taskId);
81 const BaseRunner* getRunner(quint64 taskId)
const;
83 std::atomic<quint64> m_taskIdSeq;
84 std::unordered_map<quint64, BaseRunner*> m_taskIdToRunner;
Base class for all runner objects.
Definition: base_runner.h:31
Definition: base_runner.h:73
void progress(quint64 taskId, int percent)
static Manager * globalInstance()
Definition: manager.cpp:54
void progressStep(quint64 taskId, const QString &title)
~Manager()
Definition: manager.cpp:30
QString taskTitle(quint64 taskId) const
Definition: manager.cpp:33
const Progress * taskProgress(quint64 taskId) const
Definition: manager.cpp:39
void message(quint64 taskId, const QString &msg)
void ended(quint64 taskId)
Runner< SELECTOR > * newTask(ARGS...args)
Create a ready-to-launch Runner object.
Definition: manager.h:54
Provides feedback on the progress of an executing operation.
Definition: progress.h:29
Central class providing management of tasks and notifications.
Definition: manager.h:32
Provides task Qt signals, to be forwarded to the Manager object.
Definition: base_runner_signals.h:30
void started(quint64 taskId, const QString &title)
Definition: base_runner.cpp:20
Manager(QObject *parent=nullptr)
Definition: manager.cpp:24
void requestAbort(quint64 taskId)
Definition: manager.cpp:45