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

#include <QObject>
akiraohgaki's avatar
akiraohgaki committed
#include <QJsonObject>
akiraohgaki's avatar
akiraohgaki committed

class ConfigHandler;

akiraohgaki's avatar
akiraohgaki committed
#ifdef QTLIB_UNIX
class AppImageUpdater;
#endif

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

public:
    explicit UpdateHandler(ConfigHandler *configHandler, QObject *parent = nullptr);
akiraohgaki's avatar
akiraohgaki committed
signals:
akiraohgaki's avatar
akiraohgaki committed
    void checkAllStarted(bool status);
    void checkAllFinished(bool status);
    void updateStarted(QString itemKey, bool status);
    void updateFinished(QString itemKey, bool status);
    void updateProgress(QString itemKey, double progress);
akiraohgaki's avatar
akiraohgaki committed

akiraohgaki's avatar
akiraohgaki committed
public slots:
akiraohgaki's avatar
akiraohgaki committed
    void checkAll();
akiraohgaki's avatar
akiraohgaki committed
    void update(const QString &itemKey);
akiraohgaki's avatar
akiraohgaki committed
private slots:
#ifdef QTLIB_UNIX
    void appImageUpdaterFinished(AppImageUpdater *updater);
#endif

akiraohgaki's avatar
akiraohgaki committed
#ifdef QTLIB_UNIX
akiraohgaki's avatar
akiraohgaki committed
    void updateAppImage(const QString &itemKey);
akiraohgaki's avatar
akiraohgaki committed
#endif

    ConfigHandler *configHandler_;
akiraohgaki's avatar
akiraohgaki committed
    QJsonObject metadataSet_;
akiraohgaki's avatar
akiraohgaki committed
};