aboutsummaryrefslogtreecommitdiff
path: root/backends
AgeCommit message (Collapse)Author
2016-08-24CLOUD: Add UploadFileHandlerAlexander Tkachev
2016-08-24CLOUD: Fix minor Reader-related bugsAlexander Tkachev
2016-08-24CLOUD: Update Reader to delete temp filesAlexander Tkachev
2016-08-24CLOUD: Save files fields into temp filesAlexander Tkachev
Instead of keeping them in memory. Temp file name is generated to point into ScummVM's working directory. That means that if user wanted to upload file to the place with sufficient size, it would instead be uploaded to ScummVM's working directory. Yet it's too early to parse the target directory, so there is no way to generate temp file name within that directory.
2016-08-24CLOUD: Add Reader::readOneByteInStream()Alexander Tkachev
2016-08-24CLOUD: Determine file's name in POSTAlexander Tkachev
2016-08-24CLOUD: Move method/path/etc info in ReaderAlexander Tkachev
Query parameters are now parsed once and then just searched in the HashMap.
2016-08-24CLOUD: Use Reader in ClientAlexander Tkachev
Instead of copy-pasting it I'm just "integrating" it in.
2016-08-24CLOUD: Use "multipart/form-data" in upload formAlexander Tkachev
2016-08-24CLOUD: Update Reader to support pausingAlexander Tkachev
That means that if current buffer is over, reader will stop reading and it's safe to call readResponse() again, so it would continue from the place it left.
2016-08-24CLOUD: Add Reader sketchAlexander Tkachev
That should be part of the Client, I guess. Reader is not ready to continue reading from place it stopped, but it already works as it should for the case when whole content is available.
2016-08-24CLOUD: Add query parameters URL encodingAlexander Tkachev
In local webserver's links. Fixed URL decoding to understand '+', by the way. Firefox sends these instead of spaces and "%2B" instead of '+'.
2016-08-24CLOUD: Update GetClientHandler's bufferAlexander Tkachev
It's not static now and it's increased to 1 MB.
2016-08-24CLOUD: Add "/download" handlerAlexander Tkachev
Now one can download files from the device through browser!
2016-08-24CLOUD: Move "/create" to separate HandlerAlexander Tkachev
It does redirect to "/files" on success, so user doesn't even see the strange "/create" URL at all. This commit is for keeping these handlers small, not making one (FilesPageHandler in this case) do everything.
2016-08-24CLOUD: Make "/create" workAlexander Tkachev
One can now create directories through browser.
2016-08-24CLOUD: Refactor LocalWebserverAlexander Tkachev
Its handlers are now more compact. This commit moves Handler classes in handlers\ directory. ResourceHandler ignores "hidden" files in the archive, and these are used as markup templates in IndexPageHandler and FilesPageHandler.
2016-08-24COMMON: Add replace(String, String, String)Alexander Tkachev
Searches for a substring in the string and replaces it with the other string.
2016-08-24CLOUD: Make "/files" list directoriesAlexander Tkachev
Including both virtual "/root" and "/saves" ones.
2016-08-24CLOUD: Add "/files" handlerAlexander Tkachev
Shows the page with controls, but doesn't actually list the directories, create the specified ones or allows to upload files yet.
2016-08-24CLOUD: Resolve local machine's IPAlexander Tkachev
2016-08-24CLOUD: Make "Run server" button activeAlexander Tkachev
It should show the real server's IP over there, but that doesn't work yet.
2016-08-24CLOUD: Replace USE_CLOUD with USE_LIBCURLAlexander Tkachev
In most cases that's the right one to check. USE_CLOUD is defined when either USE_LIBCURL or USE_SDL_NET are, which means if there is no curl, USE_CLOUD still could be defined and linking errors would appear.
2016-08-24CLOUD: Fix FolderDownloadRequestAlexander Tkachev
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.
2016-08-24GUI: Upgrade DownloadDialogAlexander Tkachev
It now shows the remote and local directories and a progress bar. Storage now shows OSD messages on download success and failure.
2016-08-24CLOUD: Add FolderDownload-related methods in StorageAlexander Tkachev
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.
2016-08-24CLOUD: Fix CloudManager's methodsAlexander Tkachev
Were not returning created Request.
2016-08-24CLOUD: Add CloudManager::downloadFolder()Alexander Tkachev
2016-08-24CLOUD: Make Google Drive sort files listAlexander Tkachev
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.
2016-08-24CLOUD: Fix saves syncAlexander Tkachev
Tested that on actual unix system and found out a few minor bugs related to paths.
2016-08-24CLOUD: Fix finishSuccess() warningAlexander Tkachev
2016-08-24CLOUD: Fix some warningsAlexander Tkachev
Mostly on format string
2016-08-24CLOUD: Fix crash on exiting ScummVM while ConnMan is activePeter Bozsó
2016-08-24CLOUD: Delete the incomplete file (when downloading)Alexander Tkachev
2016-08-24CLOUD: Update save's timestamp on rewriteAlexander Tkachev
This commit moves save/load timestamps static methods into DefaultSaveFileManager and fixes a few related bugs.
2016-08-24CLOUD: Make OutSaveFile start saves syncAlexander Tkachev
It had to become a proxy class in order to do that. finalize() starts the saves sync.
2016-08-24CLOUD: Update local server's style.cssAlexander Tkachev
2016-08-24CLOUD: Fix "-Wcast-qual"Alexander Tkachev
The passed buffer is not changed, so could be `const`. You might see that `postFields.c_str()` is `buffer`. Yet, as it's `postFields`, it's used for POST in curl_easy_setopt(), which copies the passed buffer. When `buffer` is used for upload, it's an actual bytes buffer, kept in CurlRequest.
2016-08-24CLOUD: Fix "-Wconversion-null"Alexander Tkachev
That `false` came from TranslationManager's function, which was returning bool, not a pointer. Somehow missed that line.
2016-08-24CLOUD: Fix "zero-length format string" warningAlexander Tkachev
2016-08-24CLOUD: Fix "type qualifiers ignored" 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: Add some mutexes in LocalWebserverAlexander Tkachev
2016-08-24CLOUD: Embed cloud icons as byte arraysAlexander Tkachev
2016-08-24CLOUD: Update IndexPageHandler to search wwwroot.zipAlexander Tkachev
Now it also searches for that in themepath, not with SearchMan only.
2016-08-24GUI: Hide StorageWizardDialog fields if server presentAlexander Tkachev
2016-08-24CLOUD: Add wwwrootAlexander Tkachev
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.
2016-08-24CLOUD: Update LocalWebserverAlexander Tkachev
* fix handling connections; * fix idling strategy; * add setClientGetHandler() for SeekableReadStream; * add determineMimeType().
2016-08-24CLOUD: Fix ClientAlexander Tkachev
Cleanup in open()