diff options
author | Alexander Tkachev | 2016-07-13 15:48:55 +0600 |
---|---|---|
committer | Alexander Tkachev | 2016-08-24 16:07:55 +0600 |
commit | 19ae61dffc2541e855c1376a52e461f199af2f99 (patch) | |
tree | dfafbce59fb19a6e8ffcfe512a8deeb2df09484b /backends/cloud/box | |
parent | 34ee1d29d5597e4914f5e06c7770137f4dd856d7 (diff) | |
download | scummvm-rg350-19ae61dffc2541e855c1376a52e461f199af2f99.tar.gz scummvm-rg350-19ae61dffc2541e855c1376a52e461f199af2f99.tar.bz2 scummvm-rg350-19ae61dffc2541e855c1376a52e461f199af2f99.zip |
CLOUD: Add IdDownloadRequest and IdStreamFileRequest
Used for downloading files in Box.
Diffstat (limited to 'backends/cloud/box')
-rw-r--r-- | backends/cloud/box/boxstorage.cpp | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/backends/cloud/box/boxstorage.cpp b/backends/cloud/box/boxstorage.cpp index 5bbe377163..1fbe2f17aa 100644 --- a/backends/cloud/box/boxstorage.cpp +++ b/backends/cloud/box/boxstorage.cpp @@ -249,15 +249,18 @@ Networking::Request *BoxStorage::upload(Common::String path, Common::SeekableRea return nullptr; //TODO } -Networking::Request *BoxStorage::streamFileById(Common::String path, Networking::NetworkReadStreamCallback outerCallback, Networking::ErrorCallback errorCallback) { - /* - Common::String url = "https://api.Box.com/v1.0/drive/special/approot:/" + ConnMan.urlEncode(path); - Networking::JsonCallback innerCallback = new Common::CallbackBridge<BoxStorage, Networking::NetworkReadStreamResponse, Networking::JsonResponse>(this, &BoxStorage::fileInfoCallback, outerCallback); - Networking::CurlJsonRequest *request = new BoxTokenRefresher(this, innerCallback, errorCallback, url.c_str()); - request->addHeader("Authorization: Bearer " + _token); - return addRequest(request); - */ - return nullptr; //TODO +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"; + debug("%s", url.c_str()); + Common::String header = "Authorization: Bearer " + _token; + curl_slist *headersList = curl_slist_append(nullptr, header.c_str()); + Networking::NetworkReadStream *stream = new Networking::NetworkReadStream(url.c_str(), headersList, ""); + (*callback)(Networking::NetworkReadStreamResponse(nullptr, stream)); + } + delete callback; + delete errorCallback; + return nullptr; } void BoxStorage::fileDownloaded(BoolResponse response) { |