{{#@filePartial}}preamble{{/@filePartial}} #pragma once {{#operations}}#include "../basejob.h" {{/operations}} {{#imports}}#include {{_}} {{/imports}} {{#allModels}}#include "converters.h" {{/allModels}} namespace QMatrixClient { {{#models}} // Data structures {{# model}}{{#trivial?}} using {{name}} = {{parent.name}}; {{/ trivial?}}{{^trivial?}} struct {{name}}{{#parents?}} : {{#parents}}{{name}}{{#@join}}, {{/@join}}{{/parents}}{{/parents?}} { {{#vars}}{{dataType.name}} {{nameCamelCase}}; {{/vars}} operator QJsonObject() const; }; template <> struct FromJson<{{name}}> { {{name}} operator()(QJsonValue jv); }; {{/ trivial?}}{{/model}} {{/models}}{{#operations}} // Operations {{# operation}} class {{camelCaseOperationId}}Job : public BaseJob { public:{{# models}} // Inner data structures {{# model}}{{#trivial?}} using {{name}} = {{parent.name}}; {{/ trivial?}}{{^trivial?}} struct {{name}}{{#parents?}} : {{#parents}}{{name}}{{#@join}}, {{/@join}}{{/parents}}{{/parents?}} { {{#vars}}{{dataType.name}} {{nameCamelCase}}; {{/vars}} operator QJsonObject() const; }; {{/ trivial?}}{{/model}} // End of inner data structures {{/models}} explicit {{camelCaseOperationId}}Job({{#allParams}}{{>maybeCrefType}} {{paramName}}{{^required?}} = {{defaultValue}}{{^defaultValue}}{}{{/defaultValue}}{{/required?}}{{#@join}}, {{/@join}}{{/allParams}});{{!skip EOL }}{{# responses}}{{#normalResponse?}}{{#allProperties?}} ~{{camelCaseOperationId}}Job() override; {{#allProperties}} {{>maybeCrefType}} {{paramName}}() const;{{/allProperties}} protected: Status {{#producesNotJson?}}parseReply(QNetworkReply* reply){{/producesNotJson?}}{{^producesNotJson?}}parseJson(const QJsonDocument& data){{/producesNotJson?}} override; private: class Private; QScopedPointer d;{{/allProperties?}}{{/normalResponse?}}{{/responses}} }; {{/operation}}{{/operations}}{{!skip EOL }}} // namespace QMatrixClient