aboutsummaryrefslogtreecommitdiff
path: root/backends/cloud/onedrive
AgeCommit message (Collapse)Author
2019-08-25CLOUD: Make Network::ErrorResponse messages more verboseAlexander Tkachev
This commit updates all usages of Network::ErrorResponse to specify at least method name if not precise reason why operation failed.
2019-08-04CLOUD: Fix OneDriveTokenRefresherAlexander Tkachev
If user doesn't have a "saves" folder, listing it as a first step of syncing save files would result in 404 from OneDrive. OneDriveTokenRefresher handles token-related errors (401), so when it meets 404, it calls its finishError method. But because there was some strange behaviour from OneDrive with sending invalid JSON, this method tries fixing JSON and parsing it again. If it is valid, it calls non-error method again, and in result we get stack overflow. In order to fix that, I've added a non-JSON prefix "<irrecoverable>", so finishError won't be able to parse JSON and thus won't call finishJson again. Saves syncing callback does check string contents apart from trying to parse JSON, so it still works and correctly handles the situation when "saves" directory is missing. But, if needed, code can be updated to search for the prefix I've added and remove it before parsing original JSON.
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: Minor cleanup in OneDriveTokenRefresherAlexander Tkachev
2019-07-30CLOUD: Fix OneDriveStorage API interactionAlexander Tkachev
Something changed and old API endpoint "api.onedrive.com" now does not work. The other one, "graph.microsoft.com", does, but there were some other changes in JSON it returns. These changes are also in this commit.
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 OneDriveStorage to work 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
2017-01-10CLOUD: Fix Various Shadowing Compiler Warnings from errorCallback.D G Turner
2016-09-17CLOUD: Fix compilation for integer constant too large for 'long' typeThierry Crozat
Hopefully all ports we have support LL constants. Otherwise we will have to find a different way to fix this.
2016-09-03JANITORIAL: Make GPL headers uniformEugene Sandulenko
2016-08-24CLOUD: Fix RequestsAlexander Tkachev
Remove unnecessary JSON warnings, fix a few places.
2016-08-24CLOUD: Update OneDriveUploadRequestAlexander Tkachev
More JSON checks.
2016-08-24CLOUD: Update OneDriveAlexander Tkachev
Added JSON checks. New jsonContainsObject() method added to CurlJsonRequest.
2016-08-24CLOUD: Update TokenRefreshersAlexander Tkachev
Box's, Google Drive's and OneDrive's token refreshing requests have more JSON checks now.
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: Upload ListDirectory RequestsAlexander Tkachev
Lots of checks to avoid JSON-related segfaults added.
2016-08-24CLOUD: JANITORIAL: Fix code formattingEugene Sandulenko
2016-08-24CLOUD: Fix HTTP response code TODOsAlexander Tkachev
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 Cppcheck warningsAlexander Tkachev
2016-08-24CLOUD: Fix CloudManager::connectStorage() memory leakAlexander Tkachev
2016-08-24CLOUD: Fix OneDriveUploadRequestAlexander Tkachev
Segfault when given stream is nullptr.
2016-08-24CLOUD: Fix OneDriveUploadRequestAlexander Tkachev
OneDrive doesn't accept empty files, so UploadRequest just skips such.
2016-08-24CLOUD: Cleanup in StoragesAlexander Tkachev
2016-08-24CLOUD: Fix finishSuccess() warningAlexander Tkachev
2016-08-24CLOUD: Fix "signed/unsigned integers" warningAlexander Tkachev
The "comparison between signed and unsigned integer expressions" one. Note that in UploadRequests size() and pos() are acutally signed, because they could return -1. This commit implies that Requests are working with such Streams which doesn't.
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-24GUI: Add EditText in StorageWizardDialogAlexander Tkachev
One can enter the code, press 'Connect' button and get a working Storage!
2016-08-24CLOUD: Add Request::date()Alexander Tkachev
Used in SavesSyncRequest to update Storage's last sync date.
2016-08-24CLOUD: Add ConnMan::urlEncode()Alexander Tkachev
Tried to use it everywhere I should've use it.
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.