blob: b213ac2abab31109ed195c29c89a912451858249 [file] [log] [blame]
{%- import "interface_macros.tmpl" as interface_macros %}
class {{interface.name}}Proxy;
class {{interface.name}}Stub;
class {{interface.name}}_Synchronous;
class {{interface.name}}RequestValidator;
{%- if interface|has_callbacks %}
class {{interface.name}}ResponseValidator;
{%- endif %}
class {{interface.name}} : public internal::{{interface.name}}_Base {
public:
virtual ~{{interface.name}}() override {}
using Proxy_ = {{interface.name}}Proxy;
using Stub_ = {{interface.name}}Stub;
{%- for method in interface.methods %}
{%- if method.response_parameters != None %}
using {{method.name}}Callback = {{interface_macros.declare_callback(method)}};
{%- endif %}
virtual void {{method.name}}({{interface_macros.declare_request_params("", method)}}) = 0;
{%- endfor %}
};