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

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

Issue 1983453002: Dart: Refactor Stubs (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Merge Created 4 years, 7 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 const int _{{interface|name|lower_camel}}Method{{method|name|upper_camel}}Name = {{method.ordinal}}; 2 const int _{{interface|name|lower_camel}}Method{{method|name|upper_camel}}Name = {{method.ordinal}};
3 {%- endfor %} 3 {%- endfor %}
4 4
5 {#--- Interface Enums #} 5 {#--- Interface Enums #}
6 {%- from "enum_definition.tmpl" import enum_def -%} 6 {%- from "enum_definition.tmpl" import enum_def -%}
7 {%- for enum in interface.enums %} 7 {%- for enum in interface.enums %}
8 {{ enum_def(enum, typepkg, package) }} 8 {{ enum_def(enum, typepkg, package) }}
9 {%- endfor %} 9 {%- endfor %}
10 10
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 [Function responseFactory = null]); 55 [Function responseFactory = null]);
56 {%- endif %} 56 {%- endif %}
57 {%- endfor %} 57 {%- endfor %}
58 58
59 {#--- Interface Constants #} 59 {#--- Interface Constants #}
60 {%- for constant in interface.constants %} 60 {%- for constant in interface.constants %}
61 static const {{constant.kind|dart_type}} {{constant|name}} = {{constant.resolv ed_value}}; 61 static const {{constant.kind|dart_type}} {{constant|name}} = {{constant.resolv ed_value}};
62 {%- endfor %} 62 {%- endfor %}
63 } 63 }
64 64
65 65 class _{{interface|name}}ProxyControl
66 class _{{interface|name}}ProxyControl extends bindings.ProxyMessageHandler 66 extends bindings.ProxyMessageHandler
67 implements bindings.ProxyControl { 67 implements bindings.ProxyControl {
68 _{{interface|name}}ProxyControl.fromEndpoint( 68 _{{interface|name}}ProxyControl.fromEndpoint(
69 core.MojoMessagePipeEndpoint endpoint) : super.fromEndpoint(endpoint); 69 core.MojoMessagePipeEndpoint endpoint) : super.fromEndpoint(endpoint);
70 70
71 _{{interface|name}}ProxyControl.fromHandle( 71 _{{interface|name}}ProxyControl.fromHandle(
72 core.MojoHandle handle) : super.fromHandle(handle); 72 core.MojoHandle handle) : super.fromHandle(handle);
73 73
74 _{{interface|name}}ProxyControl.unbound() : super.unbound(); 74 _{{interface|name}}ProxyControl.unbound() : super.unbound();
75 75
76 {{descpkg}}ServiceDescription get serviceDescription => 76 {{descpkg}}ServiceDescription get serviceDescription =>
77 new _{{interface|name}}ServiceDescription(); 77 new _{{interface|name}}ServiceDescription();
78 78
79 String get serviceName => {{interface|name}}.serviceName; 79 String get serviceName => {{interface|name}}.serviceName;
80 80
81 @override
82 void handleResponse(bindings.ServiceMessage message) { 81 void handleResponse(bindings.ServiceMessage message) {
83 switch (message.header.type) { 82 switch (message.header.type) {
84 {%- for method in interface.methods %} 83 {%- for method in interface.methods %}
85 {%- if method.response_parameters != None %} 84 {%- if method.response_parameters != None %}
86 {%- set response_struct = method.response_param_struct %} 85 {%- set response_struct = method.response_param_struct %}
87 case _{{interface|name|lower_camel}}Method{{method|name|upper_camel}}Name: 86 case _{{interface|name|lower_camel}}Method{{method|name|upper_camel}}Name:
88 var r = {{response_struct|name}}.deserialize( 87 var r = {{response_struct|name}}.deserialize(
89 message.payload); 88 message.payload);
90 if (!message.header.hasRequestId) { 89 if (!message.header.hasRequestId) {
91 proxyError("Expected a message with a valid request Id."); 90 proxyError("Expected a message with a valid request Id.");
(...skipping 21 matching lines...) Expand all
113 } 112 }
114 } 113 }
115 114
116 @override 115 @override
117 String toString() { 116 String toString() {
118 var superString = super.toString(); 117 var superString = super.toString();
119 return "_{{interface|name}}ProxyControl($superString)"; 118 return "_{{interface|name}}ProxyControl($superString)";
120 } 119 }
121 } 120 }
122 121
123 122 class {{interface|name}}Proxy
124 class {{interface|name}}Proxy extends bindings.Proxy 123 extends bindings.Proxy
125 implements {{interface|name}} { 124 implements {{interface|name}} {
126 {{interface|name}}Proxy.fromEndpoint( 125 {{interface|name}}Proxy.fromEndpoint(
127 core.MojoMessagePipeEndpoint endpoint) 126 core.MojoMessagePipeEndpoint endpoint)
128 : super(new _{{interface|name}}ProxyControl.fromEndpoint(endpoint)); 127 : super(new _{{interface|name}}ProxyControl.fromEndpoint(endpoint));
129 128
130 {{interface|name}}Proxy.fromHandle(core.MojoHandle handle) 129 {{interface|name}}Proxy.fromHandle(core.MojoHandle handle)
131 : super(new _{{interface|name}}ProxyControl.fromHandle(handle)); 130 : super(new _{{interface|name}}ProxyControl.fromHandle(handle));
132 131
133 {{interface|name}}Proxy.unbound() 132 {{interface|name}}Proxy.unbound()
134 : super(new _{{interface|name}}ProxyControl.unbound()); 133 : super(new _{{interface|name}}ProxyControl.unbound());
135 134
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 return ctrl.sendMessageWithRequestId( 178 return ctrl.sendMessageWithRequestId(
180 params, 179 params,
181 _{{interface|name|lower_camel}}Method{{method|name|upper_camel}}Name, 180 _{{interface|name|lower_camel}}Method{{method|name|upper_camel}}Name,
182 -1, 181 -1,
183 bindings.MessageHeader.kMessageExpectsResponse); 182 bindings.MessageHeader.kMessageExpectsResponse);
184 } 183 }
185 {%- endif %} 184 {%- endif %}
186 {%- endfor %} 185 {%- endfor %}
187 } 186 }
188 187
189 188 class _{{interface|name}}StubControl
190 class {{interface|name}}Stub extends bindings.Stub { 189 extends bindings.StubMessageHandler
190 implements bindings.StubControl<{{interface|name}}> {
191 {{interface|name}} _impl; 191 {{interface|name}} _impl;
192 192
193 {{interface|name}}Stub.fromEndpoint( 193 _{{interface|name}}StubControl.fromEndpoint(
194 core.MojoMessagePipeEndpoint endpoint, [{{interface|name}} impl]) 194 core.MojoMessagePipeEndpoint endpoint, [{{interface|name}} impl])
195 : super.fromEndpoint(endpoint, autoBegin: impl != null) { 195 : super.fromEndpoint(endpoint, autoBegin: impl != null) {
196 _impl = impl; 196 _impl = impl;
197 } 197 }
198 198
199 {{interface|name}}Stub.fromHandle( 199 _{{interface|name}}StubControl.fromHandle(
200 core.MojoHandle handle, [{{interface|name}} impl]) 200 core.MojoHandle handle, [{{interface|name}} impl])
201 : super.fromHandle(handle, autoBegin: impl != null) { 201 : super.fromHandle(handle, autoBegin: impl != null) {
202 _impl = impl; 202 _impl = impl;
203 } 203 }
204 204
205 {{interface|name}}Stub.unbound([this._impl]) : super.unbound(); 205 _{{interface|name}}StubControl.unbound([this._impl]) : super.unbound();
206
207 static {{interface|name}}Stub newFromEndpoint(
208 core.MojoMessagePipeEndpoint endpoint) {
209 assert(endpoint.setDescription("For {{interface|name}}Stub"));
210 return new {{interface|name}}Stub.fromEndpoint(endpoint);
211 }
212 206
213 {% for method in interface.methods %} 207 {% for method in interface.methods %}
214 {%- if method.response_parameters != None %} 208 {%- if method.response_parameters != None %}
215 {%- set response_struct = method.response_param_struct %} 209 {%- set response_struct = method.response_param_struct %}
216 {{response_struct|name}} _{{response_struct|name|lower_camel}}Factory( 210 {{response_struct|name}} _{{response_struct|name|lower_camel}}Factory(
217 {%- for param in method.response_parameters -%} 211 {%- for param in method.response_parameters -%}
218 {{param.kind|dart_type}} {{param|name}}{% if not loop.last %}, {% endif %} 212 {{param.kind|dart_type}} {{param|name}}{% if not loop.last %}, {% endif %}
219 {%- endfor -%} 213 {%- endfor -%}
220 ) { 214 ) {
221 var result = new {{response_struct|name}}(); 215 var result = new {{response_struct|name}}();
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
296 } 290 }
297 291
298 @override 292 @override
299 void bind(core.MojoMessagePipeEndpoint endpoint) { 293 void bind(core.MojoMessagePipeEndpoint endpoint) {
300 super.bind(endpoint); 294 super.bind(endpoint);
301 if (!isOpen && (_impl != null)) { 295 if (!isOpen && (_impl != null)) {
302 beginHandlingEvents(); 296 beginHandlingEvents();
303 } 297 }
304 } 298 }
305 299
300 @override
306 String toString() { 301 String toString() {
307 var superString = super.toString(); 302 var superString = super.toString();
308 return "{{interface|name}}Stub($superString)"; 303 return "_{{interface|name}}StubControl($superString)";
309 } 304 }
310 305
311 int get version => {{interface.version}}; 306 int get version => {{interface.version}};
312 307
313 static {{descpkg}}ServiceDescription _cachedServiceDescription; 308 static {{descpkg}}ServiceDescription _cachedServiceDescription;
314 static {{descpkg}}ServiceDescription get serviceDescription { 309 static {{descpkg}}ServiceDescription get serviceDescription {
315 if (_cachedServiceDescription == null) { 310 if (_cachedServiceDescription == null) {
316 _cachedServiceDescription = new _{{interface|name}}ServiceDescription(); 311 _cachedServiceDescription = new _{{interface|name}}ServiceDescription();
317 } 312 }
318 return _cachedServiceDescription; 313 return _cachedServiceDescription;
319 } 314 }
320 } 315 }
316
317 class {{interface|name}}Stub
318 extends bindings.Stub<{{interface|name}}>
319 implements {{interface|name}} {
320 {{interface|name}}Stub.fromEndpoint(
321 core.MojoMessagePipeEndpoint endpoint, [{{interface|name}} impl])
322 : super(new _{{interface|name}}StubControl.fromEndpoint(endpoint, impl));
323
324 {{interface|name}}Stub.fromHandle(
325 core.MojoHandle handle, [{{interface|name}} impl])
326 : super(new _{{interface|name}}StubControl.fromHandle(handle, impl));
327
328 {{interface|name}}Stub.unbound([{{interface|name}} impl])
329 : super(new _{{interface|name}}StubControl.unbound(impl));
330
331 static {{interface|name}}Stub newFromEndpoint(
332 core.MojoMessagePipeEndpoint endpoint) {
333 assert(endpoint.setDescription("For {{interface|name}}Stub"));
334 return new {{interface|name}}Stub.fromEndpoint(endpoint);
335 }
336
337 static {{descpkg}}ServiceDescription get serviceDescription =>
338 _{{interface|name}}StubControl.serviceDescription;
339
340 {% for method in interface.methods %}
341 {%- if method.response_parameters == None %}
342 void {{method|name}}(
343 {%- for parameter in method.parameters -%}
344 {{parameter.kind|dart_type}} {{parameter|name}}{% if not loop.last %}, {% en dif %}
345 {%- endfor -%}
346 ) {
347 return impl.{{method|name}}(
348 {%- for parameter in method.parameters -%}
349 {{parameter|name}}{% if not loop.last %}, {% endif %}
350 {%- endfor -%}
351 );
352 }
353 {%- else %}
354 dynamic {{method|name}}(
355 {%- for parameter in method.parameters -%}
356 {{parameter.kind|dart_type}} {{parameter|name}},
357 {%- endfor -%}
358 [Function responseFactory = null]) {
359 return impl.{{method|name}}(
360 {%- for parameter in method.parameters -%}
361 {{parameter|name}},
362 {%- endfor -%}
363 responseFactory);
364 }
365 {%- endif %}
366 {%- endfor %}
367 }
OLDNEW
« no previous file with comments | « mojo/dart/unittests/embedder_tests/validation_test.dart ('k') | mojo/public/tools/bindings/generators/mojom_dart_generator.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698