#pragma once #include <QObject> #include <QJsonObject> class ConfigHandler; #ifdef QTLIB_UNIX class AppImageUpdater; #endif class UpdateHandler : public QObject { Q_OBJECT public: explicit UpdateHandler(ConfigHandler *configHandler, QObject *parent = nullptr); signals: 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); public slots: void checkAll(); void update(const QString &itemKey); private slots: #ifdef QTLIB_UNIX void appImageUpdaterFinished(AppImageUpdater *updater); #endif private: #ifdef QTLIB_UNIX void updateAppImage(const QString &itemKey); #endif ConfigHandler *configHandler_; QJsonObject metadataSet_; };