Age | Commit message (Collapse) | Author |
|
|
|
Remove unnecessary JSON warnings, fix a few places.
|
|
Add JSON checks in the callback.
|
|
Added prefixes, used debug(9).
|
|
|
|
|
|
I knew there were some, but I wanted to fix them once, instead of doing
it all the time.
|
|
Nothing really major.
|
|
Box uses POST multipart/form requests for uploading. Such requests could
be sent with libcurl if we either have a file available or a buffer with
this file's contents.
SavesSyncRequest was using Storage::upload(ReadStream *), which couldn't
be implemented in BoxStorage. Thus I've added a method to test whether
such upload is supported and, if it's not, SavesSyncRequest uses the
other.
|
|
|
|
|
|
This commit moves save/load timestamps static methods into
DefaultSaveFileManager and fixes a few related bugs.
|
|
Used in SavesSyncRequest to update Storage's last sync date.
|
|
Commit changes CloudManager and Storages so they would automatically
refresh the fields when the could.
|
|
Only two places to update, as others still require id resolving.
|
|
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.
|
|
|
|
It's common for Save/Load dialogs and SavesSyncRequest.
|
|
MetaEngines don't get "locked" files in the list, so won't try to open
these.
Save/Load dialog updates save list every time SavesSyncRequest tells it
to.
|
|
|
|
It's shown by SaveLoadChooserDialog when files are downloaded and some
save slots are locked. One can hide that dialog to interact with
non-locked slots or cancel saves sync completely. Dialog's label shows
current sync progress.
Dialog automatically hides itself when all files are downloaded.
WARNING: right now that results in a crash!
|
|
It also shows a "sync disabled" icon in case it has a savepath override.
|
|
Files we need are files to be downloaded, because that's what blocks us
from reading/writing in those.
|
|
Now one can learn whether SavesSyncRequest is running, its progress and
which files are being synced.
|
|
Now it would finish with error if spawned Request is nullptr.
|
|
|
|
Also add CloudManager::testFeature(), because syncSaves() now works fine
and I don't want to break it again and again with my testing requests.
|
|
It actually works fine, but small Storage::savesDirectoryPath() was
added, because Dropbox's directories must start with a slash, and
OneDrive's directories must not.
Saves sync tested and it works fine with OneDrive.
|
|
Added ErrorResponse and ErrorCallback. Each Request now has an
ErrorCallback, which should be called instead of usual callback in case
of failure.
|
|
It now actually read the "timestamps" file, loads and saves files as it
should, ignores Dropbox's "not_found" error.
|
|
It contains flags to indicate whether Request was interrupted or failed,
so dependent Requests may see that list is incomplete.
|
|
It contains not just "success" flag, but also "file" struct, so the
caller can find out some information about uploaded file - like
timestamp.
|
|
Never tested it, actually. It requires Storage to implement upload()
method and me to find some way to get saves' ReadStream.
The saveTimestamps() and loadTimestamps() part should be tested, other
parts should work fine.
|