47d741b314150d86070404bb1baae72d8d515d9b
[platform/framework/web/crosswalk.git] / src / mojo / public / bindings / generators / cpp_templates / interface_declaration.tmpl
1 class {{interface.name}}Proxy;
2 class {{interface.name}}Stub;
3 class {{interface.peer}};
4
5 class {{interface.name}} {
6  public:
7   typedef {{interface.name}}Proxy _Proxy;
8   typedef {{interface.name}}Stub _Stub;
9   typedef {{interface.peer}} _Peer;
10
11 {#--- Enums #}
12 {%- for enum in interface.enums %}
13 {%    macro enum_def() %}{% include "enum_declaration.tmpl" %}{% endmacro %}
14   {{enum_def()|indent(2)}}
15 {%- endfor %}
16
17 {#--- Methods #}
18 {%  for method in interface.methods %}
19   virtual void {{method.name}}(
20 {%-   for param in method.parameters -%}
21     {{param.kind|cpp_const_wrapper_type}} {{param.name}}
22 {%-     if not loop.last %}, {% endif -%}
23 {%-   endfor -%}
24   ) = 0;
25 {%- endfor %}
26 };