MultiMC5/logic/tasks/ProgressProvider.h

21 lines
508 B
C
Raw Normal View History

#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;
};