1
0
Fork 0
mirror of https://github.com/HenkKalkwater/harbour-sailfin.git synced 2024-05-17 03:22:42 +00:00
harbour-sailfin/core/codegen/loader_types_header.hbs

70 lines
1.5 KiB
Handlebars
Raw Permalink Normal View History

2021-03-24 19:04:03 +00:00
using namespace {{dtoNamespace}};
{{#each endpoints as |e|}}
class {{e.name}} {
public:
{{#each e.parameters as |param|}}
2021-03-24 19:04:03 +00:00
/**
* @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}}
2021-03-24 19:04:03 +00:00
{{/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}}
2021-03-24 19:04:03 +00:00
};
{{/each}}