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

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

Issue 637373002: Mojo JS bindings: simplify mojo.connectToService() usage - Part 2 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Renamed the mojo_internals module, made Connection localFactory optional 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 {%- for method in interface.methods %} 1 {%- for method in interface.methods %}
2 var k{{interface.name}}_{{method.name}}_Name = {{method.ordinal}}; 2 var k{{interface.name}}_{{method.name}}_Name = {{method.ordinal}};
3 {%- endfor %} 3 {%- endfor %}
4 4
5 function {{interface.name}}Proxy(receiver) { 5 function {{interface.name}}Proxy(receiver) {
6 this.receiver_ = receiver; 6 this.receiver_ = receiver;
7 } 7 }
8 8
9 {%- for method in interface.methods %} 9 {%- for method in interface.methods %}
10 {{interface.name}}Proxy.prototype.{{method.name|stylize_method}} = function( 10 {{interface.name}}Proxy.prototype.{{method.name|stylize_method}} = function(
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 var message = builder.finish(); 96 var message = builder.finish();
97 responder.accept(message); 97 responder.accept(message);
98 }); 98 });
99 {%- endif %} 99 {%- endif %}
100 {%- endfor %} 100 {%- endfor %}
101 default: 101 default:
102 return Promise.reject(Error("Unhandled message: " + reader.messageName)); 102 return Promise.reject(Error("Unhandled message: " + reader.messageName));
103 } 103 }
104 }; 104 };
105 105
106 function {{interface.name}}DelegatingStub() {
107 }
108
109 {{interface.name}}DelegatingStub.prototype =
110 Object.create({{interface.name}}Stub.prototype);
111
112 {{interface.name}}DelegatingStub.prototype.callDelegateMethod$ = function(meth odName, args) {
113 var method = this.delegate$ && this.delegate$[methodName];
114 return method && method.apply(this.delegate$, args);
115 }
116
117 {%- for method in interface.methods %}
118 {%- set method_name = method.name|stylize_method %}
119 {{interface.name}}DelegatingStub.prototype.{{method_name}} = function() {
120 return this.callDelegateMethod$("{{method_name}}", arguments);
121 }
122 {%- endfor %}
123
106 {#--- Validation #} 124 {#--- Validation #}
107 125
108 function validate{{interface.name}}Request(messageValidator) { 126 function validate{{interface.name}}Request(messageValidator) {
109 {%- if not(interface.methods) %} 127 {%- if not(interface.methods) %}
110 return validator.validationError.NONE; 128 return validator.validationError.NONE;
111 {%- else %} 129 {%- else %}
112 var message = messageValidator.message; 130 var message = messageValidator.message;
113 var paramsClass = null; 131 var paramsClass = null;
114 switch (message.getName()) { 132 switch (message.getName()) {
115 {%- for method in interface.methods %} 133 {%- for method in interface.methods %}
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 if (paramsClass === null) 167 if (paramsClass === null)
150 return validator.validationError.NONE; 168 return validator.validationError.NONE;
151 return paramsClass.validate(messageValidator, messageValidator.message.getHe aderNumBytes()); 169 return paramsClass.validate(messageValidator, messageValidator.message.getHe aderNumBytes());
152 {%- endif %} 170 {%- endif %}
153 } 171 }
154 172
155 var {{interface.name}} = { 173 var {{interface.name}} = {
156 name: '{{namespace|replace(".","::")}}::{{interface.name}}', 174 name: '{{namespace|replace(".","::")}}::{{interface.name}}',
157 proxyClass: {{interface.name}}Proxy, 175 proxyClass: {{interface.name}}Proxy,
158 stubClass: {{interface.name}}Stub, 176 stubClass: {{interface.name}}Stub,
177 delegatingStubClass: {{interface.name}}DelegatingStub,
159 validateRequest: validate{{interface.name}}Request, 178 validateRequest: validate{{interface.name}}Request,
160 {%- if interface|has_callbacks %} 179 {%- if interface|has_callbacks %}
161 validateResponse: validate{{interface.name}}Response, 180 validateResponse: validate{{interface.name}}Response,
162 {%- else %} 181 {%- else %}
163 validateResponse: null, 182 validateResponse: null,
164 {%- endif %} 183 {%- endif %}
165 }; 184 };
166 {#--- Interface Constants #} 185 {#--- Interface Constants #}
167 {%- for constant in interface.constants %} 186 {%- for constant in interface.constants %}
168 {{interface.name}}.{{constant.name}} = {{constant.value|expression_to_text}}, 187 {{interface.name}}.{{constant.name}} = {{constant.value|expression_to_text}},
169 {%- endfor %} 188 {%- endfor %}
170 {#--- Interface Enums #} 189 {#--- Interface Enums #}
171 {%- from "enum_definition.tmpl" import enum_def -%} 190 {%- from "enum_definition.tmpl" import enum_def -%}
172 {%- for enum in interface.enums %} 191 {%- for enum in interface.enums %}
173 {{ enum_def("%s.%s"|format(interface.name, enum.name), enum) }} 192 {{ enum_def("%s.%s"|format(interface.name, enum.name), enum) }}
174 {%- endfor %} 193 {%- endfor %}
175 {{interface.name}}Stub.prototype.validator = validate{{interface.name}}Request ; 194 {{interface.name}}Stub.prototype.validator = validate{{interface.name}}Request ;
176 {%- if interface|has_callbacks %} 195 {%- if interface|has_callbacks %}
177 {{interface.name}}Proxy.prototype.validator = validate{{interface.name}}Respon se; 196 {{interface.name}}Proxy.prototype.validator = validate{{interface.name}}Respon se;
178 {%- else %} 197 {%- else %}
179 {{interface.name}}Proxy.prototype.validator = null; 198 {{interface.name}}Proxy.prototype.validator = null;
180 {%- endif %} 199 {%- endif %}
OLDNEW
« no previous file with comments | « mojo/public/js/bindings/connection.js ('k') | mojo/public/tools/bindings/generators/js_templates/module.js.tmpl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698