{{#@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}} }; QJsonObject toJson(const {{name}}& pod); 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}} }; {{/ trivial?}}{{/model}} // End of inner data structures {{/models}}{{^bodyParams}} /** Construct a URL out of baseUrl and usual parameters passed to * {{camelCaseOperationId}}Job. This function can be used when * a URL for {{camelCaseOperationId}}Job is necessary but the job * itself isn't. */ static QUrl makeRequestUrl(QUrl baseUrl{{#allParams?}}, {{#allParams}}{{>joinedParamDecl}}{{/allParams}}{{/allParams?}}); {{/bodyParams}} explicit {{camelCaseOperationId}}Job({{#allParams}}{{>joinedParamDecl}}{{/allParams}});{{!skip EOL }}{{# responses}}{{#normalResponse?}}{{#allProperties?}} ~{{camelCaseOperationId}}Job() override; {{#allProperties}} {{>maybeCrefType}} {{paramName}}() const;{{/allProperties}} protected: Status {{#producesNonJson?}}parseReply(QNetworkReply* reply){{/producesNonJson?}}{{^producesNonJson?}}parseJson(const QJsonDocument& data){{/producesNonJson?}} override; private: class Private; QScopedPointer d;{{/allProperties?}}{{/normalResponse?}}{{/responses}} }; {{/operation}}{{/operations}}{{!skip EOL }}} // namespace QMatrixClient