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

Unified 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 side-by-side diff with in-line comments
Download patch
Index: mojo/public/tools/bindings/generators/dart_templates/interface_definition.tmpl
diff --git a/mojo/public/tools/bindings/generators/dart_templates/interface_definition.tmpl b/mojo/public/tools/bindings/generators/dart_templates/interface_definition.tmpl
index d1713fd5159cd7be49bb68ffa8863ee593eb80f1..a44dc8b7cc4a4622de2f79c317ba949e594df64f 100644
--- a/mojo/public/tools/bindings/generators/dart_templates/interface_definition.tmpl
+++ b/mojo/public/tools/bindings/generators/dart_templates/interface_definition.tmpl
@@ -62,9 +62,9 @@ abstract class {{interface|name}} {
{%- endfor %}
}
-
-class _{{interface|name}}ProxyControl extends bindings.ProxyMessageHandler
- implements bindings.ProxyControl {
+class _{{interface|name}}ProxyControl
+ extends bindings.ProxyMessageHandler
+ implements bindings.ProxyControl {
_{{interface|name}}ProxyControl.fromEndpoint(
core.MojoMessagePipeEndpoint endpoint) : super.fromEndpoint(endpoint);
@@ -78,7 +78,6 @@ class _{{interface|name}}ProxyControl extends bindings.ProxyMessageHandler
String get serviceName => {{interface|name}}.serviceName;
- @override
void handleResponse(bindings.ServiceMessage message) {
switch (message.header.type) {
{%- for method in interface.methods %}
@@ -120,9 +119,9 @@ class _{{interface|name}}ProxyControl extends bindings.ProxyMessageHandler
}
}
-
-class {{interface|name}}Proxy extends bindings.Proxy
- implements {{interface|name}} {
+class {{interface|name}}Proxy
+ extends bindings.Proxy
+ implements {{interface|name}} {
{{interface|name}}Proxy.fromEndpoint(
core.MojoMessagePipeEndpoint endpoint)
: super(new _{{interface|name}}ProxyControl.fromEndpoint(endpoint));
@@ -186,29 +185,24 @@ class {{interface|name}}Proxy extends bindings.Proxy
{%- endfor %}
}
-
-class {{interface|name}}Stub extends bindings.Stub {
+class _{{interface|name}}StubControl
+ extends bindings.StubMessageHandler
+ implements bindings.StubControl<{{interface|name}}> {
{{interface|name}} _impl;
- {{interface|name}}Stub.fromEndpoint(
+ _{{interface|name}}StubControl.fromEndpoint(
core.MojoMessagePipeEndpoint endpoint, [{{interface|name}} impl])
: super.fromEndpoint(endpoint, autoBegin: impl != null) {
_impl = impl;
}
- {{interface|name}}Stub.fromHandle(
+ _{{interface|name}}StubControl.fromHandle(
core.MojoHandle handle, [{{interface|name}} impl])
: super.fromHandle(handle, autoBegin: impl != null) {
_impl = impl;
}
- {{interface|name}}Stub.unbound([this._impl]) : super.unbound();
-
- static {{interface|name}}Stub newFromEndpoint(
- core.MojoMessagePipeEndpoint endpoint) {
- assert(endpoint.setDescription("For {{interface|name}}Stub"));
- return new {{interface|name}}Stub.fromEndpoint(endpoint);
- }
+ _{{interface|name}}StubControl.unbound([this._impl]) : super.unbound();
{% for method in interface.methods %}
{%- if method.response_parameters != None %}
@@ -303,9 +297,10 @@ class {{interface|name}}Stub extends bindings.Stub {
}
}
+ @override
String toString() {
var superString = super.toString();
- return "{{interface|name}}Stub($superString)";
+ return "_{{interface|name}}StubControl($superString)";
}
int get version => {{interface.version}};
@@ -318,3 +313,55 @@ class {{interface|name}}Stub extends bindings.Stub {
return _cachedServiceDescription;
}
}
+
+class {{interface|name}}Stub
+ extends bindings.Stub<{{interface|name}}>
+ implements {{interface|name}} {
+ {{interface|name}}Stub.fromEndpoint(
+ core.MojoMessagePipeEndpoint endpoint, [{{interface|name}} impl])
+ : super(new _{{interface|name}}StubControl.fromEndpoint(endpoint, impl));
+
+ {{interface|name}}Stub.fromHandle(
+ core.MojoHandle handle, [{{interface|name}} impl])
+ : super(new _{{interface|name}}StubControl.fromHandle(handle, impl));
+
+ {{interface|name}}Stub.unbound([{{interface|name}} impl])
+ : super(new _{{interface|name}}StubControl.unbound(impl));
+
+ static {{interface|name}}Stub newFromEndpoint(
+ core.MojoMessagePipeEndpoint endpoint) {
+ assert(endpoint.setDescription("For {{interface|name}}Stub"));
+ return new {{interface|name}}Stub.fromEndpoint(endpoint);
+ }
+
+ static {{descpkg}}ServiceDescription get serviceDescription =>
+ _{{interface|name}}StubControl.serviceDescription;
+
+{% for method in interface.methods %}
+{%- if method.response_parameters == None %}
+ void {{method|name}}(
+{%- for parameter in method.parameters -%}
+ {{parameter.kind|dart_type}} {{parameter|name}}{% if not loop.last %}, {% endif %}
+{%- endfor -%}
+ ) {
+ return impl.{{method|name}}(
+{%- for parameter in method.parameters -%}
+ {{parameter|name}}{% if not loop.last %}, {% endif %}
+{%- endfor -%}
+ );
+ }
+{%- else %}
+ dynamic {{method|name}}(
+{%- for parameter in method.parameters -%}
+ {{parameter.kind|dart_type}} {{parameter|name}},
+{%- endfor -%}
+ [Function responseFactory = null]) {
+ return impl.{{method|name}}(
+{%- for parameter in method.parameters -%}
+ {{parameter|name}},
+{%- endfor -%}
+ responseFactory);
+ }
+{%- endif %}
+{%- endfor %}
+}
« 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