Age | Commit message (Collapse) | Author |
|
|
|
wwwroot.zip contains ScummVM local webserver's resources, such as
template html pages, styles and images.
One can make it from wwwroot directory contents by running
make_archive.py script.
It's added to scummvm.rc, so it's included in the executable (it works
with MinGW, but I was unable to do that in VS yet).
IndexPageHandler is the one who returns these resources. It uses
index.html for "/". I'm replacing "{message}" with translated message,
so that's the way I thought the templates should work.
|
|
* fix handling connections;
* fix idling strategy;
* add setClientGetHandler() for SeekableReadStream;
* add determineMimeType().
|
|
Cleanup in open()
|
|
This commit also adds LocalWebserver's stopOnIdle().
That means server is not stopped immediately, but only when all clients
are served.
|
|
|
|
LocalWebserver would storage the handlers.
Client now has methods like path() or query() to access different parts
of the request.
|
|
|
|
|
|
That ClientHandler is made for responding GET requests. It calculates
stream's length, it allows to specify response code and headers, it can
be used to transfer any ReadStream.
|
|
|
|
Keeps current client's state
|
|
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).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CloudManager::getStorageConfigName()
|
|
KEY and SECRET should now load before getAccessToken() uses them, so it
should work now.
|
|
|
|
"networkreadstream.cpp:51:2: error: delegating constructors are permitted only in C++11"
|
|
"savessyncrequest.h:35:35: error: use of undeclared identifier 'UINT_MAX'"
|
|
One can enter the code, press 'Connect' button and get a working
Storage!
|
|
Used in SavesSyncRequest to update Storage's last sync date.
|
|
Tried to use it everywhere I should've use it.
|
|
Instead of all these atoull() I've added everywhere.
|
|
Commit changes CloudManager and Storages so they would automatically
refresh the fields when the could.
|
|
It now has methods to update Storage's information.
|
|
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.
|
|
And corresponding stub implementations in CloudManager.
|
|
* Storage::name();
* CloudManager::getStorageName();
* CloudManager::getStorageIndex();
* CloudManager::listStorages();
* CloudManager::switchStorage().
|
|
Just checked that out on cloud sync: Google Drive is officially
supported!
|
|
Includes NetworkReadStream PATCH method and Headers remembering feature.
|
|
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.
|
|
Id should be used everywhere.
|
|
Only two places to update, as others still require id resolving.
|
|
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).
|
|
Now openForLoading() and openForSaving() check whether file is locked,
so AGOS and SCUMM engines Ctrl+number and Alt+number hot keys shouldn't
be able to save/load in these slots during saves sync.
|
|
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 now keeps newly added Requests in separate array, so iterators don't
break when one adds a Request while ConnMan iterates its array.
The array is also shielded with mutex.
|
|
Now it needs another scope and uses "root" instead of "appDataFolder".
|