| Index: mojo/dart/packages/_mojo_for_test_only/lib/regression_tests/regression_tests.mojom.dart
|
| diff --git a/mojo/dart/packages/_mojo_for_test_only/lib/regression_tests/regression_tests.mojom.dart b/mojo/dart/packages/_mojo_for_test_only/lib/regression_tests/regression_tests.mojom.dart
|
| index b73fb5094091c3b2ba977c0292ccf38fac098ac3..d2f669681f75483d801b242876477d827dbc30d1 100644
|
| --- a/mojo/dart/packages/_mojo_for_test_only/lib/regression_tests/regression_tests.mojom.dart
|
| +++ b/mojo/dart/packages/_mojo_for_test_only/lib/regression_tests/regression_tests.mojom.dart
|
| @@ -443,6 +443,10 @@ class Edge extends bindings.Struct {
|
|
|
| Edge() : super(kVersions.last.size);
|
|
|
| + Edge.init(
|
| + Vertex this.v
|
| + ) : super(kVersions.last.size);
|
| +
|
| static Edge deserialize(bindings.Message message) {
|
| var decoder = new bindings.Decoder(message);
|
| var result = decode(decoder);
|
| @@ -516,6 +520,10 @@ class Vertex extends bindings.Struct {
|
|
|
| Vertex() : super(kVersions.last.size);
|
|
|
| + Vertex.init(
|
| + EmptyStruct this.e
|
| + ) : super(kVersions.last.size);
|
| +
|
| static Vertex deserialize(bindings.Message message) {
|
| var decoder = new bindings.Decoder(message);
|
| var result = decode(decoder);
|
| @@ -588,6 +596,9 @@ class EmptyStruct extends bindings.Struct {
|
|
|
| EmptyStruct() : super(kVersions.last.size);
|
|
|
| + EmptyStruct.init(
|
| + ) : super(kVersions.last.size);
|
| +
|
| static EmptyStruct deserialize(bindings.Message message) {
|
| var decoder = new bindings.Decoder(message);
|
| var result = decode(decoder);
|
| @@ -647,6 +658,10 @@ class A extends bindings.Struct {
|
|
|
| A() : super(kVersions.last.size);
|
|
|
| + A.init(
|
| + B this.b
|
| + ) : super(kVersions.last.size);
|
| +
|
| static A deserialize(bindings.Message message) {
|
| var decoder = new bindings.Decoder(message);
|
| var result = decode(decoder);
|
| @@ -720,6 +735,10 @@ class B extends bindings.Struct {
|
|
|
| B() : super(kVersions.last.size);
|
|
|
| + B.init(
|
| + A this.a
|
| + ) : super(kVersions.last.size);
|
| +
|
| static B deserialize(bindings.Message message) {
|
| var decoder = new bindings.Decoder(message);
|
| var result = decode(decoder);
|
| @@ -793,6 +812,10 @@ class StructWithHandleCalledHandles extends bindings.Struct {
|
|
|
| StructWithHandleCalledHandles() : super(kVersions.last.size);
|
|
|
| + StructWithHandleCalledHandles.init(
|
| + core.MojoHandle this.handles
|
| + ) : super(kVersions.last.size);
|
| +
|
| static StructWithHandleCalledHandles deserialize(bindings.Message message) {
|
| var decoder = new bindings.Decoder(message);
|
| var result = decode(decoder);
|
| @@ -864,6 +887,10 @@ class StructWithArrayOfHandlesCalledHandles extends bindings.Struct {
|
|
|
| StructWithArrayOfHandlesCalledHandles() : super(kVersions.last.size);
|
|
|
| + StructWithArrayOfHandlesCalledHandles.init(
|
| + List<core.MojoHandle> this.handles
|
| + ) : super(kVersions.last.size);
|
| +
|
| static StructWithArrayOfHandlesCalledHandles deserialize(bindings.Message message) {
|
| var decoder = new bindings.Decoder(message);
|
| var result = decode(decoder);
|
| @@ -935,6 +962,10 @@ class StructWithInterfaceCalledHandles extends bindings.Struct {
|
|
|
| StructWithInterfaceCalledHandles() : super(kVersions.last.size);
|
|
|
| + StructWithInterfaceCalledHandles.init(
|
| + TestInterfaceInterface this.handles
|
| + ) : super(kVersions.last.size);
|
| +
|
| static StructWithInterfaceCalledHandles deserialize(bindings.Message message) {
|
| var decoder = new bindings.Decoder(message);
|
| var result = decode(decoder);
|
| @@ -1006,6 +1037,10 @@ class ContainsArrayOfEnum extends bindings.Struct {
|
|
|
| ContainsArrayOfEnum() : super(kVersions.last.size);
|
|
|
| + ContainsArrayOfEnum.init(
|
| + List<NormalEnum> this.arrayOfEnums
|
| + ) : super(kVersions.last.size);
|
| +
|
| static ContainsArrayOfEnum deserialize(bindings.Message message) {
|
| var decoder = new bindings.Decoder(message);
|
| var result = decode(decoder);
|
| @@ -1089,6 +1124,9 @@ class _CheckMethodWithEmptyResponseWithoutParameterAndEmptyResponseParams extend
|
|
|
| _CheckMethodWithEmptyResponseWithoutParameterAndEmptyResponseParams() : super(kVersions.last.size);
|
|
|
| + _CheckMethodWithEmptyResponseWithoutParameterAndEmptyResponseParams.init(
|
| + ) : super(kVersions.last.size);
|
| +
|
| static _CheckMethodWithEmptyResponseWithoutParameterAndEmptyResponseParams deserialize(bindings.Message message) {
|
| var decoder = new bindings.Decoder(message);
|
| var result = decode(decoder);
|
| @@ -1147,6 +1185,9 @@ class CheckMethodWithEmptyResponseWithoutParameterAndEmptyResponseResponseParams
|
|
|
| CheckMethodWithEmptyResponseWithoutParameterAndEmptyResponseResponseParams() : super(kVersions.last.size);
|
|
|
| + CheckMethodWithEmptyResponseWithoutParameterAndEmptyResponseResponseParams.init(
|
| + ) : super(kVersions.last.size);
|
| +
|
| static CheckMethodWithEmptyResponseWithoutParameterAndEmptyResponseResponseParams deserialize(bindings.Message message) {
|
| var decoder = new bindings.Decoder(message);
|
| var result = decode(decoder);
|
| @@ -1206,6 +1247,10 @@ class _CheckMethodWithEmptyResponseWithParameterAndEmptyResponseParams extends b
|
|
|
| _CheckMethodWithEmptyResponseWithParameterAndEmptyResponseParams() : super(kVersions.last.size);
|
|
|
| + _CheckMethodWithEmptyResponseWithParameterAndEmptyResponseParams.init(
|
| + bool this.b
|
| + ) : super(kVersions.last.size);
|
| +
|
| static _CheckMethodWithEmptyResponseWithParameterAndEmptyResponseParams deserialize(bindings.Message message) {
|
| var decoder = new bindings.Decoder(message);
|
| var result = decode(decoder);
|
| @@ -1277,6 +1322,9 @@ class CheckMethodWithEmptyResponseWithParameterAndEmptyResponseResponseParams ex
|
|
|
| CheckMethodWithEmptyResponseWithParameterAndEmptyResponseResponseParams() : super(kVersions.last.size);
|
|
|
| + CheckMethodWithEmptyResponseWithParameterAndEmptyResponseResponseParams.init(
|
| + ) : super(kVersions.last.size);
|
| +
|
| static CheckMethodWithEmptyResponseWithParameterAndEmptyResponseResponseParams deserialize(bindings.Message message) {
|
| var decoder = new bindings.Decoder(message);
|
| var result = decode(decoder);
|
| @@ -1337,6 +1385,11 @@ class _CheckNameCollisionWithNameCollisionParams extends bindings.Struct {
|
|
|
| _CheckNameCollisionWithNameCollisionParams() : super(kVersions.last.size);
|
|
|
| + _CheckNameCollisionWithNameCollisionParams.init(
|
| + bool this.message,
|
| + bool this.response
|
| + ) : super(kVersions.last.size);
|
| +
|
| static _CheckNameCollisionWithNameCollisionParams deserialize(bindings.Message message) {
|
| var decoder = new bindings.Decoder(message);
|
| var result = decode(decoder);
|
| @@ -1423,6 +1476,11 @@ class CheckNameCollisionWithNameCollisionResponseParams extends bindings.Struct
|
|
|
| CheckNameCollisionWithNameCollisionResponseParams() : super(kVersions.last.size);
|
|
|
| + CheckNameCollisionWithNameCollisionResponseParams.init(
|
| + bool this.message,
|
| + bool this.response
|
| + ) : super(kVersions.last.size);
|
| +
|
| static CheckNameCollisionWithNameCollisionResponseParams deserialize(bindings.Message message) {
|
| var decoder = new bindings.Decoder(message);
|
| var result = decode(decoder);
|
| @@ -1508,6 +1566,10 @@ class _CheckEnumCapsSetEnumWithInternalAllCapsParams extends bindings.Struct {
|
|
|
| _CheckEnumCapsSetEnumWithInternalAllCapsParams() : super(kVersions.last.size);
|
|
|
| + _CheckEnumCapsSetEnumWithInternalAllCapsParams.init(
|
| + EnumWithInternalAllCaps this.e
|
| + ) : super(kVersions.last.size);
|
| +
|
| static _CheckEnumCapsSetEnumWithInternalAllCapsParams deserialize(bindings.Message message) {
|
| var decoder = new bindings.Decoder(message);
|
| var result = decode(decoder);
|
| @@ -1583,6 +1645,9 @@ class _TestInterfaceSomeMessageParams extends bindings.Struct {
|
|
|
| _TestInterfaceSomeMessageParams() : super(kVersions.last.size);
|
|
|
| + _TestInterfaceSomeMessageParams.init(
|
| + ) : super(kVersions.last.size);
|
| +
|
| static _TestInterfaceSomeMessageParams deserialize(bindings.Message message) {
|
| var decoder = new bindings.Decoder(message);
|
| var result = decode(decoder);
|
| @@ -1642,6 +1707,10 @@ class _Regression551GetParams extends bindings.Struct {
|
|
|
| _Regression551GetParams() : super(kVersions.last.size);
|
|
|
| + _Regression551GetParams.init(
|
| + List<String> this.keyPrefixes
|
| + ) : super(kVersions.last.size);
|
| +
|
| static _Regression551GetParams deserialize(bindings.Message message) {
|
| var decoder = new bindings.Decoder(message);
|
| var result = decode(decoder);
|
| @@ -1729,6 +1798,10 @@ class Regression551GetResponseParams extends bindings.Struct {
|
|
|
| Regression551GetResponseParams() : super(kVersions.last.size);
|
|
|
| + Regression551GetResponseParams.init(
|
| + int this.result
|
| + ) : super(kVersions.last.size);
|
| +
|
| static Regression551GetResponseParams deserialize(bindings.Message message) {
|
| var decoder = new bindings.Decoder(message);
|
| var result = decode(decoder);
|
| @@ -1800,6 +1873,9 @@ class _ServiceNameServiceNameParams extends bindings.Struct {
|
|
|
| _ServiceNameServiceNameParams() : super(kVersions.last.size);
|
|
|
| + _ServiceNameServiceNameParams.init(
|
| + ) : super(kVersions.last.size);
|
| +
|
| static _ServiceNameServiceNameParams deserialize(bindings.Message message) {
|
| var decoder = new bindings.Decoder(message);
|
| var result = decode(decoder);
|
| @@ -1859,6 +1935,10 @@ class ServiceNameServiceNameResponseParams extends bindings.Struct {
|
|
|
| ServiceNameServiceNameResponseParams() : super(kVersions.last.size);
|
|
|
| + ServiceNameServiceNameResponseParams.init(
|
| + String this.serviceName_
|
| + ) : super(kVersions.last.size);
|
| +
|
| static ServiceNameServiceNameResponseParams deserialize(bindings.Message message) {
|
| var decoder = new bindings.Decoder(message);
|
| var result = decode(decoder);
|
| @@ -1926,14 +2006,17 @@ const int _checkMethodWithEmptyResponseMethodWithoutParameterAndEmptyResponseNam
|
| const int _checkMethodWithEmptyResponseMethodWithParameterAndEmptyResponseName = 1;
|
|
|
| class _CheckMethodWithEmptyResponseServiceDescription implements service_describer.ServiceDescription {
|
| - dynamic getTopLevelInterface([Function responseFactory]) =>
|
| - responseFactory(null);
|
| + void getTopLevelInterface(Function responder) {
|
| + responder(null);
|
| + }
|
|
|
| - dynamic getTypeDefinition(String typeKey, [Function responseFactory]) =>
|
| - responseFactory(null);
|
| + void getTypeDefinition(String typeKey, Function responder) {
|
| + responder(null);
|
| + }
|
|
|
| - dynamic getAllTypeDefinitions([Function responseFactory]) =>
|
| - responseFactory(null);
|
| + void getAllTypeDefinitions(Function responder) {
|
| + responder(null);
|
| + }
|
| }
|
|
|
| abstract class CheckMethodWithEmptyResponse {
|
| @@ -1958,8 +2041,8 @@ abstract class CheckMethodWithEmptyResponse {
|
| s.connectToService(url, p, name);
|
| return p;
|
| }
|
| - dynamic withoutParameterAndEmptyResponse([Function responseFactory = null]);
|
| - dynamic withParameterAndEmptyResponse(bool b,[Function responseFactory = null]);
|
| + void withoutParameterAndEmptyResponse(void callback());
|
| + void withParameterAndEmptyResponse(bool b,void callback());
|
| }
|
|
|
| abstract class CheckMethodWithEmptyResponseInterface
|
| @@ -2009,18 +2092,14 @@ class _CheckMethodWithEmptyResponseProxyControl
|
| proxyError("Expected a message with a valid request Id.");
|
| return;
|
| }
|
| - Completer c = completerMap[message.header.requestId];
|
| - if (c == null) {
|
| + Function callback = callbackMap[message.header.requestId];
|
| + if (callback == null) {
|
| proxyError(
|
| "Message had unknown request Id: ${message.header.requestId}");
|
| return;
|
| }
|
| - completerMap.remove(message.header.requestId);
|
| - if (c.isCompleted) {
|
| - proxyError("Response completer already completed");
|
| - return;
|
| - }
|
| - c.complete(r);
|
| + callbackMap.remove(message.header.requestId);
|
| + callback();
|
| break;
|
| case _checkMethodWithEmptyResponseMethodWithParameterAndEmptyResponseName:
|
| var r = CheckMethodWithEmptyResponseWithParameterAndEmptyResponseResponseParams.deserialize(
|
| @@ -2029,18 +2108,14 @@ class _CheckMethodWithEmptyResponseProxyControl
|
| proxyError("Expected a message with a valid request Id.");
|
| return;
|
| }
|
| - Completer c = completerMap[message.header.requestId];
|
| - if (c == null) {
|
| + Function callback = callbackMap[message.header.requestId];
|
| + if (callback == null) {
|
| proxyError(
|
| "Message had unknown request Id: ${message.header.requestId}");
|
| return;
|
| }
|
| - completerMap.remove(message.header.requestId);
|
| - if (c.isCompleted) {
|
| - proxyError("Response completer already completed");
|
| - return;
|
| - }
|
| - c.complete(r);
|
| + callbackMap.remove(message.header.requestId);
|
| + callback();
|
| break;
|
| default:
|
| proxyError("Unexpected message type: ${message.header.type}");
|
| @@ -2085,28 +2160,32 @@ class CheckMethodWithEmptyResponseProxy
|
| }
|
|
|
|
|
| - dynamic withoutParameterAndEmptyResponse([Function responseFactory = null]) {
|
| + void withoutParameterAndEmptyResponse(void callback()) {
|
| if (impl != null) {
|
| - return new Future(() => impl.withoutParameterAndEmptyResponse(_CheckMethodWithEmptyResponseStubControl._checkMethodWithEmptyResponseWithoutParameterAndEmptyResponseResponseParamsFactory));
|
| + impl.withoutParameterAndEmptyResponse(callback);
|
| + return;
|
| }
|
| var params = new _CheckMethodWithEmptyResponseWithoutParameterAndEmptyResponseParams();
|
| - return ctrl.sendMessageWithRequestId(
|
| + ctrl.sendMessageWithRequestId(
|
| params,
|
| _checkMethodWithEmptyResponseMethodWithoutParameterAndEmptyResponseName,
|
| -1,
|
| - bindings.MessageHeader.kMessageExpectsResponse);
|
| + bindings.MessageHeader.kMessageExpectsResponse,
|
| + callback);
|
| }
|
| - dynamic withParameterAndEmptyResponse(bool b,[Function responseFactory = null]) {
|
| + void withParameterAndEmptyResponse(bool b,void callback()) {
|
| if (impl != null) {
|
| - return new Future(() => impl.withParameterAndEmptyResponse(b,_CheckMethodWithEmptyResponseStubControl._checkMethodWithEmptyResponseWithParameterAndEmptyResponseResponseParamsFactory));
|
| + impl.withParameterAndEmptyResponse(b,callback);
|
| + return;
|
| }
|
| var params = new _CheckMethodWithEmptyResponseWithParameterAndEmptyResponseParams();
|
| params.b = b;
|
| - return ctrl.sendMessageWithRequestId(
|
| + ctrl.sendMessageWithRequestId(
|
| params,
|
| _checkMethodWithEmptyResponseMethodWithParameterAndEmptyResponseName,
|
| -1,
|
| - bindings.MessageHeader.kMessageExpectsResponse);
|
| + bindings.MessageHeader.kMessageExpectsResponse,
|
| + callback);
|
| }
|
| }
|
|
|
| @@ -2132,72 +2211,51 @@ class _CheckMethodWithEmptyResponseStubControl
|
| String get serviceName => CheckMethodWithEmptyResponse.serviceName;
|
|
|
|
|
| - static CheckMethodWithEmptyResponseWithoutParameterAndEmptyResponseResponseParams _checkMethodWithEmptyResponseWithoutParameterAndEmptyResponseResponseParamsFactory() {
|
| - var result = new CheckMethodWithEmptyResponseWithoutParameterAndEmptyResponseResponseParams();
|
| - return result;
|
| - }
|
| - static CheckMethodWithEmptyResponseWithParameterAndEmptyResponseResponseParams _checkMethodWithEmptyResponseWithParameterAndEmptyResponseResponseParamsFactory() {
|
| - var result = new CheckMethodWithEmptyResponseWithParameterAndEmptyResponseResponseParams();
|
| - return result;
|
| - }
|
| -
|
| - dynamic handleMessage(bindings.ServiceMessage message) {
|
| + Function _checkMethodWithEmptyResponseWithoutParameterAndEmptyResponseResponseParamsResponder(
|
| + int requestId) {
|
| + return () {
|
| + var result = new CheckMethodWithEmptyResponseWithoutParameterAndEmptyResponseResponseParams();
|
| + sendResponse(buildResponseWithId(
|
| + result,
|
| + _checkMethodWithEmptyResponseMethodWithoutParameterAndEmptyResponseName,
|
| + requestId,
|
| + bindings.MessageHeader.kMessageIsResponse));
|
| + };
|
| + }
|
| + Function _checkMethodWithEmptyResponseWithParameterAndEmptyResponseResponseParamsResponder(
|
| + int requestId) {
|
| + return () {
|
| + var result = new CheckMethodWithEmptyResponseWithParameterAndEmptyResponseResponseParams();
|
| + sendResponse(buildResponseWithId(
|
| + result,
|
| + _checkMethodWithEmptyResponseMethodWithParameterAndEmptyResponseName,
|
| + requestId,
|
| + bindings.MessageHeader.kMessageIsResponse));
|
| + };
|
| + }
|
| +
|
| + void handleMessage(bindings.ServiceMessage message) {
|
| if (bindings.ControlMessageHandler.isControlMessage(message)) {
|
| - return bindings.ControlMessageHandler.handleMessage(this,
|
| - 0,
|
| - message);
|
| + bindings.ControlMessageHandler.handleMessage(
|
| + this, 0, message);
|
| + return;
|
| }
|
| if (_impl == null) {
|
| throw new core.MojoApiError("$this has no implementation set");
|
| }
|
| switch (message.header.type) {
|
| case _checkMethodWithEmptyResponseMethodWithoutParameterAndEmptyResponseName:
|
| - var response = _impl.withoutParameterAndEmptyResponse(_checkMethodWithEmptyResponseWithoutParameterAndEmptyResponseResponseParamsFactory);
|
| - if (response is Future) {
|
| - return response.then((response) {
|
| - if (response != null) {
|
| - return buildResponseWithId(
|
| - response,
|
| - _checkMethodWithEmptyResponseMethodWithoutParameterAndEmptyResponseName,
|
| - message.header.requestId,
|
| - bindings.MessageHeader.kMessageIsResponse);
|
| - }
|
| - });
|
| - } else if (response != null) {
|
| - return buildResponseWithId(
|
| - response,
|
| - _checkMethodWithEmptyResponseMethodWithoutParameterAndEmptyResponseName,
|
| - message.header.requestId,
|
| - bindings.MessageHeader.kMessageIsResponse);
|
| - }
|
| + _impl.withoutParameterAndEmptyResponse(_checkMethodWithEmptyResponseWithoutParameterAndEmptyResponseResponseParamsResponder(message.header.requestId));
|
| break;
|
| case _checkMethodWithEmptyResponseMethodWithParameterAndEmptyResponseName:
|
| var params = _CheckMethodWithEmptyResponseWithParameterAndEmptyResponseParams.deserialize(
|
| message.payload);
|
| - var response = _impl.withParameterAndEmptyResponse(params.b,_checkMethodWithEmptyResponseWithParameterAndEmptyResponseResponseParamsFactory);
|
| - if (response is Future) {
|
| - return response.then((response) {
|
| - if (response != null) {
|
| - return buildResponseWithId(
|
| - response,
|
| - _checkMethodWithEmptyResponseMethodWithParameterAndEmptyResponseName,
|
| - message.header.requestId,
|
| - bindings.MessageHeader.kMessageIsResponse);
|
| - }
|
| - });
|
| - } else if (response != null) {
|
| - return buildResponseWithId(
|
| - response,
|
| - _checkMethodWithEmptyResponseMethodWithParameterAndEmptyResponseName,
|
| - message.header.requestId,
|
| - bindings.MessageHeader.kMessageIsResponse);
|
| - }
|
| + _impl.withParameterAndEmptyResponse(params.b, _checkMethodWithEmptyResponseWithParameterAndEmptyResponseResponseParamsResponder(message.header.requestId));
|
| break;
|
| default:
|
| throw new bindings.MojoCodecError("Unexpected message name");
|
| break;
|
| }
|
| - return null;
|
| }
|
|
|
| CheckMethodWithEmptyResponse get impl => _impl;
|
| @@ -2251,25 +2309,28 @@ class CheckMethodWithEmptyResponseStub
|
| }
|
|
|
|
|
| - dynamic withoutParameterAndEmptyResponse([Function responseFactory = null]) {
|
| - return impl.withoutParameterAndEmptyResponse(responseFactory);
|
| + void withoutParameterAndEmptyResponse(void callback()) {
|
| + return impl.withoutParameterAndEmptyResponse(callback);
|
| }
|
| - dynamic withParameterAndEmptyResponse(bool b,[Function responseFactory = null]) {
|
| - return impl.withParameterAndEmptyResponse(b,responseFactory);
|
| + void withParameterAndEmptyResponse(bool b,void callback()) {
|
| + return impl.withParameterAndEmptyResponse(b,callback);
|
| }
|
| }
|
|
|
| const int _checkNameCollisionMethodWithNameCollisionName = 0;
|
|
|
| class _CheckNameCollisionServiceDescription implements service_describer.ServiceDescription {
|
| - dynamic getTopLevelInterface([Function responseFactory]) =>
|
| - responseFactory(null);
|
| + void getTopLevelInterface(Function responder) {
|
| + responder(null);
|
| + }
|
|
|
| - dynamic getTypeDefinition(String typeKey, [Function responseFactory]) =>
|
| - responseFactory(null);
|
| + void getTypeDefinition(String typeKey, Function responder) {
|
| + responder(null);
|
| + }
|
|
|
| - dynamic getAllTypeDefinitions([Function responseFactory]) =>
|
| - responseFactory(null);
|
| + void getAllTypeDefinitions(Function responder) {
|
| + responder(null);
|
| + }
|
| }
|
|
|
| abstract class CheckNameCollision {
|
| @@ -2294,7 +2355,7 @@ abstract class CheckNameCollision {
|
| s.connectToService(url, p, name);
|
| return p;
|
| }
|
| - dynamic withNameCollision(bool message,bool response,[Function responseFactory = null]);
|
| + void withNameCollision(bool message,bool response,void callback(bool message, bool response));
|
| }
|
|
|
| abstract class CheckNameCollisionInterface
|
| @@ -2344,18 +2405,14 @@ class _CheckNameCollisionProxyControl
|
| proxyError("Expected a message with a valid request Id.");
|
| return;
|
| }
|
| - Completer c = completerMap[message.header.requestId];
|
| - if (c == null) {
|
| + Function callback = callbackMap[message.header.requestId];
|
| + if (callback == null) {
|
| proxyError(
|
| "Message had unknown request Id: ${message.header.requestId}");
|
| return;
|
| }
|
| - completerMap.remove(message.header.requestId);
|
| - if (c.isCompleted) {
|
| - proxyError("Response completer already completed");
|
| - return;
|
| - }
|
| - c.complete(r);
|
| + callbackMap.remove(message.header.requestId);
|
| + callback(r.message , r.response );
|
| break;
|
| default:
|
| proxyError("Unexpected message type: ${message.header.type}");
|
| @@ -2400,18 +2457,20 @@ class CheckNameCollisionProxy
|
| }
|
|
|
|
|
| - dynamic withNameCollision(bool message,bool response,[Function responseFactory = null]) {
|
| + void withNameCollision(bool message,bool response,void callback(bool message, bool response)) {
|
| if (impl != null) {
|
| - return new Future(() => impl.withNameCollision(message,response,_CheckNameCollisionStubControl._checkNameCollisionWithNameCollisionResponseParamsFactory));
|
| + impl.withNameCollision(message,response,callback);
|
| + return;
|
| }
|
| var params = new _CheckNameCollisionWithNameCollisionParams();
|
| params.message = message;
|
| params.response = response;
|
| - return ctrl.sendMessageWithRequestId(
|
| + ctrl.sendMessageWithRequestId(
|
| params,
|
| _checkNameCollisionMethodWithNameCollisionName,
|
| -1,
|
| - bindings.MessageHeader.kMessageExpectsResponse);
|
| + bindings.MessageHeader.kMessageExpectsResponse,
|
| + callback);
|
| }
|
| }
|
|
|
| @@ -2437,18 +2496,25 @@ class _CheckNameCollisionStubControl
|
| String get serviceName => CheckNameCollision.serviceName;
|
|
|
|
|
| - static CheckNameCollisionWithNameCollisionResponseParams _checkNameCollisionWithNameCollisionResponseParamsFactory(bool message, bool response) {
|
| - var result = new CheckNameCollisionWithNameCollisionResponseParams();
|
| - result.message = message;
|
| - result.response = response;
|
| - return result;
|
| + Function _checkNameCollisionWithNameCollisionResponseParamsResponder(
|
| + int requestId) {
|
| + return (bool message, bool response) {
|
| + var result = new CheckNameCollisionWithNameCollisionResponseParams();
|
| + result.message = message;
|
| + result.response = response;
|
| + sendResponse(buildResponseWithId(
|
| + result,
|
| + _checkNameCollisionMethodWithNameCollisionName,
|
| + requestId,
|
| + bindings.MessageHeader.kMessageIsResponse));
|
| + };
|
| }
|
|
|
| - dynamic handleMessage(bindings.ServiceMessage message) {
|
| + void handleMessage(bindings.ServiceMessage message) {
|
| if (bindings.ControlMessageHandler.isControlMessage(message)) {
|
| - return bindings.ControlMessageHandler.handleMessage(this,
|
| - 0,
|
| - message);
|
| + bindings.ControlMessageHandler.handleMessage(
|
| + this, 0, message);
|
| + return;
|
| }
|
| if (_impl == null) {
|
| throw new core.MojoApiError("$this has no implementation set");
|
| @@ -2457,30 +2523,12 @@ class _CheckNameCollisionStubControl
|
| case _checkNameCollisionMethodWithNameCollisionName:
|
| var params = _CheckNameCollisionWithNameCollisionParams.deserialize(
|
| message.payload);
|
| - var response = _impl.withNameCollision(params.message,params.response,_checkNameCollisionWithNameCollisionResponseParamsFactory);
|
| - if (response is Future) {
|
| - return response.then((response) {
|
| - if (response != null) {
|
| - return buildResponseWithId(
|
| - response,
|
| - _checkNameCollisionMethodWithNameCollisionName,
|
| - message.header.requestId,
|
| - bindings.MessageHeader.kMessageIsResponse);
|
| - }
|
| - });
|
| - } else if (response != null) {
|
| - return buildResponseWithId(
|
| - response,
|
| - _checkNameCollisionMethodWithNameCollisionName,
|
| - message.header.requestId,
|
| - bindings.MessageHeader.kMessageIsResponse);
|
| - }
|
| + _impl.withNameCollision(params.message, params.response, _checkNameCollisionWithNameCollisionResponseParamsResponder(message.header.requestId));
|
| break;
|
| default:
|
| throw new bindings.MojoCodecError("Unexpected message name");
|
| break;
|
| }
|
| - return null;
|
| }
|
|
|
| CheckNameCollision get impl => _impl;
|
| @@ -2534,22 +2582,25 @@ class CheckNameCollisionStub
|
| }
|
|
|
|
|
| - dynamic withNameCollision(bool message,bool response,[Function responseFactory = null]) {
|
| - return impl.withNameCollision(message,response,responseFactory);
|
| + void withNameCollision(bool message,bool response,void callback(bool message, bool response)) {
|
| + return impl.withNameCollision(message,response,callback);
|
| }
|
| }
|
|
|
| const int _checkEnumCapsMethodSetEnumWithInternalAllCapsName = 0;
|
|
|
| class _CheckEnumCapsServiceDescription implements service_describer.ServiceDescription {
|
| - dynamic getTopLevelInterface([Function responseFactory]) =>
|
| - responseFactory(null);
|
| + void getTopLevelInterface(Function responder) {
|
| + responder(null);
|
| + }
|
|
|
| - dynamic getTypeDefinition(String typeKey, [Function responseFactory]) =>
|
| - responseFactory(null);
|
| + void getTypeDefinition(String typeKey, Function responder) {
|
| + responder(null);
|
| + }
|
|
|
| - dynamic getAllTypeDefinitions([Function responseFactory]) =>
|
| - responseFactory(null);
|
| + void getAllTypeDefinitions(Function responder) {
|
| + responder(null);
|
| + }
|
| }
|
|
|
| abstract class CheckEnumCaps {
|
| @@ -2699,11 +2750,11 @@ class _CheckEnumCapsStubControl
|
|
|
|
|
|
|
| - dynamic handleMessage(bindings.ServiceMessage message) {
|
| + void handleMessage(bindings.ServiceMessage message) {
|
| if (bindings.ControlMessageHandler.isControlMessage(message)) {
|
| - return bindings.ControlMessageHandler.handleMessage(this,
|
| - 0,
|
| - message);
|
| + bindings.ControlMessageHandler.handleMessage(
|
| + this, 0, message);
|
| + return;
|
| }
|
| if (_impl == null) {
|
| throw new core.MojoApiError("$this has no implementation set");
|
| @@ -2718,7 +2769,6 @@ class _CheckEnumCapsStubControl
|
| throw new bindings.MojoCodecError("Unexpected message name");
|
| break;
|
| }
|
| - return null;
|
| }
|
|
|
| CheckEnumCaps get impl => _impl;
|
| @@ -2780,14 +2830,17 @@ class CheckEnumCapsStub
|
| const int _testInterfaceMethodSomeMessageName = 0;
|
|
|
| class _TestInterfaceServiceDescription implements service_describer.ServiceDescription {
|
| - dynamic getTopLevelInterface([Function responseFactory]) =>
|
| - responseFactory(null);
|
| + void getTopLevelInterface(Function responder) {
|
| + responder(null);
|
| + }
|
|
|
| - dynamic getTypeDefinition(String typeKey, [Function responseFactory]) =>
|
| - responseFactory(null);
|
| + void getTypeDefinition(String typeKey, Function responder) {
|
| + responder(null);
|
| + }
|
|
|
| - dynamic getAllTypeDefinitions([Function responseFactory]) =>
|
| - responseFactory(null);
|
| + void getAllTypeDefinitions(Function responder) {
|
| + responder(null);
|
| + }
|
| }
|
|
|
| abstract class TestInterface {
|
| @@ -2936,11 +2989,11 @@ class _TestInterfaceStubControl
|
|
|
|
|
|
|
| - dynamic handleMessage(bindings.ServiceMessage message) {
|
| + void handleMessage(bindings.ServiceMessage message) {
|
| if (bindings.ControlMessageHandler.isControlMessage(message)) {
|
| - return bindings.ControlMessageHandler.handleMessage(this,
|
| - 0,
|
| - message);
|
| + bindings.ControlMessageHandler.handleMessage(
|
| + this, 0, message);
|
| + return;
|
| }
|
| if (_impl == null) {
|
| throw new core.MojoApiError("$this has no implementation set");
|
| @@ -2953,7 +3006,6 @@ class _TestInterfaceStubControl
|
| throw new bindings.MojoCodecError("Unexpected message name");
|
| break;
|
| }
|
| - return null;
|
| }
|
|
|
| TestInterface get impl => _impl;
|
| @@ -3015,14 +3067,17 @@ class TestInterfaceStub
|
| const int _regression551MethodGetName = 0;
|
|
|
| class _Regression551ServiceDescription implements service_describer.ServiceDescription {
|
| - dynamic getTopLevelInterface([Function responseFactory]) =>
|
| - responseFactory(null);
|
| + void getTopLevelInterface(Function responder) {
|
| + responder(null);
|
| + }
|
|
|
| - dynamic getTypeDefinition(String typeKey, [Function responseFactory]) =>
|
| - responseFactory(null);
|
| + void getTypeDefinition(String typeKey, Function responder) {
|
| + responder(null);
|
| + }
|
|
|
| - dynamic getAllTypeDefinitions([Function responseFactory]) =>
|
| - responseFactory(null);
|
| + void getAllTypeDefinitions(Function responder) {
|
| + responder(null);
|
| + }
|
| }
|
|
|
| abstract class Regression551 {
|
| @@ -3047,7 +3102,7 @@ abstract class Regression551 {
|
| s.connectToService(url, p, name);
|
| return p;
|
| }
|
| - dynamic get(List<String> keyPrefixes,[Function responseFactory = null]);
|
| + void get(List<String> keyPrefixes,void callback(int result));
|
| }
|
|
|
| abstract class Regression551Interface
|
| @@ -3097,18 +3152,14 @@ class _Regression551ProxyControl
|
| proxyError("Expected a message with a valid request Id.");
|
| return;
|
| }
|
| - Completer c = completerMap[message.header.requestId];
|
| - if (c == null) {
|
| + Function callback = callbackMap[message.header.requestId];
|
| + if (callback == null) {
|
| proxyError(
|
| "Message had unknown request Id: ${message.header.requestId}");
|
| return;
|
| }
|
| - completerMap.remove(message.header.requestId);
|
| - if (c.isCompleted) {
|
| - proxyError("Response completer already completed");
|
| - return;
|
| - }
|
| - c.complete(r);
|
| + callbackMap.remove(message.header.requestId);
|
| + callback(r.result );
|
| break;
|
| default:
|
| proxyError("Unexpected message type: ${message.header.type}");
|
| @@ -3153,17 +3204,19 @@ class Regression551Proxy
|
| }
|
|
|
|
|
| - dynamic get(List<String> keyPrefixes,[Function responseFactory = null]) {
|
| + void get(List<String> keyPrefixes,void callback(int result)) {
|
| if (impl != null) {
|
| - return new Future(() => impl.get(keyPrefixes,_Regression551StubControl._regression551GetResponseParamsFactory));
|
| + impl.get(keyPrefixes,callback);
|
| + return;
|
| }
|
| var params = new _Regression551GetParams();
|
| params.keyPrefixes = keyPrefixes;
|
| - return ctrl.sendMessageWithRequestId(
|
| + ctrl.sendMessageWithRequestId(
|
| params,
|
| _regression551MethodGetName,
|
| -1,
|
| - bindings.MessageHeader.kMessageExpectsResponse);
|
| + bindings.MessageHeader.kMessageExpectsResponse,
|
| + callback);
|
| }
|
| }
|
|
|
| @@ -3189,17 +3242,24 @@ class _Regression551StubControl
|
| String get serviceName => Regression551.serviceName;
|
|
|
|
|
| - static Regression551GetResponseParams _regression551GetResponseParamsFactory(int result) {
|
| - var result = new Regression551GetResponseParams();
|
| - result.result = result;
|
| - return result;
|
| + Function _regression551GetResponseParamsResponder(
|
| + int requestId) {
|
| + return (int result) {
|
| + var result = new Regression551GetResponseParams();
|
| + result.result = result;
|
| + sendResponse(buildResponseWithId(
|
| + result,
|
| + _regression551MethodGetName,
|
| + requestId,
|
| + bindings.MessageHeader.kMessageIsResponse));
|
| + };
|
| }
|
|
|
| - dynamic handleMessage(bindings.ServiceMessage message) {
|
| + void handleMessage(bindings.ServiceMessage message) {
|
| if (bindings.ControlMessageHandler.isControlMessage(message)) {
|
| - return bindings.ControlMessageHandler.handleMessage(this,
|
| - 0,
|
| - message);
|
| + bindings.ControlMessageHandler.handleMessage(
|
| + this, 0, message);
|
| + return;
|
| }
|
| if (_impl == null) {
|
| throw new core.MojoApiError("$this has no implementation set");
|
| @@ -3208,30 +3268,12 @@ class _Regression551StubControl
|
| case _regression551MethodGetName:
|
| var params = _Regression551GetParams.deserialize(
|
| message.payload);
|
| - var response = _impl.get(params.keyPrefixes,_regression551GetResponseParamsFactory);
|
| - if (response is Future) {
|
| - return response.then((response) {
|
| - if (response != null) {
|
| - return buildResponseWithId(
|
| - response,
|
| - _regression551MethodGetName,
|
| - message.header.requestId,
|
| - bindings.MessageHeader.kMessageIsResponse);
|
| - }
|
| - });
|
| - } else if (response != null) {
|
| - return buildResponseWithId(
|
| - response,
|
| - _regression551MethodGetName,
|
| - message.header.requestId,
|
| - bindings.MessageHeader.kMessageIsResponse);
|
| - }
|
| + _impl.get(params.keyPrefixes, _regression551GetResponseParamsResponder(message.header.requestId));
|
| break;
|
| default:
|
| throw new bindings.MojoCodecError("Unexpected message name");
|
| break;
|
| }
|
| - return null;
|
| }
|
|
|
| Regression551 get impl => _impl;
|
| @@ -3285,22 +3327,25 @@ class Regression551Stub
|
| }
|
|
|
|
|
| - dynamic get(List<String> keyPrefixes,[Function responseFactory = null]) {
|
| - return impl.get(keyPrefixes,responseFactory);
|
| + void get(List<String> keyPrefixes,void callback(int result)) {
|
| + return impl.get(keyPrefixes,callback);
|
| }
|
| }
|
|
|
| const int _serviceNameMethodServiceNameName = 0;
|
|
|
| class _ServiceNameServiceDescription implements service_describer.ServiceDescription {
|
| - dynamic getTopLevelInterface([Function responseFactory]) =>
|
| - responseFactory(null);
|
| + void getTopLevelInterface(Function responder) {
|
| + responder(null);
|
| + }
|
|
|
| - dynamic getTypeDefinition(String typeKey, [Function responseFactory]) =>
|
| - responseFactory(null);
|
| + void getTypeDefinition(String typeKey, Function responder) {
|
| + responder(null);
|
| + }
|
|
|
| - dynamic getAllTypeDefinitions([Function responseFactory]) =>
|
| - responseFactory(null);
|
| + void getAllTypeDefinitions(Function responder) {
|
| + responder(null);
|
| + }
|
| }
|
|
|
| abstract class ServiceName {
|
| @@ -3325,7 +3370,7 @@ abstract class ServiceName {
|
| s.connectToService(url, p, name);
|
| return p;
|
| }
|
| - dynamic serviceName_([Function responseFactory = null]);
|
| + void serviceName_(void callback(String serviceName_));
|
| }
|
|
|
| abstract class ServiceNameInterface
|
| @@ -3375,18 +3420,14 @@ class _ServiceNameProxyControl
|
| proxyError("Expected a message with a valid request Id.");
|
| return;
|
| }
|
| - Completer c = completerMap[message.header.requestId];
|
| - if (c == null) {
|
| + Function callback = callbackMap[message.header.requestId];
|
| + if (callback == null) {
|
| proxyError(
|
| "Message had unknown request Id: ${message.header.requestId}");
|
| return;
|
| }
|
| - completerMap.remove(message.header.requestId);
|
| - if (c.isCompleted) {
|
| - proxyError("Response completer already completed");
|
| - return;
|
| - }
|
| - c.complete(r);
|
| + callbackMap.remove(message.header.requestId);
|
| + callback(r.serviceName_ );
|
| break;
|
| default:
|
| proxyError("Unexpected message type: ${message.header.type}");
|
| @@ -3431,16 +3472,18 @@ class ServiceNameProxy
|
| }
|
|
|
|
|
| - dynamic serviceName_([Function responseFactory = null]) {
|
| + void serviceName_(void callback(String serviceName_)) {
|
| if (impl != null) {
|
| - return new Future(() => impl.serviceName_(_ServiceNameStubControl._serviceNameServiceNameResponseParamsFactory));
|
| + impl.serviceName_(callback);
|
| + return;
|
| }
|
| var params = new _ServiceNameServiceNameParams();
|
| - return ctrl.sendMessageWithRequestId(
|
| + ctrl.sendMessageWithRequestId(
|
| params,
|
| _serviceNameMethodServiceNameName,
|
| -1,
|
| - bindings.MessageHeader.kMessageExpectsResponse);
|
| + bindings.MessageHeader.kMessageExpectsResponse,
|
| + callback);
|
| }
|
| }
|
|
|
| @@ -3466,47 +3509,36 @@ class _ServiceNameStubControl
|
| String get serviceName => ServiceName.serviceName;
|
|
|
|
|
| - static ServiceNameServiceNameResponseParams _serviceNameServiceNameResponseParamsFactory(String serviceName_) {
|
| - var result = new ServiceNameServiceNameResponseParams();
|
| - result.serviceName_ = serviceName_;
|
| - return result;
|
| + Function _serviceNameServiceNameResponseParamsResponder(
|
| + int requestId) {
|
| + return (String serviceName_) {
|
| + var result = new ServiceNameServiceNameResponseParams();
|
| + result.serviceName_ = serviceName_;
|
| + sendResponse(buildResponseWithId(
|
| + result,
|
| + _serviceNameMethodServiceNameName,
|
| + requestId,
|
| + bindings.MessageHeader.kMessageIsResponse));
|
| + };
|
| }
|
|
|
| - dynamic handleMessage(bindings.ServiceMessage message) {
|
| + void handleMessage(bindings.ServiceMessage message) {
|
| if (bindings.ControlMessageHandler.isControlMessage(message)) {
|
| - return bindings.ControlMessageHandler.handleMessage(this,
|
| - 0,
|
| - message);
|
| + bindings.ControlMessageHandler.handleMessage(
|
| + this, 0, message);
|
| + return;
|
| }
|
| if (_impl == null) {
|
| throw new core.MojoApiError("$this has no implementation set");
|
| }
|
| switch (message.header.type) {
|
| case _serviceNameMethodServiceNameName:
|
| - var response = _impl.serviceName_(_serviceNameServiceNameResponseParamsFactory);
|
| - if (response is Future) {
|
| - return response.then((response) {
|
| - if (response != null) {
|
| - return buildResponseWithId(
|
| - response,
|
| - _serviceNameMethodServiceNameName,
|
| - message.header.requestId,
|
| - bindings.MessageHeader.kMessageIsResponse);
|
| - }
|
| - });
|
| - } else if (response != null) {
|
| - return buildResponseWithId(
|
| - response,
|
| - _serviceNameMethodServiceNameName,
|
| - message.header.requestId,
|
| - bindings.MessageHeader.kMessageIsResponse);
|
| - }
|
| + _impl.serviceName_(_serviceNameServiceNameResponseParamsResponder(message.header.requestId));
|
| break;
|
| default:
|
| throw new bindings.MojoCodecError("Unexpected message name");
|
| break;
|
| }
|
| - return null;
|
| }
|
|
|
| ServiceName get impl => _impl;
|
| @@ -3560,8 +3592,8 @@ class ServiceNameStub
|
| }
|
|
|
|
|
| - dynamic serviceName_([Function responseFactory = null]) {
|
| - return impl.serviceName_(responseFactory);
|
| + void serviceName_(void callback(String serviceName_)) {
|
| + return impl.serviceName_(callback);
|
| }
|
| }
|
|
|
| @@ -3578,7 +3610,7 @@ mojom_types.RuntimeTypeInfo _initRuntimeTypeInfo() {
|
| // serializedRuntimeTypeInfo contains the bytes of the Mojo serialization of
|
| // a mojom_types.RuntimeTypeInfo struct describing the Mojom types in this
|
| // file. The string contains the base64 encoding of the gzip-compressed bytes.
|
| - var serializedRuntimeTypeInfo = "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";
|
| + var serializedRuntimeTypeInfo = "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";
|
|
|
| // Deserialize RuntimeTypeInfo
|
| var bytes = BASE64.decode(serializedRuntimeTypeInfo);
|
|
|