Christian Kündig
ebfc9c8f55
CLOUD: Refactor ConnectionManager and NetworkReadStream
2025-08-13 18:38:54 +02:00
Christian Kündig
4c3a3bdaff
CLOUD: Remove direct use of 'curl_slist' and instead use Common::Array<String>
2025-08-13 18:38:54 +02:00
Christian Kündig
ea3c595ce8
CLOUD: Rename 'backends/networking/curl' to 'backends/networking/http' for future alternative http clients
2025-08-13 18:38:54 +02:00
Le Philousophe
f499a25c98
BACKENDS: CLOUD: Remove last pass-by value arguments
...
This is a follow up of #5337
2023-10-30 10:49:36 +01:00
Le Philousophe
0043d344a9
BACKENDS: Avoid passing arguments by value in cloud and networking
...
Use references everywhere it's possible.
Use override keyword to raise errors when there are discrepancies.
2023-10-29 01:51:38 +02:00
Alexander Tkachov
24407665ab
CLOUD: Add new flow constructors for OD, Box, GD
2023-04-08 16:20:11 +02:00
Alexander Tkachov
b4dd48f395
CLOUD: Add new flow (WIP)
...
- allow OPTIONS HTTP method to be handled by local webserver;
- add /connect_cloud endpoint;
- add new DropboxStorage constructor that works with JSON response instead of requesting that via shortcode;
- add CloudManager::connectStorage() overload for this new JSON flow.
/connect_cloud endpoint allows cross-origin request (via CORS HTTP headers) from cloud.scummvm.org, so user's browser sends the JSON response directly to ScummVM app, instead of the app requesting that response from the site.
This commit is WIP, introducing a new constructor for Dropbox only, and not changing the GUI part at all.
2023-04-08 16:20:11 +02:00
Cameron Cawley
28d7b361ea
COMMON: Move more file format code into common/formats
2022-12-11 22:33:23 +01:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+
2021-12-26 18:48:43 +01:00
Eugene Sandulenko
fa685f83ac
CLOUD: Fix overridden methods
2021-12-01 00:30:47 +01:00
Orgad Shaneh
44219dfa1a
BACKENDS: Use nullptr
...
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Alexandre Detiste
6044504762
JANITORIAL: typos
...
some in the variable names, some in the comments;
no change for the strings that interract with original games assets
2021-10-31 20:46:31 +01:00
Alexander Tkachov
8c16575035
CLOUD: Update Dropbox to use refresh_token
...
Dropbox is switching to short-lived access_token OAuth. This commit adapts Cloud::DropboxStorage to use refresh_token similarly to how other Storages do: by introducing a DropboxTokenRefresher.
It is used instead of plain CurlJsonRequest. It just checks if received JSON has access_token-related error and tries to refresh it, then repeats the original request transparently for the caller. If no such errors found, it just passes the info to the caller.
2021-02-04 01:57:48 +01:00
Alexander Tkachev
5b5a89e3e7
CLOUD: Make Network::ErrorResponse messages more verbose
...
This commit updates all usages of Network::ErrorResponse to specify at
least method name if not precise reason why operation failed.
2019-08-25 12:15:14 +03:00
Alexander Tkachev
f6a17e679f
CLOUD: Ask user to manually enable Storage
...
For more security, newly connected Storage only gets username/used space
information and is disabled until user manually presses the button.
2019-07-30 14:51:41 -04:00
Alexander Tkachev
99c2418d1a
GUI: Rewrite Cloud tab
...
- 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-30 14:51:41 -04:00
Alexander Tkachev
e8669f693c
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.
2019-07-30 14:51:41 -04:00
Alexander Tkachev
60504dce75
CLOUD: Update storages to refresh token via cloud.scummvm.org
2019-07-30 14:51:41 -04:00
Alexander Tkachev
4a427faf9c
CLOUD: Get rid of 'dists/clouds/cloud_keys.h'
2019-07-30 14:51:41 -04:00
Alexander Tkachev
64fd116092
CLOUD: Add BaseStorage, which does auth via cloud.scummvm.org
2019-07-30 14:51:41 -04:00
Alexander Tkachev
faa19c7bf0
CLOUD: Cleanup a little bit - remove unused config keys usage
2019-07-30 14:51:41 -04:00
Alexander Tkachev
2a56328d35
CLOUD: Update DropboxStorage to work with cloud.scummvm.org
2019-07-30 14:51:41 -04:00
Alexander Tkachev
ddcfcc18b2
CLOUD: Update DropboxStorage to work via scummvm.org & StorageWizardDialog correspondingly
2019-07-30 14:51:41 -04:00
SupSuper
272d4105b2
WIN32: Fix libcurl redefining ARRAYSIZE
...
libcurl pulls in Windows headers, so let's include it first to avoid clashing with common headers
2018-12-17 12:28:33 +02:00
D G Turner
ace486cef4
CLOUD: Fix Various Shadowing Compiler Warnings from errorCallback.
2017-01-10 04:45:22 +00:00
Bastien Bouclet
4d68b93aba
CLOUD: Switch to the new OSD API
2016-09-13 20:29:09 +02:00
Eugene Sandulenko
fab199d37e
JANITORIAL: Make GPL headers uniform
2016-09-03 12:46:38 +02:00
Peter Bozsó
02a997e468
CLOUD: Remove unused includes
2016-08-24 16:07:55 +06:00
Alexander Tkachev
b3aa9f663f
CLOUD: Update DropboxUploadRequest
...
JSON checks.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
364c74df93
CLOUD: Update DropboxStorage
...
JSON checks added.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
6be736b5ed
CLOUD: Update Dropbox Requests
...
Adding more JSON checks there.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
0b97aff866
CLOUD: Minor TODO fix
2016-08-24 16:07:55 +06:00
Alexander Tkachev
6dd10f3a68
CLOUD: Add KEY/SECRET override code
...
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-24 16:07:55 +06:00
Alexander Tkachev
15c6772ff7
ALL: Fix debug, warning and error usage
...
Added prefixes, used debug(9).
2016-08-24 16:07:55 +06:00
Alexander Tkachev
d57e0c89b5
CLOUD: #define all OAuth2/API-related URLs
2016-08-24 16:07:55 +06:00
Alexander Tkachev
f3959e1401
CLOUD: Upload ListDirectory Requests
...
Lots of checks to avoid JSON-related segfaults added.
2016-08-24 16:07:55 +06:00
Eugene Sandulenko
d57fca4665
CLOUD: JANITORIAL: Fix code formatting
2016-08-24 16:07:55 +06:00
Alexander Tkachev
efebb5b90d
CLOUD: Remove DropboxStorage::remove()
2016-08-24 16:07:55 +06:00
Peter Bozsó
9254df2d96
CLOUD: Fix code formatting
2016-08-24 16:07:55 +06:00
Alexander Tkachev
772d8ee42b
CLOUD: Fix redirect_uri selection code
...
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-24 16:07:55 +06:00
Alexander Tkachev
438ba985a4
JANITORIAL: Remove spaces at the end of the line
...
I knew there were some, but I wanted to fix them once, instead of doing
it all the time.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
b180c73675
CLOUD: Do some refactoring/cleanup
...
Nothing really major.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
a449ddce15
CLOUD: Fix Cppcheck warnings
2016-08-24 16:07:55 +06:00
Alexander Tkachev
f743b31963
CLOUD: Fix CloudManager::connectStorage() memory leak
2016-08-24 16:07:55 +06:00
Alexander Tkachev
1d78d20fcf
CLOUD: Fix Dropbox and Google Drive UploadRequests
...
Possible segfault there too.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
d0c54cdd64
CLOUD: Fix DropboxCreateDirectoryRequest
...
It now calls success callback with `false` on Dropbox's
"path/conflict/folder", indicating that the directory already exists.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
55568d757c
CLOUD: Move Dropbox to API v2
...
We had a few places where their deprecated API v1 was used.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
b4e9e35e07
CLOUD: Cleanup in Storages
2016-08-24 16:07:55 +06:00
Alexander Tkachev
f3a392359b
CLOUD: Fix finishSuccess() warning
2016-08-24 16:07:55 +06:00
Alexander Tkachev
fa3ea83165
CLOUD: Fix some warnings
...
Mostly on format string
2016-08-24 16:07:55 +06:00