#ifndef SELFUPDATER_H
#define SELFUPDATER_H

#include <QObject>

class Downloader;

class SelfUpdater : public QObject
{
    Q_OBJECT
public:
    explicit SelfUpdater(QObject *parent = nullptr);
    
public slots:
    void checkForUpdates();

private slots:
    void onDownloaderCompleted(Downloader *downloader_ptr);
    void onDownloaderProgressChanged(Downloader *downloader_ptr);

signals:
    void downloadCompleted();
    void downloadStarted();
    void progressChanged(quint64 bytesDownloaded, quint64 bytesTotal,
                         QString download_speed_formatted,
                         QString elapsed_time_formatted);


signals:

public slots:
};

#endif // SELFUPDATER_H
