diff options
| author | Andrew Branson <andrew.branson@cern.ch> | 2016-02-11 23:55:16 +0100 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@cern.ch> | 2016-02-11 23:55:16 +0100 |
| commit | 29aaea2d80a9eb1715b6cddfac2d2aacf76358bd (patch) | |
| tree | 012795b6bec16c72f38d33cff46324c9a0225868 /rockworkd/libpebble/firmwaredownloader.h | |
launchpad ~mzanetti/rockwork/trunk r87
Diffstat (limited to 'rockworkd/libpebble/firmwaredownloader.h')
| -rw-r--r-- | rockworkd/libpebble/firmwaredownloader.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/rockworkd/libpebble/firmwaredownloader.h b/rockworkd/libpebble/firmwaredownloader.h new file mode 100644 index 0000000..d7bd5b8 --- /dev/null +++ b/rockworkd/libpebble/firmwaredownloader.h @@ -0,0 +1,50 @@ +#ifndef FIRWAREDOWNLOADER_H +#define FIRWAREDOWNLOADER_H + +#include <QObject> + +#include "watchconnection.h" + +class Pebble; +class QNetworkAccessManager; + +class FirmwareDownloader : public QObject +{ + Q_OBJECT +public: + explicit FirmwareDownloader(Pebble *pebble, WatchConnection *connection); + + bool updateAvailable() const; + QString candidateVersion() const; + QString releaseNotes() const; + QString url() const; + + bool upgrading() const; + +public slots: + void checkForNewFirmware(); + void performUpgrade(); + +signals: + void updateAvailableChanged(); + void upgradingChanged(); + +private slots: + void systemMessageReceived(const QByteArray &data); + +private: + QNetworkAccessManager *m_nam; + Pebble *m_pebble; + WatchConnection *m_connection; + + bool m_updateAvailable = false; + QString m_candidateVersion; + QString m_releaseNotes; + QString m_url; + QByteArray m_hash; + + bool m_upgradeInProgress = false; + QString m_bundlePath; +}; + +#endif // FIRWAREDOWNLOADER_H |
