diff options
author | Alexander Tkachev | 2016-05-31 01:51:32 +0600 |
---|---|---|
committer | Alexander Tkachev | 2016-08-24 16:07:55 +0600 |
commit | eb63b50b7f0841e40365f3fbafa9810e8b190872 (patch) | |
tree | 4f348f12298c15e8a5885b5a74ce3788493b9a7e /backends/cloud/downloadrequest.h | |
parent | 001b417f33beeb3b2da11f58105b971dc7e6f600 (diff) | |
download | scummvm-rg350-eb63b50b7f0841e40365f3fbafa9810e8b190872.tar.gz scummvm-rg350-eb63b50b7f0841e40365f3fbafa9810e8b190872.tar.bz2 scummvm-rg350-eb63b50b7f0841e40365f3fbafa9810e8b190872.zip |
CLOUD: Refactor Request
Added ErrorResponse and ErrorCallback. Each Request now has an
ErrorCallback, which should be called instead of usual callback in case
of failure.
Diffstat (limited to 'backends/cloud/downloadrequest.h')
-rw-r--r-- | backends/cloud/downloadrequest.h | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/backends/cloud/downloadrequest.h b/backends/cloud/downloadrequest.h index 0bad5df279..9e3421d777 100644 --- a/backends/cloud/downloadrequest.h +++ b/backends/cloud/downloadrequest.h @@ -31,23 +31,24 @@ namespace Cloud { class DownloadRequest: public Networking::Request { - Storage::BoolCallback _boolCallback; + Storage::BoolCallback _boolCallback; + Common::DumpFile *_localFile; + Common::String _remoteFileName; + Storage *_storage; Networking::NetworkReadStream *_remoteFileStream; - Common::DumpFile *_localFile; + Request *_workingRequest; + bool _ignoreCallback; - void streamCallback(Networking::NetworkReadStreamResponse pair); - - void finishBool(bool success); + void start(); + void streamCallback(Networking::NetworkReadStreamResponse response); + void streamErrorCallback(Networking::ErrorResponse error); + void finishSuccess(bool success); public: - DownloadRequest(Storage *storage, Storage::BoolCallback callback, Common::String remoteFile, Common::DumpFile *dumpFile); - virtual ~DownloadRequest() { - delete _boolCallback; - delete _localFile; - } + DownloadRequest(Storage *storage, Storage::BoolCallback callback, Networking::ErrorCallback ecb, Common::String remoteFile, Common::DumpFile *dumpFile); + virtual ~DownloadRequest(); virtual void handle(); virtual void restart(); - virtual void finish(); }; } // End of namespace Cloud |