diff options
Diffstat (limited to 'backends')
-rw-r--r-- | backends/cloud/folderdownloadrequest.cpp | 4 | ||||
-rw-r--r-- | backends/cloud/savessyncrequest.cpp | 2 | ||||
-rw-r--r-- | backends/cloud/storage.cpp | 5 | ||||
-rw-r--r-- | backends/cloud/storage.h | 1 |
4 files changed, 9 insertions, 3 deletions
diff --git a/backends/cloud/folderdownloadrequest.cpp b/backends/cloud/folderdownloadrequest.cpp index 19f6c6c9b7..905b0c79f4 100644 --- a/backends/cloud/folderdownloadrequest.cpp +++ b/backends/cloud/folderdownloadrequest.cpp @@ -109,8 +109,8 @@ void FolderDownloadRequest::downloadNextFile() { localPath = _localDirectoryPath + "/" + localPath; } debug("%s -> %s", remotePath.c_str(), localPath.c_str()); - _workingRequest = _storage->download( - remotePath, localPath, + _workingRequest = _storage->downloadById( + _currentFile.id(), localPath, new Common::Callback<FolderDownloadRequest, Storage::BoolResponse>(this, &FolderDownloadRequest::fileDownloadedCallback), new Common::Callback<FolderDownloadRequest, Networking::ErrorResponse>(this, &FolderDownloadRequest::fileDownloadedErrorCallback) ); diff --git a/backends/cloud/savessyncrequest.cpp b/backends/cloud/savessyncrequest.cpp index 1d4ec4c2ee..cdf1dbac07 100644 --- a/backends/cloud/savessyncrequest.cpp +++ b/backends/cloud/savessyncrequest.cpp @@ -227,7 +227,7 @@ void SavesSyncRequest::downloadNextFile() { /////// debug("downloading %s (%d %%)", _currentDownloadingFile.name().c_str(), (int)(getProgress() * 100)); /////// - _workingRequest = _storage->download(_currentDownloadingFile.path(), concatWithSavesPath(_currentDownloadingFile.name()), + _workingRequest = _storage->downloadById(_currentDownloadingFile.id(), concatWithSavesPath(_currentDownloadingFile.name()), new Common::Callback<SavesSyncRequest, Storage::BoolResponse>(this, &SavesSyncRequest::fileDownloadedCallback), new Common::Callback<SavesSyncRequest, Networking::ErrorResponse>(this, &SavesSyncRequest::fileDownloadedErrorCallback) ); diff --git a/backends/cloud/storage.cpp b/backends/cloud/storage.cpp index 5458276e39..f0c1319846 100644 --- a/backends/cloud/storage.cpp +++ b/backends/cloud/storage.cpp @@ -92,6 +92,11 @@ Networking::Request *Storage::download(Common::String remotePath, Common::String return addRequest(new DownloadRequest(this, callback, errorCallback, remotePath, f)); } +Networking::Request *Storage::downloadById(Common::String remoteId, Common::String localPath, BoolCallback callback, Networking::ErrorCallback errorCallback) { + //most Storages use paths instead of ids, so this should work + return download(remoteId, localPath, callback, errorCallback); +} + Networking::Request *Storage::downloadFolder(Common::String remotePath, Common::String localPath, FileArrayCallback callback, Networking::ErrorCallback errorCallback, bool recursive) { if (!errorCallback) errorCallback = getErrorPrintingCallback(); return addRequest(new FolderDownloadRequest(this, callback, errorCallback, remotePath, localPath, recursive)); diff --git a/backends/cloud/storage.h b/backends/cloud/storage.h index 058e831e5d..3cf8fb55ff 100644 --- a/backends/cloud/storage.h +++ b/backends/cloud/storage.h @@ -122,6 +122,7 @@ public: /** Calls the callback when finished. */ virtual Networking::Request *download(Common::String remotePath, Common::String localPath, BoolCallback callback, Networking::ErrorCallback errorCallback); + virtual Networking::Request *downloadById(Common::String remoteId, Common::String localPath, BoolCallback callback, Networking::ErrorCallback errorCallback); /** Returns Common::Array<StorageFile> with list of files, which were not downloaded. */ virtual Networking::Request *downloadFolder(Common::String remotePath, Common::String localPath, FileArrayCallback callback, Networking::ErrorCallback errorCallback, bool recursive = false); |