aboutsummaryrefslogtreecommitdiff
path: root/backends/cloud/storage.h
diff options
context:
space:
mode:
authorAlexander Tkachev2016-07-14 07:44:58 +0600
committerAlexander Tkachev2016-08-24 16:07:55 +0600
commit5cbb3e8705f51337c6455ecb5dc7004abf82bd89 (patch)
tree8ce11f96b7b7fb898e47462e9209d60c3bc1f2ea /backends/cloud/storage.h
parentd96cdacb38afd9394ab442e7b5a74cc87a495092 (diff)
downloadscummvm-rg350-5cbb3e8705f51337c6455ecb5dc7004abf82bd89.tar.gz
scummvm-rg350-5cbb3e8705f51337c6455ecb5dc7004abf82bd89.tar.bz2
scummvm-rg350-5cbb3e8705f51337c6455ecb5dc7004abf82bd89.zip
CLOUD: Add Storage::uploadStreamSupported()
Box uses POST multipart/form requests for uploading. Such requests could be sent with libcurl if we either have a file available or a buffer with this file's contents. SavesSyncRequest was using Storage::upload(ReadStream *), which couldn't be implemented in BoxStorage. Thus I've added a method to test whether such upload is supported and, if it's not, SavesSyncRequest uses the other.
Diffstat (limited to 'backends/cloud/storage.h')
-rw-r--r--backends/cloud/storage.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/backends/cloud/storage.h b/backends/cloud/storage.h
index 62b42697e6..273b93c764 100644
--- a/backends/cloud/storage.h
+++ b/backends/cloud/storage.h
@@ -126,6 +126,9 @@ public:
virtual Networking::Request *upload(Common::String path, Common::SeekableReadStream *contents, UploadCallback callback, Networking::ErrorCallback errorCallback) = 0;
virtual Networking::Request *upload(Common::String remotePath, Common::String localPath, UploadCallback callback, Networking::ErrorCallback errorCallback);
+ /** Returns whether Storage supports upload(ReadStream). */
+ virtual bool uploadStreamSupported();
+
/** Returns pointer to Networking::NetworkReadStream. */
virtual Networking::Request *streamFile(Common::String path, Networking::NetworkReadStreamCallback callback, Networking::ErrorCallback errorCallback);
virtual Networking::Request *streamFileById(Common::String id, Networking::NetworkReadStreamCallback callback, Networking::ErrorCallback errorCallback) = 0;