Upstream version 7.35.144.0
[platform/framework/web/crosswalk.git] / src / mojo / public / bindings / generators / js_templates / module.js.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 define("{{module.path}}", [
6     "mojo/bindings/js/core",
7     "mojo/public/bindings/js/codec",
8 {%- for import in imports %}
9     "{{import.module.path}}",
10 {%- endfor %}
11   ], function(core, codec
12 {%- for import in imports -%}
13     , {{import.unique_name}}
14 {%- endfor -%}
15 ) {
16
17 {#--- Enums #}
18 {%  from "enum_definition.tmpl" import enum_def -%}
19 {%  for enum in enums %}
20   var {{ enum_def(enum.name, enum, module) }}
21 {%-  endfor %}
22
23 {#--- Struct definitions #}
24 {%  for struct in structs %}
25 {%-   include "struct_definition.tmpl" %}
26 {%- endfor %}
27
28 {#--- Interface definitions #}
29 {%- for interface in interfaces %}
30 {%-   include "interface_definition.tmpl" %}
31 {%- endfor %}
32
33   var exports = {};
34 {%- for enum in enums %}
35   exports.{{enum.name}} = {{enum.name}};
36 {%- endfor %}
37 {%- for struct in structs if struct.exported %}
38   exports.{{struct.name}} = {{struct.name}};
39 {%- endfor %}
40 {%- for interface in interfaces %}
41   exports.{{interface.name}}Proxy = {{interface.name}}Proxy;
42   exports.{{interface.name}}Stub = {{interface.name}}Stub;
43 {%- endfor %}
44   return exports;
45 });