{{#@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?}}{{#properties?}} ~{{camelCaseOperationId}}Job() override; {{#properties}}{{>maybeCrefType}} {{paramName}}() const; {{/properties}} protected: {{^returnFile}}Status parseJson(const QJsonDocument& data) override;{{/returnFile}} {{#returnFile?}}Status parseReply(QByteArray data) override;{{/returnFile?}} private: class Private; Private* d;{{/properties?}}{{/normalResponse?}}{{/responses}} }; {{/operation}}{{/operations}}{{!skip EOL }}} // namespace QMatrixClient