mirror of
https://github.com/velopack/velopack.git
synced 2025-10-25 15:19:22 +00:00
Add broken Qt sample
This commit is contained in:
69
samples/CPlusPlusQt/autoupdater.h
Normal file
69
samples/CPlusPlusQt/autoupdater.h
Normal file
@@ -0,0 +1,69 @@
|
||||
#ifndef AUTOUPDATER_H
|
||||
#define AUTOUPDATER_H
|
||||
|
||||
#include "Velopack.hpp"
|
||||
#include <QDebug>
|
||||
#include <QObject>
|
||||
#include <QThread>
|
||||
|
||||
class AutoUpdater : public QObject {
|
||||
Q_OBJECT
|
||||
|
||||
Q_PROPERTY(
|
||||
QString currentUpdateChannel READ currentUpdateChannel WRITE
|
||||
setCurrentUpdateChannel NOTIFY currentUpdateChannelChanged FINAL)
|
||||
Q_PROPERTY(QString currentVersion READ currentVersion WRITE setCurrentVersion
|
||||
NOTIFY currentVersionChanged FINAL)
|
||||
Q_PROPERTY(
|
||||
bool updateReadyToInstall READ updateReadyToInstall WRITE
|
||||
setUpdateReadyToInstall NOTIFY updateReadyToInstallChanged FINAL)
|
||||
Q_PROPERTY(QString newVersion READ newVersion WRITE setNewVersion NOTIFY
|
||||
newVersionChanged FINAL)
|
||||
|
||||
public:
|
||||
explicit AutoUpdater(QObject *parent = nullptr);
|
||||
~AutoUpdater() override;
|
||||
|
||||
public:
|
||||
static AutoUpdater &instance() {
|
||||
static AutoUpdater _instance;
|
||||
return _instance;
|
||||
}
|
||||
bool updateReadyToInstall() const;
|
||||
void setUpdateReadyToInstall(bool newUpdateReady);
|
||||
|
||||
QString currentUpdateChannel() const;
|
||||
void setCurrentUpdateChannel(const QString &newCurrentUpdateChannel);
|
||||
|
||||
QString currentVersion() const;
|
||||
void setCurrentVersion(const QString &newCurrentVersion);
|
||||
|
||||
QString newVersion() const;
|
||||
void setNewVersion(const QString &newNewVersion);
|
||||
|
||||
Q_INVOKABLE void applyUpdateAndRestart();
|
||||
Q_INVOKABLE void checkForUpdates();
|
||||
Q_INVOKABLE void downloadLatestUpdate();
|
||||
Q_INVOKABLE QString updateUrl();
|
||||
|
||||
signals:
|
||||
void noNewUpdatesAvailable();
|
||||
void updateReadyToInstallChanged();
|
||||
void currentUpdateChannelChanged();
|
||||
void currentVersionChanged();
|
||||
void newVersionChanged();
|
||||
void updatingFailed(QString errorMg);
|
||||
void updateDownloadFailed();
|
||||
void updateDownloaded();
|
||||
|
||||
private:
|
||||
QString m_currentUpdateChannel;
|
||||
QString m_currentVersion;
|
||||
QString m_newVersion;
|
||||
bool m_updateReadyToInstall = false;
|
||||
bool m_updateDownloaded = false;
|
||||
Velopack::UpdateManagerSync manager{};
|
||||
std::shared_ptr<Velopack::UpdateInfo> updInfo{};
|
||||
};
|
||||
|
||||
#endif // AUTOUPDATER_H
|
||||
Reference in New Issue
Block a user