diff options
| author | Alexander Tkachev | 2016-07-14 10:17:26 +0600 |
|---|---|---|
| committer | Alexander Tkachev | 2016-08-24 16:07:55 +0600 |
| commit | dfd68306de6f655a7bd2c68cea0b9299956ce8fc (patch) | |
| tree | 5700c0c922aebc76f03bd9153f0304f10d346c6a /backends/cloud/id | |
| parent | e25338ec2494c6ae2ff97f231108627635040f76 (diff) | |
| download | scummvm-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.cpp | 7 | ||||
| -rw-r--r-- | backends/cloud/id/iddownloadrequest.h | 3 |
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 |
