Age | Commit message (Collapse) | Author |
|
This commit consists of two parts: upgrading the API infrastructure and trivial but sweeping update to the generated files.
1. The API infrastructure (converters.h, *.mustache and some other non-generated files) now can deal with top-level JSON arrays and response inlining; better supports property maps; and gets some formatting fixes in generated code.
2. Generated files now use QJsonValue instead of QJsonObject as a default type
to (un)marshall Matrix API data structures, to match the change in the infrastructure above
This commit is still using the old Matrix API definitions, before CS API 0.4.0. Getting to CS API 0.4.0 will come next.
|
|
Breaking changes:
* guest_can_join is no more a thing - neither in Connection::createRoom, nor even in CreateRoomJob (it turned out that Synapse didn't really process this flag);
* LoginJob has changed its list of arguments. If you use Connection to do logins (and you really should), you shouldn't be affected.
* GetPublicRoomsJob now returns PublicRoomsResponse instead of providing all the response parts within the job
Watch other changes in the diff.
|
|
It's not always a JSON object; it's either a SetTweakAction object or a string. (Unfortunately, QVariant isn't a template type and there's no easy way to put Q_DECLARE_METATYPE(SetTweakAction) in a Mustache template, so adding one is left as an exercise to the user now.)
|
|
Most of the actual change was in the API definition files (thanks to @anoadragon453), plus a converter from a QJsonObject map to the URL query string.
|
|
{{>}} instead of {{#@filePartial}}, library macros begin with _ instead
of @, mustache/definitions split - see the GTAD commit log.
|
|
|
|
|
|
latest GTAD
|
|
|
|
The actual change is in API definition files, this is just regeneration.
|
|
As per the latest API definitions.
|
|
|
|
Presence requires authentication; GetConfigJob; GetLoginFlowsJob; serverName parameter in JoinRoomJob.
|
|
|
|
We now have event.*, roomevent.*, stateevent.* and eventloader.h. If you only use event leaf-classes (such as RoomMemberEvent) you shouldn't notice anything.
|
|
|
|
|
|
|
|
Also: GetContentThumbnailJob (again) requires width and height.
|
|
|
|
This concludes the Great Income of Jobs to libQMatrixClient - all CS API calls
are now covered with job classes, yay!
|
|
Same as for account management jobs, auth objects are modeled as generic
QJsonObjects for now.
|
|
Regrettably had to cut corners and use QJsonObject for auth_data.yaml because
GTAD 0.6 doesn't properly deal with a combination of properties and
additionalProperties in the API description.
|
|
Getting a single event (/events), getting the full room state as well as with
a specific type/key (/state), getting the list of room members (/members and
/joined_members).
|
|
variant types now use comma (,) as a delimiter instead of | (because regexes).
Also: moved around the `schema` section to be closer to `$ref`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Because GTAD has been updated to use a different default name for
returned properties.
|
|
Thanks to the latest GTAD. QJsonObject wasn't quite correct there.
|
|
This mandated some rearrangement of toJson() overloads and FromJson<>
specializations for QVariant* types - instead of variant_converters.h they are
now in converters.cpp.
|
|
|
|
1. defaultValue now preempts Omittable<>
2. Fixed the problem when defaultValue was provided but initializer was empty
(a case for int's, bool's etc.)
|
|
...with the latest GTAD
|
|
|
|
|
|
They lead to an (incorrect) assumption that those attributes are actual
binary flags rather than just flags (there's no such thing as
avoidCopy=false, avoidCopy should be absent instead).
|
|
Also: use the latest feature of GTAD, +set/+on, to make gtad.yaml more compact.
|
|
The second part to close #208.
|
|
This is important because payloads that include omitted parameters may be malformed. Closes #208 (an example of such malformed payload).
|
|
|
|
|
|
|
|
|