aboutsummaryrefslogtreecommitdiff
path: root/backends/cloud/googledrive/googledrivestorage.cpp
AgeCommit message (Collapse)Author
2019-07-30CLOUD: Ask user to manually enable StorageAlexander Tkachev
For more security, newly connected Storage only gets username/used space information and is disabled until user manually presses the button.
2019-07-30GUI: Rewrite Cloud tabAlexander Tkachev
- StorageWizardDialog is removed, along with bmps it was using; - EditTextWidget now accepts custom font in constructor; - ScrollContainer scrollbar now jumps to top when content height changes so it's "overscrolled"; - IndexPageHandler now does not awaits for `code` GET-parameter, as local webserver is no longer used to connect Storages; - CloudManager and all corresponding Storages are updated to support disconnecting and to notify about successful connection.
2019-07-30CLOUD: Update BaseStorage to expect no refresh_tokenAlexander Tkachev
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.
2019-07-30CLOUD: Update storages to refresh token via cloud.scummvm.orgAlexander Tkachev
2019-07-30CLOUD: Get rid of 'dists/clouds/cloud_keys.h'Alexander Tkachev
2019-07-30CLOUD: Update GoogleDriveStorage and BoxStorage to auth via cloud.scummvm.orgAlexander Tkachev
2019-07-30CLOUD: Cleanup a little bit - remove unused config keys usageAlexander Tkachev
2019-07-30CLOUD: Update DropboxStorage to work via scummvm.org & StorageWizardDialog ↵Alexander Tkachev
correspondingly
2018-12-17WIN32: Fix libcurl redefining ARRAYSIZESupSuper
libcurl pulls in Windows headers, so let's include it first to avoid clashing with common headers
2017-01-10CLOUD: Fix Remaining Shadowing Compiler Warnings.D G Turner
2016-09-13CLOUD: Switch to the new OSD APIBastien Bouclet
2016-09-03JANITORIAL: Make GPL headers uniformEugene Sandulenko
2016-08-24CLOUD: Update OneDriveAlexander Tkachev
Added JSON checks. New jsonContainsObject() method added to CurlJsonRequest.
2016-08-24CLOUD: Update GoogleDriveStorageAlexander Tkachev
More JSON checks in callbacks.
2016-08-24CLOUD: Minor TODO fixAlexander Tkachev
2016-08-24CLOUD: Add KEY/SECRET override codeAlexander Tkachev
The following constants must be defined if ENABLE_RELEASE is: * RELEASE_DROPBOX_KEY, * RELEASE_DROPBOX_SECRET, * RELEASE_ONEDRIVE_KEY, * RELEASE_ONEDRIVE_SECRET, * RELEASE_GOOGLE_DRIVE_KEY, * RELEASE_GOOGLE_DRIVE_SECRET, * RELEASE_BOX_KEY, * RELEASE_BOX_SECRET.
2016-08-24ALL: Fix debug, warning and error usageAlexander Tkachev
Added prefixes, used debug(9).
2016-08-24CLOUD: #define all OAuth2/API-related URLsAlexander Tkachev
2016-08-24CLOUD: JANITORIAL: Fix code formattingEugene Sandulenko
2016-08-24CLOUD: Fix format warningEugene Sandulenko
2016-08-24CLOUD: Fix code formattingPeter Bozsó
2016-08-24CLOUD: Fix `redirect_uri` selection codeAlexander Tkachev
Now it's not hardcoded based on USE_SDL_NET, but one or another value is used depending on currently selected LocalWebserver's port.
2016-08-24JANITORIAL: Remove spaces at the end of the lineAlexander Tkachev
I knew there were some, but I wanted to fix them once, instead of doing it all the time.
2016-08-24CLOUD: Do some refactoring/cleanupAlexander Tkachev
Nothing really major.
2016-08-24CLOUD: Fix CloudManager::connectStorage() memory leakAlexander Tkachev
2016-08-24CLOUD: Cleanup in StoragesAlexander Tkachev
2016-08-24CLOUD: Update GoogleDriveStorageAlexander Tkachev
It now derives from IdStorage, so lots of GoogleDrive*Request classes are removed and replaced with generic IdStorage*Request ones.
2016-08-24CLOUD: Fix "zero-length format string" warningAlexander Tkachev
2016-08-24CLOUD: Use correct redirect_urisAlexander Tkachev
Usage of #ifdef there (and in StorageWizardDialog) means that ScummVM doesn't support both local webserver and scummvm.org paths at the same time. It's either built with SDL_net (thus supporting localhost path) or without it (thus using scummvm.org).
2016-08-24CLOUD: Get rid of CloudConfigHelper, use kCloudDomain where approriatePeter Bozsó
2016-08-24CLOUD: Do saves sync on Storage connectAlexander Tkachev
2016-08-24CLOUD: Introduce CloudConfigHelperPeter Bozsó
2016-08-24CLOUD: Fix getAccessToken()Alexander Tkachev
KEY and SECRET should now load before getAccessToken() uses them, so it should work now.
2016-08-24CLOUD: Add ConnMan::urlEncode()Alexander Tkachev
Tried to use it everywhere I should've use it.
2016-08-24COMMON: Add String::asUint64()Alexander Tkachev
Instead of all these atoull() I've added everywhere.
2016-08-24GUI: Add Refresh button in Options Cloud tabAlexander Tkachev
Commit changes CloudManager and Storages so they would automatically refresh the fields when the could.
2016-08-24CLOUD: Update CloudManagerAlexander Tkachev
It now has methods to update Storage's information.
2016-08-24CLOUD: Update CloudManagerAlexander Tkachev
It now supports only one storage of each type. Only one Storage could be loaded to the memory as well. Options' Cloud tab now changes the Storage only when user pressed OK button, giving the ability to look through the Storages without actually changing them.
2016-08-24CLOUD: Update CloudManager and StorageAlexander Tkachev
* Storage::name(); * CloudManager::getStorageName(); * CloudManager::getStorageIndex(); * CloudManager::listStorages(); * CloudManager::switchStorage().
2016-08-24CLOUD: Add GoogleDriveUploadRequestAlexander Tkachev
Includes NetworkReadStream PATCH method and Headers remembering feature.
2016-08-24CLOUD: Add GoogleDrive download-related requestsAlexander Tkachev
GoogleDriveDownloadRequest, which resolves file id and then downloads it with GoogleDriveStorage::downloadById(). GoogleDriveStreamFileRequest, which resolves file id and then returns file stream with GoogleDriveStorage::streamFileById(). This commit also adds GoogleDriveStorage::streamFileById() itself. A minor GoogleDriveResolveIdRequest fix added. With these one can download files from Google Drive.
2016-08-24CLOUD: Update downloading in StoragesAlexander Tkachev
Id should be used everywhere.
2016-08-24CLOUD: Update GoogleDriveStorage and StorageFileAlexander Tkachev
Because of the Google Drive StorageFile now contains yet another field, `id`. For other storages `id` == `path`, and thus all common Requests (such as SavesSyncRequest, DownloadFolderRequest, etc) must be using id() instead of path(). That way these Requests won't cause id resolving which could be quite slow (when you call it for all files in the folder, for example).
2016-08-24CLOUD: Update GoogleDriveCreateDirectoryRequestAlexander Tkachev
Now it also creates the "base" ScummVM directory if there is no such directory yet. This way SavesSyncRequest works fine when no "ScummVM" or "ScummVM/Saves" folder exist in the Google Drive.
2016-08-24CLOUD: Fix GoogleDriveStorage to work with root folderAlexander Tkachev
Now it needs another scope and uses "root" instead of "appDataFolder".
2016-08-24CLOUD: Add GoogleDriveListDirectoryRequestAlexander Tkachev
When listing directories, you get a list of StorageFiles, which path() is actually Google Drive id. Thus, if you list a directory recursively, you won't be able to determine whether all files are within one directory or have some hierarchy. I'd fix that as soon as it would be needed.
2016-08-24CLOUD: Add GoogleDriveCreateDirectoryAlexander Tkachev
Now we can create directories in Google Drive by path, not parent id + directory name!
2016-08-24CLOUD: Add GoogleDriveResolveIdRequestAlexander Tkachev
GoogleDriveResolveIdRequest gets a lowercase path and searches for the specified file's id. To do that it lists path's subdirectories one by one with GoogleDriveListDirectoryByIdRequest. GoogleDriveListDirectoryByIdRequest gets a Google Drive id and lists that directory (not recursively).
2016-08-24CLOUD: Add GoogleDriveStorageAlexander Tkachev
It has its own GoogleDriveTokenRefresher and knows how to do info(). This commit also contains JSON int -> long long int fix and CurlJsonRequest '\n' -> ' ' fix.