MultiMC5/logic/tasks/ProgressProvider.h
Petr Mrázek b979d0ce5d Implement legacy forge button!
Many refactors of the task system.
Progress dialog now accepts generic ProgressProvider objects
2013-09-18 00:00:35 +02:00

21 lines
508 B
C++

#pragma once
#include <QObject>
class ProgressProvider : public QObject
{
Q_OBJECT
protected:
explicit ProgressProvider(QObject* parent = 0): QObject(parent){}
signals:
void started();
void progress(qint64 current, qint64 total);
void succeeded();
void failed(QString reason);
void status(QString status);
public:
virtual QString getStatus() const = 0;
virtual void getProgress(qint64 &current, qint64 &total) = 0;
virtual bool isRunning() const = 0;
public slots:
virtual void start() = 0;
};