aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-01-12BaseJob::Data -> RequestData; support QIODevice* input/outputKitsune Ral
2018-01-09Job template: Use QIODevice instead of QByteArray to store byte streamsKitsune Ral
This allows smooth pipelining of files to and from the network.
2018-01-09Merge branch 'master' into kitsune-gtadKitsune Ral
2018-01-09BaseJob: change initial job status from NoError to PendingKitsune Ral
Otherwise isJobRunning() is of no great use.
2018-01-09Fix an occasional crash when resolving a server nameKitsune Ral
Closes #149.
2018-01-09Avatar: Use QPointer<> and isJobRunning()Kitsune Ral
2018-01-09Avatar: Mark get() as const operationKitsune Ral
With all the liberty that pimpl idiom gives it's easy to get away without proper const's; but let's be consistent :)
2018-01-09isJobRunning() facility functionKitsune Ral
2018-01-09Avatar: Use Connection::getThumbnail instead of callApi<>Kitsune Ral
2018-01-06Add a missing #includeKitsune Ral
std::bind belongs to <functional>, don't rely on implicitly including it from other standard headers.
2018-01-05MediaThumbnailJob: Rewire to GetContentThumbnailJob; decommission ThumbnailTypeKitsune Ral
"crop" thumbnail type didn't seem to be ever used. Once GTAD is able to generate enums, the respective code will show up in GetContentThumbnailJob and this parameter can be reintroduced in MediaThumbnailJob. As of now, just rely on the default "scale" value.
2018-01-05jobs/generated: content-repo.*, create_room.*Kitsune Ral
2018-01-05jobs: expect application/json by default; set query in constructor body; ↵Kitsune Ral
properly convert numbers to strings in query The query should be set in constructor body because there's no reason to pass non-required parameters into the query. As for numbers to strings conversion - there was an attempt to use QJsonValue(a).toString() for that. That doesn't work; QJsonValue does not turn numbers to strings.
2018-01-05jobs/generated: Convert numbers to string in a way that actually worksKitsune Ral
Plus a bit of fooling around with linebreaks.
2018-01-05BaseJob: Provide a simplified constructorKitsune Ral
2018-01-05jobs/generated: Make default values propagate properlyKitsune Ral
Thanks to the latest GTAD. initializeDefaultValue is a partial that in turn inserts a type-specific {{>initializer}} if there is a non-trivial default value.
2018-01-05CMakeLists.txt: Exclude more API files from generationKitsune Ral
All of these new exclusions have parameters named 'signed', 'unsigned' and 'default' which are C++ reserverd words. GTAD does not give a proper workaround for these yet (see #24) so exclude them for now.
2018-01-05Avatar: Use Connection::getThumbnail instead of callApi<>Kitsune Ral
2018-01-05jobs/generated: Use BaseJob::addExpectedContentType()Kitsune Ral
2018-01-05{{base}}.cpp.mustache: Fix addExpectedContentType() invocation codeKitsune Ral
2018-01-04gtad.yaml: CleanupKitsune Ral
2018-01-04Updated generated jobsKitsune Ral
Just one file, the rest are the same.
2018-01-04Disable generation of jobs that stand in the wayKitsune Ral
We have a better SyncJob and SetRoomStateJob yet.
2018-01-04gtad.yaml: Update to the most recent GTADKitsune Ral
Use _scopeRenderer (instead of _typeRenderer) and _literalQuote.
2018-01-03Fully support content-repo APIKitsune Ral
That includes dealing with headers and raw (non-JSON) responses.
2018-01-03Support request and response headersKitsune Ral
Enable specifying headers in the request and checking/using headers in the response.
2018-01-03jobs/generated: Polish formatting; other minor cleanupKitsune Ral
2017-12-31Merge branch 'master' into kitsune-gtadKitsune Ral
2017-12-30BaseJob: do not suppress SSL errorsKitsune Ral
It is the application's responsibility to properly display the error and get confirmation from the user about it.
2017-12-30QMatrixClient::NetworkAccessManager (singleton Qt NAM that remembers ignored ↵Kitsune Ral
SSL errors) Closes #145.
2017-12-29Don't use generic lambdas in initialisersKitsune Ral
This seems to upset MSVC.
2017-12-29Fix building with Microsoft's standard libraryKitsune Ral
2017-12-29Allow to customize and connect to the used QNetworkAccessManager from clientsKitsune Ral
We don't really want to let the world know that we use the only instance of NAM; instead, we provide a point of customisation to whatever NAM is created in ConnectionData, in the form of a static customizeNetworkAccess() method that gets a function to run on a/the created NAM. This function can do additional configuration on NAM (such as setting a proxy factory, network configuration, or caching) and/or connect to its signals, such as sslErrors() and proxyAuthenticationRequired(). Closes #143.
2017-12-29Use std::unique_ptr instead of bare pointers; cleanup stale declarationsKitsune Ral
2017-12-28NetworkSettings: add setupApplicationProxy() accessible from QML; proxyPort ↵Kitsune Ral
is quint16 now setupApplicationProxy(), so that clients in QML could apply changes in proxy settings without going down to C++. quint16, because this is a type actually used by QNetworkProxy.
2017-12-28Switch from QPixmap to QImage; add convenience avatar() overloads to Room ↵Kitsune Ral
and User The switch is necessary because MediaThumbnailJob is supposed to return something that can be worked on in non-GUI threads (as is the case of QML image providers), and QPixmap is not supposed for usage out of the main thread.
2017-12-27Introduce StateEventBase - a non-template base for StateEvent<>Kitsune Ral
This will hold common logic for all state events, including the newly introduced repeatsState() that returns true when prev_content repeats content. This will be used to address QMatrixClient/Quaternion#245.
2017-12-27StateEvent<>: Look for prev_content in unsigned, not top-levelKitsune Ral
2017-12-26NetworkSettings: store proxy configurationKitsune Ral
No credentials, just type, host, and port.
2017-12-26Settings: factored out common declarations/definitions to macrosKitsune Ral
It cannot be made in templates because property and methods names are involved.
2017-12-25CMakeLists: Add -W to the mixKitsune Ral
2017-12-25qmake: Use QMAKE_CXX_FLAGS_WARN_ON rather than QMAKE_CXX_FLAGSKitsune Ral
Because the damn thing puts QMAKE_CXX_FLAGS before what's put by CONFIG, and CONFIG injects -W -Wall that cancels -Wno-unused-parameter.
2017-12-25Connection: change the attempt number propagated from BaseJobKitsune Ral
2017-12-25BaseJob: further minor code cleanupKitsune Ral
2017-12-25qmake: Use the compiler specified in the environment; revert to CONFIG += c++14Kitsune Ral
qmake doesn't follow standard CC and CXX environment variables and its CONFIG produces CXX_FLAGS added after QMAKE_CXX_FLAGS. Big thank you to The Qt Company :-|
2017-12-25qmake: Use -std=C++14, not -std=gnu++1y substituted for CONFIG += c++14Kitsune Ral
2017-12-25Polished warnings configurationKitsune Ral
The whole thing should go without or almost without warnings with GCC and with Clang (MSVC is another story and I don't care about it much).
2017-12-25Room: Remove C++14 code from the header fileKitsune Ral
This will provide some backwards-compatibility to clients that are not ready to move _their_ code to C++14 (at least, it will allow them to not add C++14 requirement to their makefiles as of yet).
2017-12-25BaseJob: consolidate job timeout configurationKitsune Ral
This prepares the backend to enable timeouts/retry intervals configurable from clients.
2017-12-25Connection: Be more accurate with lambda capturesKitsune Ral