Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / mojo / public / bindings / generators / cpp_templates / module.h.tmpl
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 {%- set header_guard = "MOJO_GENERATED_BINDINGS_%s_%s_H_"|
6         format(module_name|upper, module_name|upper) %}
7
8 #ifndef {{header_guard}}
9 #define {{header_guard}}
10
11 #include "mojo/public/bindings/array.h"
12 #include "mojo/public/bindings/interface.h"
13 #include "{{include_prefix}}{{module_name|camel_to_underscores}}_internal.h"
14 {%- for import in imports %}
15 #include "{{include_prefix}}{{import.module_name|camel_to_underscores}}.h"
16 {%- endfor %}
17
18 namespace {{namespace}} {
19
20 {#--- Enums #}
21 {%  for enum in enums %}
22 {%    include "enum_declaration.tmpl" %}
23 {%- endfor %}
24
25 {#--- Structs #}
26 {%  for struct in structs %}
27 {%    include "wrapper_class_declaration.tmpl" %}
28 {%- endfor %}
29
30 {#--- Interfaces -#}
31 {%  for interface in interfaces %}
32 {%    include "interface_declaration.tmpl" %}
33 {%- endfor %}
34
35 {#--- Interface Proxies -#}
36 {%  for interface in interfaces %}
37 {%    include "interface_proxy_declaration.tmpl" %}
38 {%- endfor %}
39
40 {#--- Interface Stubs -#}
41 {%  for interface in interfaces %}
42 {%    include "interface_stub_declaration.tmpl" %}
43 {%- endfor %}
44
45 }  // namespace {{namespace}}
46
47 #endif  // {{header_guard}}