aboutsummaryrefslogtreecommitdiff
path: root/backends/cloud/googledrive
diff options
context:
space:
mode:
authorAlexander Tkachev2016-06-10 15:01:56 +0600
committerAlexander Tkachev2016-08-24 16:07:55 +0600
commit3e6503743c2f5d90c64bf37e943338c33fc58d2b (patch)
tree3255606a88811badf45f14b4fa8cbbdc56d30964 /backends/cloud/googledrive
parent6a93e8dd09ae2eeab616d14189a58633fd928c07 (diff)
downloadscummvm-rg350-3e6503743c2f5d90c64bf37e943338c33fc58d2b.tar.gz
scummvm-rg350-3e6503743c2f5d90c64bf37e943338c33fc58d2b.tar.bz2
scummvm-rg350-3e6503743c2f5d90c64bf37e943338c33fc58d2b.zip
CLOUD: Add Request::date()
Used in SavesSyncRequest to update Storage's last sync date.
Diffstat (limited to 'backends/cloud/googledrive')
-rw-r--r--backends/cloud/googledrive/googledrivecreatedirectoryrequest.cpp8
-rw-r--r--backends/cloud/googledrive/googledrivecreatedirectoryrequest.h2
-rw-r--r--backends/cloud/googledrive/googledrivelistdirectorybyidrequest.cpp4
-rw-r--r--backends/cloud/googledrive/googledrivelistdirectorybyidrequest.h2
-rw-r--r--backends/cloud/googledrive/googledrivelistdirectoryrequest.cpp6
-rw-r--r--backends/cloud/googledrive/googledrivelistdirectoryrequest.h2
6 files changed, 24 insertions, 0 deletions
diff --git a/backends/cloud/googledrive/googledrivecreatedirectoryrequest.cpp b/backends/cloud/googledrive/googledrivecreatedirectoryrequest.cpp
index 54eff3d6ad..2b7a805bb9 100644
--- a/backends/cloud/googledrive/googledrivecreatedirectoryrequest.cpp
+++ b/backends/cloud/googledrive/googledrivecreatedirectoryrequest.cpp
@@ -63,12 +63,14 @@ void GoogleDriveCreateDirectoryRequest::start() {
void GoogleDriveCreateDirectoryRequest::createdBaseDirectoryCallback(Storage::BoolResponse response) {
_workingRequest = nullptr;
if (_ignoreCallback) return;
+ if (response.request) _date = response.request->date();
resolveId();
}
void GoogleDriveCreateDirectoryRequest::createdBaseDirectoryErrorCallback(Networking::ErrorResponse error) {
_workingRequest = nullptr;
if (_ignoreCallback) return;
+ if (error.request) _date = error.request->date();
finishError(error);
}
@@ -85,6 +87,7 @@ void GoogleDriveCreateDirectoryRequest::resolveId() {
void GoogleDriveCreateDirectoryRequest::idResolvedCallback(Storage::UploadResponse response) {
_workingRequest = nullptr;
if (_ignoreCallback) return;
+ if (response.request) _date = response.request->date();
//resolved => folder already exists
finishSuccess(false);
@@ -93,6 +96,7 @@ void GoogleDriveCreateDirectoryRequest::idResolvedCallback(Storage::UploadRespon
void GoogleDriveCreateDirectoryRequest::idResolveFailedCallback(Networking::ErrorResponse error) {
_workingRequest = nullptr;
if (_ignoreCallback) return;
+ if (error.request) _date = error.request->date();
//not resolved => folder not exists
if (error.response.contains("no such file found in its parent directory")) {
@@ -116,12 +120,14 @@ void GoogleDriveCreateDirectoryRequest::idResolveFailedCallback(Networking::Erro
void GoogleDriveCreateDirectoryRequest::createdDirectoryCallback(Storage::BoolResponse response) {
_workingRequest = nullptr;
if (_ignoreCallback) return;
+ if (response.request) _date = response.request->date();
finishSuccess(response.value);
}
void GoogleDriveCreateDirectoryRequest::createdDirectoryErrorCallback(Networking::ErrorResponse error) {
_workingRequest = nullptr;
if (_ignoreCallback) return;
+ if (error.request) _date = error.request->date();
finishError(error);
}
@@ -129,6 +135,8 @@ void GoogleDriveCreateDirectoryRequest::handle() {}
void GoogleDriveCreateDirectoryRequest::restart() { start(); }
+Common::String GoogleDriveCreateDirectoryRequest::date() const { return _date; }
+
void GoogleDriveCreateDirectoryRequest::finishSuccess(bool success) {
Request::finishSuccess();
if (_boolCallback) (*_boolCallback)(Storage::BoolResponse(this, success));
diff --git a/backends/cloud/googledrive/googledrivecreatedirectoryrequest.h b/backends/cloud/googledrive/googledrivecreatedirectoryrequest.h
index ede84277de..f71afeb888 100644
--- a/backends/cloud/googledrive/googledrivecreatedirectoryrequest.h
+++ b/backends/cloud/googledrive/googledrivecreatedirectoryrequest.h
@@ -39,6 +39,7 @@ class GoogleDriveCreateDirectoryRequest: public Networking::Request {
Storage::BoolCallback _boolCallback;
Request *_workingRequest;
bool _ignoreCallback;
+ Common::String _date;
void start();
void createdBaseDirectoryCallback(Storage::BoolResponse response);
@@ -55,6 +56,7 @@ public:
virtual void handle();
virtual void restart();
+ virtual Common::String date() const;
};
} // End of namespace GoogleDrive
diff --git a/backends/cloud/googledrive/googledrivelistdirectorybyidrequest.cpp b/backends/cloud/googledrive/googledrivelistdirectorybyidrequest.cpp
index 86494e8c13..2530bab557 100644
--- a/backends/cloud/googledrive/googledrivelistdirectorybyidrequest.cpp
+++ b/backends/cloud/googledrive/googledrivelistdirectorybyidrequest.cpp
@@ -70,6 +70,7 @@ void GoogleDriveListDirectoryByIdRequest::makeRequest(Common::String pageToken)
void GoogleDriveListDirectoryByIdRequest::responseCallback(Networking::JsonResponse response) {
_workingRequest = nullptr;
if (_ignoreCallback) return;
+ if (response.request) _date = response.request->date();
Networking::ErrorResponse error(this);
Networking::CurlJsonRequest *rq = (Networking::CurlJsonRequest *)response.request;
@@ -131,6 +132,7 @@ void GoogleDriveListDirectoryByIdRequest::responseCallback(Networking::JsonRespo
void GoogleDriveListDirectoryByIdRequest::errorCallback(Networking::ErrorResponse error) {
_workingRequest = nullptr;
if (_ignoreCallback) return;
+ if (error.request) _date = error.request->date();
finishError(error);
}
@@ -138,6 +140,8 @@ void GoogleDriveListDirectoryByIdRequest::handle() {}
void GoogleDriveListDirectoryByIdRequest::restart() { start(); }
+Common::String GoogleDriveListDirectoryByIdRequest::date() const { return _date; }
+
void GoogleDriveListDirectoryByIdRequest::finishSuccess(Common::Array<StorageFile> &files) {
Request::finishSuccess();
if (_listDirectoryCallback) (*_listDirectoryCallback)(Storage::ListDirectoryResponse(this, files));
diff --git a/backends/cloud/googledrive/googledrivelistdirectorybyidrequest.h b/backends/cloud/googledrive/googledrivelistdirectorybyidrequest.h
index 569984520a..ceb533e635 100644
--- a/backends/cloud/googledrive/googledrivelistdirectorybyidrequest.h
+++ b/backends/cloud/googledrive/googledrivelistdirectorybyidrequest.h
@@ -41,6 +41,7 @@ class GoogleDriveListDirectoryByIdRequest: public Networking::Request {
Common::Array<StorageFile> _files;
Request *_workingRequest;
bool _ignoreCallback;
+ Common::String _date;
void start();
void makeRequest(Common::String pageToken);
@@ -53,6 +54,7 @@ public:
virtual void handle();
virtual void restart();
+ virtual Common::String date() const;
};
} // End of namespace GoogleDrive
diff --git a/backends/cloud/googledrive/googledrivelistdirectoryrequest.cpp b/backends/cloud/googledrive/googledrivelistdirectoryrequest.cpp
index 8811ffc938..3387b43418 100644
--- a/backends/cloud/googledrive/googledrivelistdirectoryrequest.cpp
+++ b/backends/cloud/googledrive/googledrivelistdirectoryrequest.cpp
@@ -58,6 +58,7 @@ void GoogleDriveListDirectoryRequest::start() {
void GoogleDriveListDirectoryRequest::idResolvedCallback(Storage::UploadResponse response) {
_workingRequest = nullptr;
if (_ignoreCallback) return;
+ if (response.request) _date = response.request->date();
StorageFile directory = response.value;
directory.setPath(_requestedPath);
@@ -68,6 +69,7 @@ void GoogleDriveListDirectoryRequest::idResolvedCallback(Storage::UploadResponse
void GoogleDriveListDirectoryRequest::idResolveErrorCallback(Networking::ErrorResponse error) {
_workingRequest = nullptr;
if (_ignoreCallback) return;
+ if (error.request) _date = error.request->date();
finishError(error);
}
@@ -88,6 +90,7 @@ void GoogleDriveListDirectoryRequest::listNextDirectory() {
void GoogleDriveListDirectoryRequest::listedDirectoryCallback(Storage::FileArrayResponse response) {
_workingRequest = nullptr;
if (_ignoreCallback) return;
+ if (response.request) _date = response.request->date();
for (uint32 i = 0; i < response.value.size(); ++i) {
StorageFile &file = response.value[i];
@@ -107,6 +110,7 @@ void GoogleDriveListDirectoryRequest::listedDirectoryCallback(Storage::FileArray
void GoogleDriveListDirectoryRequest::listedDirectoryErrorCallback(Networking::ErrorResponse error) {
_workingRequest = nullptr;
if (_ignoreCallback) return;
+ if (error.request) _date = error.request->date();
finishError(error);
}
@@ -114,6 +118,8 @@ void GoogleDriveListDirectoryRequest::handle() {}
void GoogleDriveListDirectoryRequest::restart() { start(); }
+Common::String GoogleDriveListDirectoryRequest::date() const { return _date; }
+
void GoogleDriveListDirectoryRequest::finishSuccess(Common::Array<StorageFile> &files) {
Request::finishSuccess();
if (_listDirectoryCallback) (*_listDirectoryCallback)(Storage::ListDirectoryResponse(this, files));
diff --git a/backends/cloud/googledrive/googledrivelistdirectoryrequest.h b/backends/cloud/googledrive/googledrivelistdirectoryrequest.h
index bea195f70a..b3d8ff6c93 100644
--- a/backends/cloud/googledrive/googledrivelistdirectoryrequest.h
+++ b/backends/cloud/googledrive/googledrivelistdirectoryrequest.h
@@ -43,6 +43,7 @@ class GoogleDriveListDirectoryRequest: public Networking::Request {
StorageFile _currentDirectory;
Request *_workingRequest;
bool _ignoreCallback;
+ Common::String _date;
void start();
void idResolvedCallback(Storage::UploadResponse response);
@@ -57,6 +58,7 @@ public:
virtual void handle();
virtual void restart();
+ virtual Common::String date() const;
};
} // End of namespace GoogleDrive