aboutsummaryrefslogtreecommitdiff
path: root/backends/cloud/box/boxstorage.cpp
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/box/boxstorage.cpp
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/box/boxstorage.cpp')
-rw-r--r--backends/cloud/box/boxstorage.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/backends/cloud/box/boxstorage.cpp b/backends/cloud/box/boxstorage.cpp
index 628d18b89a..35e86409c3 100644
--- a/backends/cloud/box/boxstorage.cpp
+++ b/backends/cloud/box/boxstorage.cpp
@@ -252,9 +252,16 @@ Networking::Request *BoxStorage::upload(Common::String remotePath, Common::Strin
Networking::Request *BoxStorage::upload(Common::String path, Common::SeekableReadStream *contents, UploadCallback callback, Networking::ErrorCallback errorCallback) {
warning("BoxStorage::upload(ReadStream) not implemented");
+ if (errorCallback) (*errorCallback)(Networking::ErrorResponse(nullptr, false, true, "BoxStorage::upload(ReadStream) not implemented", -1));
+ delete callback;
+ delete errorCallback;
return nullptr;
}
+bool BoxStorage::uploadStreamSupported() {
+ return false;
+}
+
Networking::Request *BoxStorage::streamFileById(Common::String id, Networking::NetworkReadStreamCallback callback, Networking::ErrorCallback errorCallback) {
if (callback) {
Common::String url = "https://api.box.com/2.0/files/" + id + "/content";