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 |
deleted file mode 100644 |
index a4f7302dc7a83829483d4d677cfc2e2f61bfe31c..0000000000000000000000000000000000000000 |
--- a/mojo/public/tools/bindings/generators/dart_templates/interface_definition.tmpl |
+++ /dev/null |
@@ -1,438 +0,0 @@ |
-{%- for method in interface.methods %} |
-const int _{{interface|name|lower_camel}}Method{{method|name|upper_camel}}Name = {{method.ordinal}}; |
-{%- endfor %} |
- |
-{#--- Interface Enums #} |
-{%- from "enum_definition.tmpl" import enum_def -%} |
-{%- for enum in interface.enums %} |
- {{ enum_def(enum, typepkg, package) }} |
-{%- endfor %} |
- |
-class _{{interface|name}}ServiceDescription implements {{descpkg}}ServiceDescription { |
-{%- if should_gen_mojom_types and interface.service_name %} |
- void getTopLevelInterface(Function responder){ |
- var interfaceTypeKey = getRuntimeTypeInfo().services["{{interface.service_name}}"]; |
- var userDefinedType = getAllMojomTypeDefinitions()[interfaceTypeKey]; |
- responder(userDefinedType.interfaceType); |
- } |
- |
- void getTypeDefinition(String typeKey, Function responder) { |
- responder(getAllMojomTypeDefinitions()[typeKey]); |
- } |
- |
- void getAllTypeDefinitions(Function responder) { |
- responder(getAllMojomTypeDefinitions()); |
- } |
-{%- else %} |
- void getTopLevelInterface(Function responder) { |
- responder(null); |
- } |
- |
- void getTypeDefinition(String typeKey, Function responder) { |
- responder(null); |
- } |
- |
- void getAllTypeDefinitions(Function responder) { |
- responder(null); |
- } |
-{%- endif %} |
-} |
- |
-abstract class {{interface|name}} { |
-{%- if interface.service_name %} |
- static const String serviceName = "{{interface.service_name}}"; |
-{%- else %} |
- static const String serviceName = null; |
-{%- endif %} |
- |
- static {{descpkg}}ServiceDescription _cachedServiceDescription; |
- static {{descpkg}}ServiceDescription get serviceDescription { |
- if (_cachedServiceDescription == null) { |
- _cachedServiceDescription = new _{{interface|name}}ServiceDescription(); |
- } |
- return _cachedServiceDescription; |
- } |
- |
- static {{interface|name}}Proxy connectToService( |
- bindings.ServiceConnector s, String url, [String serviceName]) { |
- {{interface|name}}Proxy p = new {{interface|name}}Proxy.unbound(); |
- String name = serviceName ?? {{interface|name}}.serviceName; |
- if ((name == null) || name.isEmpty) { |
- throw new core.MojoApiError( |
- "If an interface has no ServiceName, then one must be provided."); |
- } |
- s.connectToService(url, p, name); |
- return p; |
- } |
- |
-{%- 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 -%} |
- ); |
-{%- else %} |
- void {{method|name}}( |
- {%- for parameter in method.parameters -%} |
- {{parameter.kind|dart_type}} {{parameter|name}}, |
- {%- endfor -%} |
- void callback( |
- {%- for param in method.response_parameters -%} |
- {{param.kind|dart_type}} {{param|name}}{% if not loop.last %}, {% endif %} |
- {%- endfor -%} |
- )); |
-{%- endif %} |
-{%- endfor %} |
- |
-{#--- Interface Constants #} |
-{%- for constant in interface.constants %} |
- static const {{constant.kind|dart_type}} {{constant|name}} = {{constant.resolved_value}}; |
-{%- endfor %} |
-} |
- |
-abstract class {{interface|name}}Interface |
- implements bindings.MojoInterface<{{interface|name}}>, |
- {{interface|name}} { |
- factory {{interface|name}}Interface([{{interface|name}} impl]) => |
- new {{interface|name}}Stub.unbound(impl); |
- |
- factory {{interface|name}}Interface.fromEndpoint( |
- core.MojoMessagePipeEndpoint endpoint, |
- [{{interface|name}} impl]) => |
- new {{interface|name}}Stub.fromEndpoint(endpoint, impl); |
- |
- factory {{interface|name}}Interface.fromMock( |
- {{interface|name}} mock) => |
- new {{interface|name}}Proxy.fromMock(mock); |
-} |
- |
-abstract class {{interface|name}}InterfaceRequest |
- implements bindings.MojoInterface<{{interface|name}}>, |
- {{interface|name}} { |
- factory {{interface|name}}InterfaceRequest() => |
- new {{interface|name}}Proxy.unbound(); |
-} |
- |
-class _{{interface|name}}ProxyControl |
- extends bindings.ProxyMessageHandler |
- implements bindings.ProxyControl<{{interface|name}}> { |
- {{interface|name}} impl; |
- |
- _{{interface|name}}ProxyControl.fromEndpoint( |
- core.MojoMessagePipeEndpoint endpoint) : super.fromEndpoint(endpoint); |
- |
- _{{interface|name}}ProxyControl.fromHandle( |
- core.MojoHandle handle) : super.fromHandle(handle); |
- |
- _{{interface|name}}ProxyControl.unbound() : super.unbound(); |
- |
- String get serviceName => {{interface|name}}.serviceName; |
- |
- void handleResponse(bindings.ServiceMessage message) { |
- switch (message.header.type) { |
-{%- for method in interface.methods %} |
-{%- if method.response_parameters != None %} |
-{%- set response_struct = method.response_param_struct %} |
- case _{{interface|name|lower_camel}}Method{{method|name|upper_camel}}Name: |
- Function callback = getCallback(message); |
- if (callback != null) { |
- var r = {{response_struct|name}}.deserialize( |
- message.payload); |
- callback( |
- {%- for param in method.response_parameters -%} |
- r.{{param|name}} {% if not loop.last %}, {% endif %} |
- {%- endfor -%} |
- ); |
- } |
- break; |
-{%- endif %} |
-{%- endfor %} |
- default: |
- proxyError("Unexpected message type: ${message.header.type}"); |
- close(immediate: true); |
- break; |
- } |
- } |
- |
- @override |
- String toString() { |
- var superString = super.toString(); |
- return "_{{interface|name}}ProxyControl($superString)"; |
- } |
-} |
- |
-class {{interface|name}}Proxy |
- extends bindings.Proxy<{{interface|name}}> |
- implements {{interface|name}}, |
- {{interface|name}}Interface, |
- {{interface|name}}InterfaceRequest { |
- {{interface|name}}Proxy.fromEndpoint( |
- core.MojoMessagePipeEndpoint endpoint) |
- : super(new _{{interface|name}}ProxyControl.fromEndpoint(endpoint)); |
- |
- {{interface|name}}Proxy.fromHandle(core.MojoHandle handle) |
- : super(new _{{interface|name}}ProxyControl.fromHandle(handle)); |
- |
- {{interface|name}}Proxy.unbound() |
- : super(new _{{interface|name}}ProxyControl.unbound()); |
- |
- factory {{interface|name}}Proxy.fromMock({{interface|name}} mock) { |
- {{interface|name}}Proxy newMockedProxy = |
- new {{interface|name}}Proxy.unbound(); |
- newMockedProxy.impl = mock; |
- return newMockedProxy; |
- } |
- |
- static {{interface|name}}Proxy newFromEndpoint( |
- core.MojoMessagePipeEndpoint endpoint) { |
- assert(endpoint.setDescription("For {{interface|name}}Proxy")); |
- return new {{interface|name}}Proxy.fromEndpoint(endpoint); |
- } |
- |
-{% 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.param_struct -%} |
- ) { |
- if (impl != null) { |
- impl.{{method|name}}( |
-{%- for parameter in method.parameters -%} |
- {{parameter|name}}{% if not loop.last %}, {% endif %} |
-{%- endfor -%} |
- ); |
- return; |
- } |
- if (!ctrl.isBound) { |
- ctrl.proxyError("The Proxy is closed."); |
- return; |
- } |
- var params = new {{request_struct|name}}(); |
-{%- for parameter in method.parameters %} |
- params.{{parameter|name}} = {{parameter|name}}; |
-{%- endfor %} |
- ctrl.sendMessage(params, |
- _{{interface|name|lower_camel}}Method{{method|name|upper_camel}}Name); |
- } |
-{%- else %} |
-{%- set request_struct = method.param_struct %} |
-{%- set response_struct = method.response_param_struct %} |
- void {{method|name}}( |
-{%- for parameter in method.parameters -%} |
- {{parameter.kind|dart_type}} {{parameter|name}}, |
-{%- endfor -%} |
- void callback( |
- {%- for param in method.response_parameters -%} |
- {{param.kind|dart_type}} {{param|name}}{% if not loop.last %}, {% endif %} |
- {%- endfor -%} |
- )) { |
- if (impl != null) { |
- impl.{{method|name}}( |
-{%- for parameter in method.parameters -%} |
- {{parameter|name}}, |
-{%- endfor -%} |
- callback ?? bindings.DoNothingFunction.fn); |
- return; |
- } |
- var params = new {{request_struct|name}}(); |
-{%- for parameter in method.parameters %} |
- params.{{parameter|name}} = {{parameter|name}}; |
-{%- endfor %} |
- Function zonedCallback; |
- if ((callback == null) || identical(Zone.current, Zone.ROOT)) { |
- zonedCallback = callback; |
- } else { |
- Zone z = Zone.current; |
- zonedCallback = (( |
- {%- for param in method.response_parameters -%} |
- {{param.kind|dart_type}} {{param|name}}{% if not loop.last %}, {% endif %} |
- {%- endfor -%} |
- ) { |
- z.bindCallback(() { |
- callback( |
- {%- for param in method.response_parameters -%} |
- {{param|name}}{% if not loop.last %}, {% endif %} |
- {%- endfor -%} |
- ); |
- })(); |
- }); |
- } |
- ctrl.sendMessageWithRequestId( |
- params, |
- _{{interface|name|lower_camel}}Method{{method|name|upper_camel}}Name, |
- -1, |
- bindings.MessageHeader.kMessageExpectsResponse, |
- zonedCallback); |
- } |
-{%- endif %} |
-{%- endfor %} |
-} |
- |
-class _{{interface|name}}StubControl |
- extends bindings.StubMessageHandler |
- implements bindings.StubControl<{{interface|name}}> { |
- {{interface|name}} _impl; |
- |
- _{{interface|name}}StubControl.fromEndpoint( |
- core.MojoMessagePipeEndpoint endpoint, [{{interface|name}} impl]) |
- : super.fromEndpoint(endpoint, autoBegin: impl != null) { |
- _impl = impl; |
- } |
- |
- _{{interface|name}}StubControl.fromHandle( |
- core.MojoHandle handle, [{{interface|name}} impl]) |
- : super.fromHandle(handle, autoBegin: impl != null) { |
- _impl = impl; |
- } |
- |
- _{{interface|name}}StubControl.unbound([this._impl]) : super.unbound(); |
- |
- String get serviceName => {{interface|name}}.serviceName; |
- |
-{% for method in interface.methods %} |
-{%- if method.response_parameters != None %} |
-{%- set response_struct = method.response_param_struct %} |
- Function _{{response_struct|name|lower_camel}}Responder( |
- int requestId) { |
- return ( |
- {%- for param in method.response_parameters -%} |
- {{param.kind|dart_type}} {{param|name}}{% if not loop.last %}, {% endif %} |
- {%- endfor -%} |
- ) { |
- var result = new {{response_struct|name}}(); |
- {%- for param in method.response_parameters %} |
- result.{{param|name}} = {{param|name}}; |
- {%- endfor %} |
- sendResponse(buildResponseWithId( |
- result, |
- _{{interface|name|lower_camel}}Method{{method|name|upper_camel}}Name, |
- requestId, |
- bindings.MessageHeader.kMessageIsResponse)); |
- }; |
- } |
-{%- endif %} |
-{%- endfor %} |
- |
- void handleMessage(bindings.ServiceMessage message) { |
- if (bindings.ControlMessageHandler.isControlMessage(message)) { |
- bindings.ControlMessageHandler.handleMessage( |
- this, {{interface.version}}, message); |
- return; |
- } |
- if (_impl == null) { |
- throw new core.MojoApiError("$this has no implementation set"); |
- } |
- switch (message.header.type) { |
-{%- for method in interface.methods %} |
-{%- set request_struct = method.param_struct %} |
- case _{{interface|name|lower_camel}}Method{{method|name|upper_camel}}Name: |
-{%- if method.parameters %} |
- var params = {{request_struct|name}}.deserialize( |
- message.payload); |
-{%- endif %} |
-{%- if method.response_parameters == None %} |
- _impl.{{method|name}}( |
- {%- for parameter in method.parameters -%} |
- params.{{parameter|name}}{% if not loop.last %}, {% endif %} |
- {%- endfor -%} |
- ); |
-{%- else %} |
-{%- set response_struct = method.response_param_struct %} |
- _impl.{{method|name}}( |
- {%- for parameter in method.parameters -%} |
- params.{{parameter|name}}, {% endfor -%} |
- _{{response_struct|name|lower_camel}}Responder(message.header.requestId)); |
-{%- endif %} |
- break; |
-{%- endfor %} |
- default: |
- throw new bindings.MojoCodecError("Unexpected message name"); |
- break; |
- } |
- } |
- |
- {{interface|name}} get impl => _impl; |
- set impl({{interface|name}} d) { |
- if (d == null) { |
- throw new core.MojoApiError("$this: Cannot set a null implementation"); |
- } |
- if (isBound && (_impl == null)) { |
- beginHandlingEvents(); |
- } |
- _impl = d; |
- } |
- |
- @override |
- void bind(core.MojoMessagePipeEndpoint endpoint) { |
- super.bind(endpoint); |
- if (!isOpen && (_impl != null)) { |
- beginHandlingEvents(); |
- } |
- } |
- |
- @override |
- String toString() { |
- var superString = super.toString(); |
- return "_{{interface|name}}StubControl($superString)"; |
- } |
- |
- int get version => {{interface.version}}; |
-} |
- |
-class {{interface|name}}Stub |
- extends bindings.Stub<{{interface|name}}> |
- implements {{interface|name}}, |
- {{interface|name}}Interface, |
- {{interface|name}}InterfaceRequest { |
- {{interface|name}}Stub.unbound([{{interface|name}} impl]) |
- : super(new _{{interface|name}}StubControl.unbound(impl)); |
- |
- {{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)); |
- |
- static {{interface|name}}Stub newFromEndpoint( |
- core.MojoMessagePipeEndpoint endpoint) { |
- assert(endpoint.setDescription("For {{interface|name}}Stub")); |
- return new {{interface|name}}Stub.fromEndpoint(endpoint); |
- } |
- |
-{% 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 %} |
- void {{method|name}}( |
-{%- for parameter in method.parameters -%} |
- {{parameter.kind|dart_type}} {{parameter|name}}, |
-{%- endfor -%} |
- void callback( |
- {%- for param in method.response_parameters -%} |
- {{param.kind|dart_type}} {{param|name}}{% if not loop.last %}, {% endif %} |
- {%- endfor -%} |
- )) { |
- return impl.{{method|name}}( |
-{%- for parameter in method.parameters -%} |
- {{parameter|name}}, |
-{%- endfor -%} |
- callback); |
- } |
-{%- endif %} |
-{%- endfor %} |
-} |