Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(517)

Side by Side Diff: mojo/public/tools/bindings/generators/js_templates/interface_definition.tmpl

Issue 628763002: Mojo JS bindings: simplify mojo.connectToService() usage - Part 1 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 {%- set namespace_as_string = namespace|replace(".","::") %}
2 {%- for method in interface.methods %} 1 {%- for method in interface.methods %}
3 var k{{interface.name}}_{{method.name}}_Name = {{method.ordinal}}; 2 var k{{interface.name}}_{{method.name}}_Name = {{method.ordinal}};
4 {%- endfor %} 3 {%- endfor %}
5 4
6 function {{interface.name}}Proxy(receiver) { 5 function {{interface.name}}Proxy(receiver) {
7 this.receiver_ = receiver; 6 this.receiver_ = receiver;
8 } 7 }
9 8
10 {{interface.name}}Proxy.NAME_ = '{{namespace_as_string}}::{{interface.name}}';
11
12 {%- for method in interface.methods %} 9 {%- for method in interface.methods %}
13 {{interface.name}}Proxy.prototype.{{method.name|stylize_method}} = function( 10 {{interface.name}}Proxy.prototype.{{method.name|stylize_method}} = function(
14 {%- for parameter in method.parameters -%} 11 {%- for parameter in method.parameters -%}
15 {{parameter.name}}{% if not loop.last %}, {% endif %} 12 {{parameter.name}}{% if not loop.last %}, {% endif %}
16 {%- endfor -%} 13 {%- endfor -%}
17 ) { 14 ) {
18 var params = new {{interface.name}}_{{method.name}}_Params(); 15 var params = new {{interface.name}}_{{method.name}}_Params();
19 {%- for parameter in method.parameters %} 16 {%- for parameter in method.parameters %}
20 params.{{parameter.name}} = {{parameter.name}}; 17 params.{{parameter.name}} = {{parameter.name}};
21 {%- endfor %} 18 {%- endfor %}
(...skipping 25 matching lines...) Expand all
47 }, 44 },
48 }).catch(reject); 45 }).catch(reject);
49 }.bind(this)); 46 }.bind(this));
50 {%- endif %} 47 {%- endif %}
51 }; 48 };
52 {%- endfor %} 49 {%- endfor %}
53 50
54 function {{interface.name}}Stub() { 51 function {{interface.name}}Stub() {
55 } 52 }
56 53
57 {{interface.name}}Stub.NAME_ = '{{namespace_as_string}}::{{interface.name}}';
58
59 {{interface.name}}Stub.prototype.accept = function(message) { 54 {{interface.name}}Stub.prototype.accept = function(message) {
60 var reader = new codec.MessageReader(message); 55 var reader = new codec.MessageReader(message);
61 switch (reader.messageName) { 56 switch (reader.messageName) {
62 {%- for method in interface.methods %} 57 {%- for method in interface.methods %}
63 {%- if method.response_parameters == None %} 58 {%- if method.response_parameters == None %}
64 case k{{interface.name}}_{{method.name}}_Name: 59 case k{{interface.name}}_{{method.name}}_Name:
65 var params = reader.decodeStruct({{interface.name}}_{{method.name}}_Params ); 60 var params = reader.decodeStruct({{interface.name}}_{{method.name}}_Params );
66 this.{{method.name|stylize_method}}( 61 this.{{method.name|stylize_method}}(
67 {%- for parameter in method.parameters -%} 62 {%- for parameter in method.parameters -%}
68 params.{{parameter.name}}{% if not loop.last %}, {% endif %} 63 params.{{parameter.name}}{% if not loop.last %}, {% endif %}
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 {%- endif %} 152 {%- endif %}
158 } 153 }
159 154
160 {{interface.name}}Stub.prototype.validator = validate{{interface.name}}Request ; 155 {{interface.name}}Stub.prototype.validator = validate{{interface.name}}Request ;
161 {%- if interface|has_callbacks %} 156 {%- if interface|has_callbacks %}
162 {{interface.name}}Proxy.prototype.validator = validate{{interface.name}}Respon se; 157 {{interface.name}}Proxy.prototype.validator = validate{{interface.name}}Respon se;
163 {%- else %} 158 {%- else %}
164 {{interface.name}}Proxy.prototype.validator = null; 159 {{interface.name}}Proxy.prototype.validator = null;
165 {%- endif -%} 160 {%- endif -%}
166 161
167 {#--- Enums #} 162 {#--- Enums #}
Matt Perry 2014/10/03 22:57:49 These enums and constants can now be exported on t
hansmuller 2014/10/06 19:05:18 Good point. I've done that.
168 {% from "enum_definition.tmpl" import enum_def -%} 163 {% from "enum_definition.tmpl" import enum_def -%}
169 {% for enum in interface.enums %} 164 {% for enum in interface.enums %}
170 {{enum_def("%sProxy.%s"|format(interface.name, enum.name), enum, module)}} 165 {{enum_def("%sProxy.%s"|format(interface.name, enum.name), enum, module)}}
171 {{interface.name}}Stub.{{enum.name}} = {{interface.name}}Proxy.{{enum.name}}; 166 {{interface.name}}Stub.{{enum.name}} = {{interface.name}}Proxy.{{enum.name}};
172 {%- endfor %} 167 {%- endfor %}
173 168
174 {#--- Constants. #} 169 {#--- Constants. #}
175 {% for constant in interface.constants %} 170 {% for constant in interface.constants %}
176 {{interface.name}}Proxy.{{constant.name}} = {{constant.value|expression_to_tex t}}; 171 {{interface.name}}Proxy.{{constant.name}} = {{constant.value|expression_to_tex t}};
177 {{interface.name}}Stub.{{constant.name}} = {{interface.name}}Proxy.{{constant. name}}; 172 {{interface.name}}Stub.{{constant.name}} = {{interface.name}}Proxy.{{constant. name}};
178 {%- endfor %} 173 {%- endfor %}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698