Upstream version 5.34.92.0
[platform/framework/web/crosswalk.git] / src / mojo / public / bindings / generators / js_templates / interface_definition.tmpl
1 {%- for method in interface.methods %}
2   var k{{interface.name}}_{{method.name}}_Name = {{method.ordinal}};
3 {%- endfor %}
4
5   function {{interface.name}}Proxy(receiver) {
6     this.receiver_ = receiver;
7   }
8
9 {%- for method in interface.methods %}
10   {{interface.name}}Proxy.prototype.{{method.name|stylize_method}} = function(
11 {%- for parameter in method.parameters -%}
12 {{parameter.name}}{% if not loop.last %}, {% endif %}
13 {%- endfor %}) {
14     var params = new {{interface.name}}_{{method.name}}_Params();
15 {%- for parameter in method.parameters %}
16     params.{{parameter.name}} = {{parameter.name}};
17 {%- endfor %}
18
19     var builder = new codec.MessageBuilder(
20         k{{interface.name}}_{{method.name}}_Name,
21         codec.align({{interface.name}}_{{method.name}}_Params.encodedSize));
22     builder.encodeStruct({{interface.name}}_{{method.name}}_Params, params);
23     var message = builder.finish();
24     this.receiver_.accept(message);
25   };
26 {%- endfor %}
27
28   function {{interface.name}}Stub() {
29   }
30
31   {{interface.name}}Stub.prototype.accept = function(message) {
32     var reader = new codec.MessageReader(message);
33     switch (reader.messageName) {
34 {%- for method in interface.methods %}
35     case k{{interface.name}}_{{method.name}}_Name:
36       var params = reader.decodeStruct({{interface.name}}_{{method.name}}_Params);
37       this.{{method.name|stylize_method}}(
38 {%- for parameter in method.parameters -%}
39 params.{{parameter.name}}{% if not loop.last %}, {% endif %}
40 {%- endfor %});
41       return true;
42 {%- endfor %}
43     default:
44       return false;
45     }
46   };
47
48 {#--- Enums #}
49 {%- from "enum_definition.tmpl" import enum_def -%}
50 {%  for enum in interface.enums %}
51 {{  enum_def("%sProxy.%s"|format(interface.name, enum.name), enum)}}
52   {{interface.name}}Stub.{{enum.name}} = {{interface.name}}Proxy.{{enum.name}};
53 {%-  endfor %}