restbed.api-header.mustache Maven / Gradle / Ivy
{{>licenseInfo}}
{{#operations}}/*
* {{classname}}.h
*
* {{description}}
*/
#ifndef {{classname}}_H_
#define {{classname}}_H_
{{{defaultInclude}}}
#include
#include
#include
#include
{{#imports}}{{{import}}}
{{/imports}}
{{#apiNamespaceDeclarations}}
namespace {{this}} {
{{/apiNamespaceDeclarations}}
using namespace {{modelNamespace}};
class {{declspec}} {{classname}}: public restbed::Service
{
public:
{{classname}}();
~{{classname}}();
void startService(int const& port);
void stopService();
};
{{#operation}}
///
/// {{summary}}
///
///
/// {{notes}}
///
class {{declspec}} {{classname}}{{vendorExtensions.x-codegen-resourceName}}Resource: public restbed::Resource
{
public:
{{classname}}{{vendorExtensions.x-codegen-resourceName}}Resource();
virtual ~{{classname}}{{vendorExtensions.x-codegen-resourceName}}Resource();
void {{httpMethod}}_method_handler(const std::shared_ptr session);
{{#vendorExtensions.x-codegen-otherMethods}}
void {{httpMethod}}_method_handler(const std::shared_ptr session);
{{/vendorExtensions.x-codegen-otherMethods}}
};
{{/operation}}
{{#apiNamespaceDeclarations}}
}
{{/apiNamespaceDeclarations}}
#endif /* {{classname}}_H_ */
{{/operations}}