aboutsummaryrefslogtreecommitdiff
path: root/backends/cloud/googledrive
diff options
context:
space:
mode:
authorAlexander Tkachev2019-07-16 14:09:38 +0700
committerMatan Bareket2019-07-30 14:51:41 -0400
commite8669f693c6adbb33f515d9a4ce9d1079756e2e8 (patch)
treea11d17b6706c9c21ea78ae92ff113f860f7d97e9 /backends/cloud/googledrive
parent60504dce7539863a207610fd636236c7035ade3e (diff)
downloadscummvm-rg350-e8669f693c6adbb33f515d9a4ce9d1079756e2e8.tar.gz
scummvm-rg350-e8669f693c6adbb33f515d9a4ce9d1079756e2e8.tar.bz2
scummvm-rg350-e8669f693c6adbb33f515d9a4ce9d1079756e2e8.zip
CLOUD: Update BaseStorage to expect no refresh_token
While refreshing access_token, some cloud providers also pass a new refresh_token. Google Drive does not, and accepts the same refresh_token next time. These changes allow this to happen.
Diffstat (limited to 'backends/cloud/googledrive')
-rw-r--r--backends/cloud/googledrive/googledrivestorage.cpp2
-rw-r--r--backends/cloud/googledrive/googledrivestorage.h2
2 files changed, 4 insertions, 0 deletions
diff --git a/backends/cloud/googledrive/googledrivestorage.cpp b/backends/cloud/googledrive/googledrivestorage.cpp
index be81629cef..67d157748a 100644
--- a/backends/cloud/googledrive/googledrivestorage.cpp
+++ b/backends/cloud/googledrive/googledrivestorage.cpp
@@ -58,6 +58,8 @@ uint32 GoogleDriveStorage::storageIndex() { return kStorageGoogleDriveId; }
bool GoogleDriveStorage::needsRefreshToken() { return true; }
+bool GoogleDriveStorage::canReuseRefreshToken() { return true; }
+
void GoogleDriveStorage::saveConfig(Common::String keyPrefix) {
ConfMan.set(keyPrefix + "access_token", _token, ConfMan.kCloudDomain);
ConfMan.set(keyPrefix + "refresh_token", _refreshToken, ConfMan.kCloudDomain);
diff --git a/backends/cloud/googledrive/googledrivestorage.h b/backends/cloud/googledrive/googledrivestorage.h
index 730e8e20c3..21e027c4a7 100644
--- a/backends/cloud/googledrive/googledrivestorage.h
+++ b/backends/cloud/googledrive/googledrivestorage.h
@@ -54,6 +54,8 @@ protected:
virtual bool needsRefreshToken();
+ virtual bool canReuseRefreshToken();
+
public:
/** This constructor uses OAuth code flow to get tokens. */
GoogleDriveStorage(Common::String code);