23 virtual void onSwUpdateStarted() = 0;
24 virtual void onSwUpdateProgress(uint32_t downloadedBytes,
25 uint32_t totalBytes) = 0;
26 virtual void onSwUpdateFinished(
bool success,
const char *reason) = 0;
27 virtual void onSwUpdateResult(SwUpdateResult result,
const char *reason) {
28 onSwUpdateFinished(result != SwUpdateResult::FAILED, reason);
36 Supla::SwUpdateMode mode);
42 observer->onSwUpdateStarted();
46 virtual void iterate() = 0;
48 void setUrl(
const char *newUrl);
66 bool isRetryAllowed() {
70 const char *getUrl()
const {
73 const char *getNewVersion()
const {
76 const char *getChangelogUrl()
const {
80 bool isSecurityOnly()
const {
83 void setSecurityOnly() {
90 Supla::SwUpdateMode mode);
92 void notifyProgress(uint32_t downloadedBytes, uint32_t totalBytes) {
94 observer->onSwUpdateProgress(downloadedBytes, totalBytes);
97 void notifyFinished(
bool success,
const char *reason =
nullptr) {
99 observer->onSwUpdateFinished(success, reason);
102 void notifyFinished(SwUpdateResult result,
const char *reason =
nullptr) {
104 observer->onSwUpdateResult(result, reason);
109 bool skipCert =
false;
110 bool securityOnly =
false;
111 bool started =
false;
112 bool finished =
false;
116 char *updateUrl =
nullptr;
117 char *newVersion =
nullptr;
118 char *changelogUrl =
nullptr;
119 bool retryAllowed =
false;
120 Supla::SwUpdateMode mode = Supla::SwUpdateMode::NotSet;
122 char url[SUPLA_MAX_URL_LENGTH] = {};