Age | Commit message (Collapse) | Author |
|
|
|
Possible segfault there too.
|
|
Segfault when given stream is nullptr.
|
|
With OSD messages indicating whether saves sync is complete, cancelled
or failed.
|
|
OneDrive doesn't accept empty files, so UploadRequest just skips such.
|
|
It now calls success callback with `false` on Dropbox's
"path/conflict/folder", indicating that the directory already exists.
|
|
We had a few places where their deprecated API v1 was used.
|
|
|
|
It now is based on downloaded size, not number of files.
|
|
Wrong value was returned in getProgress() on nullptr there.
|
|
It now keeps track of downloaded bytes.
|
|
It now sends kDownloadEndedCmd on success without waiting to be
destructed.
|
|
Now it doesn't stop on 100 % on last file and it ignores the
directories, so it doesn't "jump" suddenly as there are no directories
to skip.
|
|
|
|
Now NetworkReadStream, which is used in DownloadRequest, which is used
in FolderDownloadRequest, returns progress information provided by
libcurl.
|
|
It now uses a dynamically allocated 1 MB buffer.
|
|
|
|
It now derives from IdStorage, so lots of GoogleDrive*Request classes
are removed and replaced with generic IdStorage*Request ones.
|
|
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.
|
|
|
|
|
|
Used for downloading files in Box.
|
|
|
|
Box gets createDirectoryWithParentId(), so now creating directories
works there.
|
|
This is a special base class for Storages which are using ids instead of
paths in their APIs, like Box or Google Drive.
This commit makes Box derived from IdStorage.
|
|
And used in it BoxResolveIdRequest.
TODO: make some generic ResolveIdRequest and ListDirectoryRequest for
id-based storages. It's really similar, I just had to change a few
details in GoogleDrive ListDirectory and ResolveId requests.
|
|
Similarly to Google Drive, Box uses only ids of files. That means id
resolving would be slow.
|
|
BoxTokenRefresher does refresh if HTTP 401 is returned by the server.
To test refresher, BoxStorage::info() was added.
|
|
|
|
Actually, I'm not completely sure, but this fixed the segfault when user
closes ScummVM during the download. Even if that's not a fix, these
lines must be in this method anyway.
|
|
It now shows the remote and local directories and a progress bar.
Storage now shows OSD messages on download success and failure.
|
|
CloudManager's shortcuts are added too.
The idea is to keep FolderDownload request within Storage, and provide
necessary means to access it. The download is started and cancelled
through the DownloadDialog.
|
|
Were not returning created Request.
|
|
|
|
GoogleDriveListDirectoryByIdRequest now uses "orderBy" field to specify
that we want the commonly used "alphabetical, folders first" order.
That's mostly needed for RemoteBrowserDialog, because Requests don't
care about the order, and this one is more user-friendly.
|
|
|
|
Mostly on format string
|
|
|
|
This commit moves save/load timestamps static methods into
DefaultSaveFileManager and fixes a few related bugs.
|
|
|
|
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.
|
|
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).
|
|
Available as LocalServer singleton. It's being started and stopped by
StorageWizardDialog. It doesn't handle clients yet, though.
|
|
|
|
|
|
|
|
If Storage::syncSaves() is called when sync is running, another sync
would be automatically scheduled in the end of the current one.
That could be helpful when we want to specify that we changed something
during sync (created new save slot, for example).
|
|
|
|
|
|
|