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

Unified Diff: third_party/mojo/src/mojo/public/tools/bindings/generators/dart_templates/interface_definition.tmpl

Issue 975973002: Update mojo sdk to rev f68e697e389943cd9bf9652397312280e96b127a (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: shake fist at msvc Created 5 years, 10 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: third_party/mojo/src/mojo/public/tools/bindings/generators/dart_templates/interface_definition.tmpl
diff --git a/third_party/mojo/src/mojo/public/tools/bindings/generators/dart_templates/interface_definition.tmpl b/third_party/mojo/src/mojo/public/tools/bindings/generators/dart_templates/interface_definition.tmpl
index f8f92dc992e6f4598c06f34fefaa9d12b1561945..cbd39ef51c051574d0a550745bd6babeff920c7a 100644
--- a/third_party/mojo/src/mojo/public/tools/bindings/generators/dart_templates/interface_definition.tmpl
+++ b/third_party/mojo/src/mojo/public/tools/bindings/generators/dart_templates/interface_definition.tmpl
@@ -2,30 +2,10 @@
const int k{{interface|name}}_{{method|name}}_name = {{method.ordinal}};
{%- endfor %}
-abstract class {{interface|name}} implements core.Listener {
- static const String name = '{{namespace|replace(".","::")}}::{{interface|name}}';
- {{interface|name}}Stub stub;
-
- {{interface|name}}(core.MojoMessagePipeEndpoint endpoint) :
- stub = new {{interface|name}}Stub(endpoint);
-
- {{interface|name}}.fromHandle(core.MojoHandle handle) :
- stub = new {{interface|name}}Stub.fromHandle(handle);
-
- {{interface|name}}.fromStub(this.stub);
-
- {{interface|name}}.unbound() :
- stub = new {{interface|name}}Stub.unbound();
-
- void close({bool nodefer : false}) => stub.close(nodefer: nodefer);
-
- StreamSubscription<int> listen() => stub.listen();
-
- {{interface|name}} get delegate => stub.delegate;
- set delegate({{interface|name}} d) {
- stub.delegate = d;
- }
+const String {{interface|name}}Name =
+ '{{namespace|replace(".","::")}}::{{interface|name}}';
+abstract class {{interface|name}} {
{%- for method in interface.methods %}
{%- if method.response_parameters == None %}
void {{method|name}}(
@@ -43,13 +23,11 @@ abstract class {{interface|name}} implements core.Listener {
{%- endif %}
{%- endfor %}
-
{#--- Interface Constants #}
{% for constant in interface.constants %}
static final {{constant|name}} = {{constant.value|expression_to_text}};
{%- endfor %}
-
{#--- Interface Enums #}
{%- from "enum_definition.tmpl" import enum_def -%}
{%- for enum in interface.enums %}
@@ -57,19 +35,21 @@ abstract class {{interface|name}} implements core.Listener {
{%- endfor %}
}
-class {{interface|name}}Proxy extends bindings.Proxy implements {{interface|name}} {
- {{interface|name}}Proxy(core.MojoMessagePipeEndpoint endpoint) : super(endpoint);
- {{interface|name}}Proxy.fromHandle(core.MojoHandle handle) :
- super.fromHandle(handle);
+class {{interface|name}}ProxyImpl extends bindings.Proxy {
+ {{interface|name}}ProxyImpl.fromEndpoint(
+ core.MojoMessagePipeEndpoint endpoint) : super(endpoint);
- {{interface|name}}Proxy.unbound() : super.unbound();
+ {{interface|name}}ProxyImpl.fromHandle(core.MojoHandle handle) :
+ super.fromHandle(handle);
- String get name => {{interface|name}}.name;
+ {{interface|name}}ProxyImpl.unbound() : super.unbound();
- static {{interface|name}}Proxy newFromEndpoint(
+ static {{interface|name}}ProxyImpl newFromEndpoint(
core.MojoMessagePipeEndpoint endpoint) =>
- new {{interface|name}}Proxy(endpoint);
+ new {{interface|name}}ProxyImpl.fromEndpoint(endpoint);
+
+ String get name => {{interface|name}}Name;
void handleResponse(bindings.ServiceMessage message) {
switch (message.header.type) {
@@ -93,47 +73,89 @@ class {{interface|name}}Proxy extends bindings.Proxy implements {{interface|name
break;
}
}
+}
-{%- 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 -%}
-{%- set request_struct = method|struct_from_method -%}
- ) {
- var params = new {{request_struct|name}}();
-{%- for parameter in method.parameters %}
- params.{{parameter|name}} = {{parameter|name}};
-{%- endfor %}
- sendMessage(params, k{{interface|name}}_{{method|name}}_name);
+
+class _{{interface|name}}ProxyCalls implements {{interface|name}} {
+ {{interface|name}}ProxyImpl _proxyImpl;
+
+ _{{interface|name}}ProxyCalls(this._proxyImpl);
+
+ {%- 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 -%}
+ {%- set request_struct = method|struct_from_method -%}
+ ) {
+ var params = new {{request_struct|name}}();
+ {%- for parameter in method.parameters %}
+ params.{{parameter|name}} = {{parameter|name}};
+ {%- endfor %}
+ _proxyImpl.sendMessage(params, k{{interface|name}}_{{method|name}}_name);
+ }
+ {% else %}
+ {%- set response_struct = method|response_struct_from_method %}
+ {%- set request_struct = method|struct_from_method %}
+ Future<{{response_struct|name}}> {{method|name}}(
+ {%- for parameter in method.parameters -%}
+ {{parameter.kind|dart_type}} {{parameter|name}},
+ {%- endfor -%}
+ [Function responseFactory = null]) {
+ var params = new {{request_struct|name}}();
+ {%- for parameter in method.parameters %}
+ params.{{parameter|name}} = {{parameter|name}};
+ {%- endfor %}
+ return _proxyImpl.sendMessageWithRequestId(
+ params,
+ k{{interface|name}}_{{method|name}}_name,
+ -1,
+ bindings.MessageHeader.kMessageExpectsResponse);
+ }
+ {%- endif %}
+ {%- endfor %}
+}
+
+
+class {{interface|name}}Proxy implements bindings.ProxyBase {
+ final bindings.Proxy impl;
+ {{interface|name}} ptr;
+ final String name = {{interface|name}}Name;
+
+ {{interface|name}}Proxy({{interface|name}}ProxyImpl proxyImpl) :
+ impl = proxyImpl,
+ ptr = new _{{interface|name}}ProxyCalls(proxyImpl);
+
+ {{interface|name}}Proxy.fromEndpoint(
+ core.MojoMessagePipeEndpoint endpoint) :
+ impl = new {{interface|name}}ProxyImpl.fromEndpoint(endpoint) {
+ ptr = new _{{interface|name}}ProxyCalls(impl);
}
-{% else %}
-{%- set response_struct = method|response_struct_from_method %}
-{%- set request_struct = method|struct_from_method %}
- Future<{{response_struct|name}}> {{method|name}}(
-{%- for parameter in method.parameters -%}
- {{parameter.kind|dart_type}} {{parameter|name}},
-{%- endfor -%}
- [Function responseFactory = null]) {
- var params = new {{request_struct|name}}();
-{%- for parameter in method.parameters %}
- params.{{parameter|name}} = {{parameter|name}};
-{%- endfor %}
- return sendMessageWithRequestId(
- params,
- k{{interface|name}}_{{method|name}}_name,
- -1,
- bindings.MessageHeader.kMessageExpectsResponse);
+
+ {{interface|name}}Proxy.fromHandle(core.MojoHandle handle) :
+ impl = new {{interface|name}}ProxyImpl.fromHandle(handle) {
+ ptr = new _{{interface|name}}ProxyCalls(impl);
}
-{%- endif %}
-{%- endfor %}
+
+ {{interface|name}}Proxy.unbound() :
+ impl = new {{interface|name}}ProxyImpl.unbound() {
+ ptr = new _{{interface|name}}ProxyCalls(impl);
+ }
+
+ static {{interface|name}}Proxy newFromEndpoint(
+ core.MojoMessagePipeEndpoint endpoint) =>
+ new {{interface|name}}Proxy.fromEndpoint(endpoint);
+
+ void close() => impl.close();
}
+
class {{interface|name}}Stub extends bindings.Stub {
{{interface|name}} _delegate = null;
- {{interface|name}}Stub(core.MojoMessagePipeEndpoint endpoint) : super(endpoint);
+ {{interface|name}}Stub.fromEndpoint(core.MojoMessagePipeEndpoint endpoint) :
+ super(endpoint);
{{interface|name}}Stub.fromHandle(core.MojoHandle handle) :
super.fromHandle(handle);
@@ -142,9 +164,9 @@ class {{interface|name}}Stub extends bindings.Stub {
static {{interface|name}}Stub newFromEndpoint(
core.MojoMessagePipeEndpoint endpoint) =>
- new {{interface|name}}Stub(endpoint);
+ new {{interface|name}}Stub.fromEndpoint(endpoint);
- static const String name = {{interface|name}}.name;
+ static const String name = {{interface|name}}Name;
{% for method in interface.methods %}
{%- if method.response_parameters != None %}
@@ -208,8 +230,3 @@ class {{interface|name}}Stub extends bindings.Stub {
_delegate = d;
}
}
-
-
-{#--- TODO(zra): Validation #}
-
-

Powered by Google App Engine
This is Rietveld 408576698