mirror of
https://github.com/HenkKalkwater/harbour-sailfin.git
synced 2024-07-05 22:33:50 +00:00
Chris Josten
96ecd8e7d8
ApiClient was refractored to use PIMPL. This is mainly done to reduce compile times whenever the implementation of ApiClient itself changes, since a lot of files include it. The loaders have gained support for body parameters, this was somehow omitted before.
70 lines
1.5 KiB
Handlebars
70 lines
1.5 KiB
Handlebars
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}}
|