aboutsummaryrefslogtreecommitdiff
path: root/backends/cloud/id
diff options
context:
space:
mode:
authorAlexander Tkachev2016-07-14 10:17:26 +0600
committerAlexander Tkachev2016-08-24 16:07:55 +0600
commitdfd68306de6f655a7bd2c68cea0b9299956ce8fc (patch)
tree5700c0c922aebc76f03bd9153f0304f10d346c6a /backends/cloud/id
parente25338ec2494c6ae2ff97f231108627635040f76 (diff)
downloadscummvm-rg350-dfd68306de6f655a7bd2c68cea0b9299956ce8fc.tar.gz
scummvm-rg350-dfd68306de6f655a7bd2c68cea0b9299956ce8fc.tar.bz2
scummvm-rg350-dfd68306de6f655a7bd2c68cea0b9299956ce8fc.zip
CLOUD: Upgrade FolderDownloadRequest::getProgress()
Now NetworkReadStream, which is used in DownloadRequest, which is used in FolderDownloadRequest, returns progress information provided by libcurl.
Diffstat (limited to 'backends/cloud/id')
-rw-r--r--backends/cloud/id/iddownloadrequest.cpp7
-rw-r--r--backends/cloud/id/iddownloadrequest.h3
2 files changed, 10 insertions, 0 deletions
diff --git a/backends/cloud/id/iddownloadrequest.cpp b/backends/cloud/id/iddownloadrequest.cpp
index 154bd16edd..ac62284d46 100644
--- a/backends/cloud/id/iddownloadrequest.cpp
+++ b/backends/cloud/id/iddownloadrequest.cpp
@@ -22,6 +22,7 @@
#include "backends/cloud/id/iddownloadrequest.h"
#include "backends/cloud/id/idstorage.h"
+#include "backends/cloud/downloadrequest.h"
namespace Cloud {
namespace Id {
@@ -87,5 +88,11 @@ void IdDownloadRequest::finishDownload(bool success) {
if (_boolCallback) (*_boolCallback)(Storage::BoolResponse(this, success));
}
+double IdDownloadRequest::getProgress() const {
+ DownloadRequest *downloadRequest = dynamic_cast<DownloadRequest *>(_workingRequest);
+ if (downloadRequest == nullptr) return 0.02; // resolving id still
+ return 0.1 + 0.9 * downloadRequest->getProgress(); // downloading
+}
+
} // End of namespace Id
} // End of namespace Cloud
diff --git a/backends/cloud/id/iddownloadrequest.h b/backends/cloud/id/iddownloadrequest.h
index 70397696a8..65e05c00b3 100644
--- a/backends/cloud/id/iddownloadrequest.h
+++ b/backends/cloud/id/iddownloadrequest.h
@@ -51,6 +51,9 @@ public:
virtual void handle();
virtual void restart();
+
+ /** Returns a number in range [0, 1], where 1 is "complete". */
+ double getProgress() const;
};
} // End of namespace Id