CLOUD: Move download methods into Storage
DownloadRequest and FolderDownloadRequest are using other Storage's methods. Thus, download() and downloadFolder() could be implemented in base Storage class.
This commit is contained in:
parent
ca85d4482a
commit
675e7a6ed1
6 changed files with 25 additions and 47 deletions
|
@ -137,22 +137,6 @@ Networking::Request *DropboxStorage::streamFile(Common::String path, Networking:
|
|||
return response.request;
|
||||
}
|
||||
|
||||
Networking::Request *DropboxStorage::download(Common::String remotePath, Common::String localPath, BoolCallback callback, Networking::ErrorCallback errorCallback) {
|
||||
Common::DumpFile *f = new Common::DumpFile();
|
||||
if (!f->open(localPath, true)) {
|
||||
warning("DropboxStorage: unable to open file to download into");
|
||||
if (errorCallback) (*errorCallback)(Networking::ErrorResponse(nullptr, false, true, "", -1));
|
||||
delete f;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return ConnMan.addRequest(new DownloadRequest(this, callback, errorCallback, remotePath, f));
|
||||
}
|
||||
|
||||
Networking::Request *DropboxStorage::downloadFolder(Common::String remotePath, Common::String localPath, FileArrayCallback callback, Networking::ErrorCallback errorCallback, bool recursive) {
|
||||
return ConnMan.addRequest(new FolderDownloadRequest(this, callback, errorCallback, remotePath, localPath, recursive));
|
||||
}
|
||||
|
||||
Networking::Request *DropboxStorage::info(StorageInfoCallback outerCallback, Networking::ErrorCallback errorCallback) {
|
||||
Networking::JsonCallback innerCallback = new Common::CallbackBridge<DropboxStorage, StorageInfoResponse, Networking::JsonResponse>(this, &DropboxStorage::infoInnerCallback, outerCallback);
|
||||
Networking::CurlJsonRequest *request = new Networking::CurlJsonRequest(innerCallback, errorCallback, "https://api.dropboxapi.com/1/account/info");
|
||||
|
|
|
@ -76,12 +76,6 @@ public:
|
|||
/** Returns pointer to Networking::NetworkReadStream. */
|
||||
virtual Networking::Request *streamFile(Common::String path, Networking::NetworkReadStreamCallback callback, Networking::ErrorCallback errorCallback);
|
||||
|
||||
/** Calls the callback when finished. */
|
||||
virtual Networking::Request *download(Common::String remotePath, 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);
|
||||
|
||||
/** Calls the callback when finished. */
|
||||
virtual Networking::Request *remove(Common::String path, BoolCallback callback, Networking::ErrorCallback errorCallback) { return nullptr; } //TODO
|
||||
|
||||
|
|
|
@ -215,23 +215,6 @@ Networking::Request *OneDriveStorage::streamFile(Common::String path, Networking
|
|||
return ConnMan.addRequest(request);
|
||||
}
|
||||
|
||||
Networking::Request *OneDriveStorage::download(Common::String remotePath, Common::String localPath, BoolCallback callback, Networking::ErrorCallback errorCallback) {
|
||||
Common::DumpFile *f = new Common::DumpFile();
|
||||
if (!f->open(localPath, true)) {
|
||||
warning("OneDriveStorage: unable to open file to download into");
|
||||
if (errorCallback) (*errorCallback)(Networking::ErrorResponse(nullptr, false, true, "", -1));
|
||||
delete f;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return ConnMan.addRequest(new DownloadRequest(this, callback, errorCallback, remotePath, f));
|
||||
}
|
||||
|
||||
/** Returns Common::Array<StorageFile> with list of files, which were not downloaded. */
|
||||
Networking::Request *OneDriveStorage::downloadFolder(Common::String remotePath, Common::String localPath, FileArrayCallback callback, Networking::ErrorCallback errorCallback, bool recursive) {
|
||||
return ConnMan.addRequest(new FolderDownloadRequest(this, callback, errorCallback, remotePath, localPath, recursive));
|
||||
}
|
||||
|
||||
void OneDriveStorage::fileDownloaded(BoolResponse response) {
|
||||
if (response.value) debug("file downloaded!");
|
||||
else debug("download failed!");
|
||||
|
|
|
@ -86,12 +86,6 @@ public:
|
|||
/** Returns pointer to Networking::NetworkReadStream. */
|
||||
virtual Networking::Request *streamFile(Common::String path, Networking::NetworkReadStreamCallback callback, Networking::ErrorCallback errorCallback);
|
||||
|
||||
/** Calls the callback when finished. */
|
||||
virtual Networking::Request *download(Common::String remotePath, 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);
|
||||
|
||||
/** Calls the callback when finished. */
|
||||
virtual Networking::Request *remove(Common::String path, BoolCallback callback, Networking::ErrorCallback errorCallback) { return nullptr; } //TODO
|
||||
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
*/
|
||||
|
||||
#include "backends/cloud/storage.h"
|
||||
#include "backends/cloud/downloadrequest.h"
|
||||
#include "backends/cloud/folderdownloadrequest.h"
|
||||
#include "backends/cloud/savessyncrequest.h"
|
||||
#include "backends/networking/curl/connectionmanager.h"
|
||||
#include "common/debug.h"
|
||||
|
@ -53,6 +55,27 @@ Networking::Request *Storage::upload(Common::String remotePath, Common::String l
|
|||
return upload(remotePath, f, callback, errorCallback);
|
||||
}
|
||||
|
||||
Networking::Request *Storage::download(Common::String remotePath, Common::String localPath, BoolCallback callback, Networking::ErrorCallback errorCallback) {
|
||||
if (!errorCallback) errorCallback = getErrorPrintingCallback();
|
||||
|
||||
Common::DumpFile *f = new Common::DumpFile();
|
||||
if (!f->open(localPath, true)) {
|
||||
warning("Storage: unable to open file to download into");
|
||||
if (errorCallback) (*errorCallback)(Networking::ErrorResponse(nullptr, false, true, "", -1));
|
||||
delete errorCallback;
|
||||
delete callback;
|
||||
delete f;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return ConnMan.addRequest(new DownloadRequest(this, callback, errorCallback, remotePath, f));
|
||||
}
|
||||
|
||||
Networking::Request *Storage::downloadFolder(Common::String remotePath, Common::String localPath, FileArrayCallback callback, Networking::ErrorCallback errorCallback, bool recursive) {
|
||||
if (!errorCallback) errorCallback = getErrorPrintingCallback();
|
||||
return ConnMan.addRequest(new FolderDownloadRequest(this, callback, errorCallback, remotePath, localPath, recursive));
|
||||
}
|
||||
|
||||
Networking::Request *Storage::syncSaves(BoolCallback callback, Networking::ErrorCallback errorCallback) {
|
||||
if (!errorCallback) errorCallback = getErrorPrintingCallback();
|
||||
return ConnMan.addRequest(new SavesSyncRequest(this, callback, errorCallback));
|
||||
|
|
|
@ -92,10 +92,10 @@ public:
|
|||
virtual Networking::Request *streamFile(Common::String path, Networking::NetworkReadStreamCallback callback, Networking::ErrorCallback errorCallback) = 0;
|
||||
|
||||
/** Calls the callback when finished. */
|
||||
virtual Networking::Request *download(Common::String remotePath, Common::String localPath, BoolCallback callback, Networking::ErrorCallback errorCallback) = 0;
|
||||
virtual Networking::Request *download(Common::String remotePath, 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) = 0;
|
||||
virtual Networking::Request *downloadFolder(Common::String remotePath, Common::String localPath, FileArrayCallback callback, Networking::ErrorCallback errorCallback, bool recursive = false);
|
||||
|
||||
/** Calls the callback when finished. */
|
||||
virtual Networking::Request *remove(Common::String path, BoolCallback callback, Networking::ErrorCallback errorCallback) = 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue