| 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 ddc1de801e1789f7f6e029f8d7967e9207c7d4dd..a21eb432c074b8425d06dbe813d23b4c5309b656 100644
|
| --- a/mojo/public/tools/bindings/generators/dart_templates/interface_definition.tmpl
|
| +++ b/mojo/public/tools/bindings/generators/dart_templates/interface_definition.tmpl
|
| @@ -2,13 +2,14 @@
|
| const int k{{interface.name}}_{{method.name}}_name = {{method.ordinal}};
|
| {%- endfor %}
|
|
|
| -
|
| -class {{interface.name}}Client extends bindings.Client {
|
| - {{interface.name}}Client(core.MojoMessagePipeEndpoint endpoint) : super(endpoint);
|
| +abstract class {{interface.name}}Calls {
|
| + void enqueueMessage(Type t, int name, Object msg);
|
| + Future enqueueMessageWithRequestID(Type t, int name, int id, Object msg);
|
| + bool get isOpen;
|
|
|
| {%- for method in interface.methods %}
|
| {%- if method.response_parameters == None %}
|
| - void {{method.name|stylize_method}}(
|
| + void call{{method.name}}(
|
| {%- for parameter in method.parameters -%}
|
| {{parameter.kind|dart_decl_type}} {{parameter.name}}{% if not loop.last %}, {% endif %}
|
| {%- endfor -%}
|
| @@ -23,7 +24,7 @@ class {{interface.name}}Client extends bindings.Client {
|
| params);
|
| }
|
| {% else %}
|
| - Future<{{interface.name}}_{{method.name}}_ResponseParams> {{method.name|stylize_method}}(
|
| + Future<{{interface.name}}_{{method.name}}_ResponseParams> call{{method.name}}(
|
| {%- for parameter in method.parameters -%}
|
| {{parameter.kind|dart_decl_type}} {{parameter.name}}{% if not loop.last %}, {% endif %}
|
| {%- endfor -%}
|
| @@ -36,11 +37,16 @@ class {{interface.name}}Client extends bindings.Client {
|
| return enqueueMessageWithRequestID(
|
| {{interface.name}}_{{method.name}}_Params,
|
| k{{interface.name}}_{{method.name}}_name,
|
| + 0,
|
| bindings.kMessageExpectsResponse,
|
| params);
|
| }
|
| {%- endif %}
|
| {%- endfor %}
|
| +}
|
| +
|
| +class {{interface.name}}Client extends bindings.Client with {{interface.name}}Calls {
|
| + {{interface.name}}Client(core.MojoMessagePipeEndpoint endpoint) : super(endpoint);
|
|
|
| void handleResponse(bindings.MessageReader reader) {
|
| switch (reader.name) {
|
| @@ -61,22 +67,45 @@ class {{interface.name}}Client extends bindings.Client {
|
| }
|
|
|
|
|
| -class {{interface.name}}Interface extends bindings.Interface {
|
| +abstract class {{interface.name}}Interface extends bindings.Interface
|
| +{% if interface.client != None -%}
|
| +with {{imported_from[interface.client]}}{{interface.client}}Calls
|
| +{% endif -%} {
|
| {{interface.name}}Interface(core.MojoMessagePipeEndpoint endpoint) : super(endpoint);
|
|
|
| - bindings.Message handleMessage(bindings.MessageReader reader,
|
| - Function messageHandler) {
|
| +{% for method in interface.methods %}
|
| +{%- if method.response_parameters == None %}
|
| + void {{method.name|stylize_method}}(
|
| + {%- for parameter in method.parameters -%}
|
| + {{parameter.kind|dart_decl_type}} {{parameter.name}}{% if not loop.last %}, {% endif %}
|
| + {%- endfor -%}
|
| + );
|
| +{%- else %}
|
| + {{interface.name}}_{{method.name}}_ResponseParams {{method.name|stylize_method}}(
|
| + {%- for parameter in method.parameters -%}
|
| + {{parameter.kind|dart_decl_type}} {{parameter.name}}{% if not loop.last %}, {% endif %}
|
| + {%- endfor -%}
|
| + );
|
| +{%- endif %}
|
| +{%- endfor %}
|
| +
|
| + bindings.Message handleMessage(bindings.MessageReader reader) {
|
| switch (reader.name) {
|
| {%- for method in interface.methods %}
|
| case k{{interface.name}}_{{method.name}}_name:
|
| var params = reader.decodeStruct({{interface.name}}_{{method.name}}_Params);
|
| {%- if method.response_parameters == None %}
|
| - messageHandler(params);
|
| + {{method.name|stylize_method}}(params);
|
| {%- else %}
|
| - var response = messageHandler(params);
|
| + var response = {{method.name|stylize_method}}(
|
| + {%- for parameter in method.parameters -%}
|
| + params.{{parameter.name}}{% if not loop.last %}, {% endif %}
|
| + {%- endfor -%}
|
| + );
|
| return buildResponseWithID(
|
| {{interface.name}}_{{method.name}}_ResponseParams,
|
| k{{interface.name}}_{{method.name}}_name,
|
| + reader.requestID,
|
| bindings.kMessageIsResponse,
|
| response);
|
| {%- endif %}
|
|
|