{{#@filePartial}}preamble{{/@filePartial}} #include "{{filenameBase}}.h" {{#operations}} #include "../converters.h" #include using namespace QMatrixClient; {{# returns?}} class {{#@cap}}{{operationId}}{{/@cap}}Job::Private { public: {{#returns}}{{type}} {{name}};{{/returns}} }; {{/ returns?}} static const auto basePath = QStringLiteral("{{basePathWithoutHost}}"); {{# operation}} {{#@cap}}{{operationId}}{{/@cap}}Job::{{#@cap}}{{operationId}}{{/@cap}}Job({{#allParams}}{{#avoidCopy?}}const {{dataType}}&{{/avoidCopy?}}{{^avoidCopy?}}{{dataType}}{{/avoidCopy?}} {{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) : BaseJob(HttpVerb::{{#@cap}}{{#@tolower}}{{httpMethod}}{{/@tolower}}{{/@cap}}, "{{#@cap}}{{operationId}}{{/@cap}}Job", basePath{{#pathParts}} % {{part}}{{/pathParts}}, Query {{^queryParams}}{ }{{/queryParams}}{{#queryParams?}}{ {{#queryParams}}{ "{{baseName}}", toJson({{paramName}}).toString() }{{#hasMore}}, {{/hasMore}}{{/queryParams}} }{{/queryParams?}}, Data {{^bodyParams}}{ }{{/bodyParams}}{{#bodyParams?}}{ {{#bodyParams}}{ "{{baseName}}", toJson({{paramName}}) }{{#hasMore}}, {{/hasMore}}{{/bodyParams}} }{{/bodyParams?}}{{#skipAuth}}, false{{/skipAuth}} ){{#returns?}}, d(new Private){{/returns?}} { } {{/ operation}} {{# returns?}} {{className}}Job::~{{className}}Job() { delete d; } {{# returns}} {{type}} {{className}}Job::{{name}}() const { return d->{{name}}; } {{/ returns}} {{# returnFile?}} BaseJob::Status {{className}}Job::parseReply(QByteArray data) { {{#returns}}{{name}}{{/returns}} = data; return Success; } {{/ returnFile?}}{{^returnFile?}} BaseJob::Status {{className}}Job::parseJson(const QJsonDocument& data) { auto json = data.object(); {{#returns}} {{#required?}}if (!json.contains("{{name}}") return { JsonParseError, "{{name}} not found in the response" };{{/required?}} d->{{name}} = fromJson<{{type}}>(json.value("{{name}}")); {{/returns}} return Success; } {{/ returnFile?}} {{/ returns?}} {{/operations}}