Skip to content
Snippets Groups Projects
appimageupdater.h 793 B
Newer Older
akiraohgaki's avatar
akiraohgaki committed
#pragma once

#include <QObject>

akiraohgaki's avatar
akiraohgaki committed
namespace appimage {
namespace update {
class Updater;
}
}

akiraohgaki's avatar
akiraohgaki committed
class AppImageUpdater : public QObject
{
    Q_OBJECT

public:
    explicit AppImageUpdater(const QString &id, const QString &path, QObject *parent = nullptr);
akiraohgaki's avatar
akiraohgaki committed
    ~AppImageUpdater();
akiraohgaki's avatar
akiraohgaki committed

    QString id() const;
    QString path() const;
akiraohgaki's avatar
akiraohgaki committed
    bool isFinishedWithNoError() const;
    QString errorString() const;
akiraohgaki's avatar
akiraohgaki committed

    QString describeAppImage() const;
akiraohgaki's avatar
akiraohgaki committed
    bool checkForChanges() const;
    void start();
akiraohgaki's avatar
akiraohgaki committed

signals:
    void finished(AppImageUpdater *updater);
    void updateProgress(QString id, double progress);

akiraohgaki's avatar
akiraohgaki committed
private slots:
akiraohgaki's avatar
akiraohgaki committed
    void checkProgress();
akiraohgaki's avatar
akiraohgaki committed
private:
    QString id_;
    QString path_;
    bool isFinishedWithNoError_;
    QString errorString_;
akiraohgaki's avatar
akiraohgaki committed
    appimage::update::Updater *updater_;
akiraohgaki's avatar
akiraohgaki committed
};