using namespace {{dtoNamespace}}; {{#each endpoints as |e|}} class {{e.name}} { public: {{#each e.parameters as |param|}} /** * @brief {{param.description}} */ {{#if param.required}} const {{param.type.typeNameWithQualifiers}} &{{param.type.name}}() const; void set{{param.type.writeName}}({{param.type.typeNameWithQualifiers}} new{{param.type.writeName}}); {{else}} const {{param.type.typeName}} &{{param.type.name}}() const; void set{{param.type.writeName}}({{param.type.typeName}} new{{param.type.writeName}}); bool {{param.type.name}}Null() const; void set{{param.type.writeName}}Null(); {{/if}} {{/each}} private: // Required path parameters {{#each e.requiredPathParameters as |param|}} {{param.type.typeNameWithQualifiers}} {{param.type.memberName}}; {{/each}} // Required query parameters {{#each e.requiredQueryParameters as |param|}} {{param.type.typeNameWithQualifiers}} {{param.type.memberName}}; {{/each}} // Optional query parameters {{#each e.optionalQueryParameters as |param|}} {{#if param.type.defaultInitializer.length > 0}} {{param.type.typeNameWithQualifiers}} {{param.type.memberName}} = {{param.type.defaultInitializer}}; {{else}} {{param.type.typeNameWithQualifiers}} {{param.type.memberName}}; {{/if}} {{/each}} {{#if e.bodyParameters.length > 0}} // Body parameters {{#if e.bodyParameters.length == 1}} {{e.bodyParameters[0].type.typeNameWithQualifiers}} m_body; {{else}} //FIXME: Multiple body options not implemented. {{/if}} {{/if}} }; {{/each}}