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

Unified Diff: mojo/dart/packages/_mojo_for_test_only/lib/mojo/test/test_unions.mojom.dart

Issue 1964193002: Dart: Refactors Proxies (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Address comments 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/dart/packages/_mojo_for_test_only/lib/mojo/test/test_unions.mojom.dart
diff --git a/mojo/dart/packages/_mojo_for_test_only/lib/mojo/test/test_unions.mojom.dart b/mojo/dart/packages/_mojo_for_test_only/lib/mojo/test/test_unions.mojom.dart
index ea6ee4cf1c4582502ffd10e75bd315070440387f..46bf438ca50d002b940c007a93467e66a962ca7b 100644
--- a/mojo/dart/packages/_mojo_for_test_only/lib/mojo/test/test_unions.mojom.dart
+++ b/mojo/dart/packages/_mojo_for_test_only/lib/mojo/test/test_unions.mojom.dart
@@ -2972,24 +2972,22 @@ abstract class SmallCache {
}
-class _SmallCacheProxyImpl extends bindings.Proxy {
- _SmallCacheProxyImpl.fromEndpoint(
+class _SmallCacheProxyControl extends bindings.ProxyMessageHandler
+ implements bindings.ProxyControl {
+ _SmallCacheProxyControl.fromEndpoint(
core.MojoMessagePipeEndpoint endpoint) : super.fromEndpoint(endpoint);
- _SmallCacheProxyImpl.fromHandle(core.MojoHandle handle) :
- super.fromHandle(handle);
+ _SmallCacheProxyControl.fromHandle(
+ core.MojoHandle handle) : super.fromHandle(handle);
- _SmallCacheProxyImpl.unbound() : super.unbound();
-
- static _SmallCacheProxyImpl newFromEndpoint(
- core.MojoMessagePipeEndpoint endpoint) {
- assert(endpoint.setDescription("For _SmallCacheProxyImpl"));
- return new _SmallCacheProxyImpl.fromEndpoint(endpoint);
- }
+ _SmallCacheProxyControl.unbound() : super.unbound();
service_describer.ServiceDescription get serviceDescription =>
- new _SmallCacheServiceDescription();
+ new _SmallCacheServiceDescription();
+
+ String get serviceName => SmallCache.serviceName;
+ @override
void handleResponse(bindings.ServiceMessage message) {
switch (message.header.type) {
case _smallCacheMethodGetIntValueName:
@@ -3019,59 +3017,30 @@ class _SmallCacheProxyImpl extends bindings.Proxy {
}
}
+ @override
String toString() {
var superString = super.toString();
- return "_SmallCacheProxyImpl($superString)";
+ return "_SmallCacheProxyControl($superString)";
}
}
-class _SmallCacheProxyCalls implements SmallCache {
- _SmallCacheProxyImpl _proxyImpl;
-
- _SmallCacheProxyCalls(this._proxyImpl);
- void setIntValue(int intValue) {
- if (!_proxyImpl.isBound) {
- _proxyImpl.proxyError("The Proxy is closed.");
- return;
- }
- var params = new _SmallCacheSetIntValueParams();
- params.intValue = intValue;
- _proxyImpl.sendMessage(params, _smallCacheMethodSetIntValueName);
- }
- dynamic getIntValue([Function responseFactory = null]) {
- var params = new _SmallCacheGetIntValueParams();
- return _proxyImpl.sendMessageWithRequestId(
- params,
- _smallCacheMethodGetIntValueName,
- -1,
- bindings.MessageHeader.kMessageExpectsResponse);
- }
-}
-
-
-class SmallCacheProxy implements bindings.ProxyBase {
- final bindings.Proxy impl;
- SmallCache ptr;
-
- SmallCacheProxy(_SmallCacheProxyImpl proxyImpl) :
- impl = proxyImpl,
- ptr = new _SmallCacheProxyCalls(proxyImpl);
-
+class SmallCacheProxy extends bindings.Proxy
+ implements SmallCache {
SmallCacheProxy.fromEndpoint(
- core.MojoMessagePipeEndpoint endpoint) :
- impl = new _SmallCacheProxyImpl.fromEndpoint(endpoint) {
- ptr = new _SmallCacheProxyCalls(impl);
- }
+ core.MojoMessagePipeEndpoint endpoint)
+ : super(new _SmallCacheProxyControl.fromEndpoint(endpoint));
- SmallCacheProxy.fromHandle(core.MojoHandle handle) :
- impl = new _SmallCacheProxyImpl.fromHandle(handle) {
- ptr = new _SmallCacheProxyCalls(impl);
- }
+ SmallCacheProxy.fromHandle(core.MojoHandle handle)
+ : super(new _SmallCacheProxyControl.fromHandle(handle));
- SmallCacheProxy.unbound() :
- impl = new _SmallCacheProxyImpl.unbound() {
- ptr = new _SmallCacheProxyCalls(impl);
+ SmallCacheProxy.unbound()
+ : super(new _SmallCacheProxyControl.unbound());
+
+ static SmallCacheProxy newFromEndpoint(
+ core.MojoMessagePipeEndpoint endpoint) {
+ assert(endpoint.setDescription("For SmallCacheProxy"));
+ return new SmallCacheProxy.fromEndpoint(endpoint);
}
factory SmallCacheProxy.connectToService(
@@ -3081,30 +3050,24 @@ class SmallCacheProxy implements bindings.ProxyBase {
return p;
}
- static SmallCacheProxy newFromEndpoint(
- core.MojoMessagePipeEndpoint endpoint) {
- assert(endpoint.setDescription("For SmallCacheProxy"));
- return new SmallCacheProxy.fromEndpoint(endpoint);
- }
-
- String get serviceName => SmallCache.serviceName;
-
- Future close({bool immediate: false}) => impl.close(immediate: immediate);
-
- Future responseOrError(Future f) => impl.responseOrError(f);
-
- Future get errorFuture => impl.errorFuture;
-
- int get version => impl.version;
- Future<int> queryVersion() => impl.queryVersion();
-
- void requireVersion(int requiredVersion) {
- impl.requireVersion(requiredVersion);
+ void setIntValue(int intValue) {
+ if (!ctrl.isBound) {
+ ctrl.proxyError("The Proxy is closed.");
+ return;
+ }
+ var params = new _SmallCacheSetIntValueParams();
+ params.intValue = intValue;
+ ctrl.sendMessage(params,
+ _smallCacheMethodSetIntValueName);
}
-
- String toString() {
- return "SmallCacheProxy($impl)";
+ dynamic getIntValue([Function responseFactory = null]) {
+ var params = new _SmallCacheGetIntValueParams();
+ return ctrl.sendMessageWithRequestId(
+ params,
+ _smallCacheMethodGetIntValueName,
+ -1,
+ bindings.MessageHeader.kMessageExpectsResponse);
}
}
@@ -3235,24 +3198,22 @@ abstract class UnionInterface {
}
-class _UnionInterfaceProxyImpl extends bindings.Proxy {
- _UnionInterfaceProxyImpl.fromEndpoint(
+class _UnionInterfaceProxyControl extends bindings.ProxyMessageHandler
+ implements bindings.ProxyControl {
+ _UnionInterfaceProxyControl.fromEndpoint(
core.MojoMessagePipeEndpoint endpoint) : super.fromEndpoint(endpoint);
- _UnionInterfaceProxyImpl.fromHandle(core.MojoHandle handle) :
- super.fromHandle(handle);
+ _UnionInterfaceProxyControl.fromHandle(
+ core.MojoHandle handle) : super.fromHandle(handle);
- _UnionInterfaceProxyImpl.unbound() : super.unbound();
-
- static _UnionInterfaceProxyImpl newFromEndpoint(
- core.MojoMessagePipeEndpoint endpoint) {
- assert(endpoint.setDescription("For _UnionInterfaceProxyImpl"));
- return new _UnionInterfaceProxyImpl.fromEndpoint(endpoint);
- }
+ _UnionInterfaceProxyControl.unbound() : super.unbound();
service_describer.ServiceDescription get serviceDescription =>
- new _UnionInterfaceServiceDescription();
+ new _UnionInterfaceServiceDescription();
+
+ String get serviceName => UnionInterface.serviceName;
+ @override
void handleResponse(bindings.ServiceMessage message) {
switch (message.header.type) {
case _unionInterfaceMethodEchoName:
@@ -3282,51 +3243,30 @@ class _UnionInterfaceProxyImpl extends bindings.Proxy {
}
}
+ @override
String toString() {
var superString = super.toString();
- return "_UnionInterfaceProxyImpl($superString)";
+ return "_UnionInterfaceProxyControl($superString)";
}
}
-class _UnionInterfaceProxyCalls implements UnionInterface {
- _UnionInterfaceProxyImpl _proxyImpl;
-
- _UnionInterfaceProxyCalls(this._proxyImpl);
- dynamic echo(PodUnion inVal,[Function responseFactory = null]) {
- var params = new _UnionInterfaceEchoParams();
- params.inVal = inVal;
- return _proxyImpl.sendMessageWithRequestId(
- params,
- _unionInterfaceMethodEchoName,
- -1,
- bindings.MessageHeader.kMessageExpectsResponse);
- }
-}
-
-
-class UnionInterfaceProxy implements bindings.ProxyBase {
- final bindings.Proxy impl;
- UnionInterface ptr;
-
- UnionInterfaceProxy(_UnionInterfaceProxyImpl proxyImpl) :
- impl = proxyImpl,
- ptr = new _UnionInterfaceProxyCalls(proxyImpl);
-
+class UnionInterfaceProxy extends bindings.Proxy
+ implements UnionInterface {
UnionInterfaceProxy.fromEndpoint(
- core.MojoMessagePipeEndpoint endpoint) :
- impl = new _UnionInterfaceProxyImpl.fromEndpoint(endpoint) {
- ptr = new _UnionInterfaceProxyCalls(impl);
- }
+ core.MojoMessagePipeEndpoint endpoint)
+ : super(new _UnionInterfaceProxyControl.fromEndpoint(endpoint));
- UnionInterfaceProxy.fromHandle(core.MojoHandle handle) :
- impl = new _UnionInterfaceProxyImpl.fromHandle(handle) {
- ptr = new _UnionInterfaceProxyCalls(impl);
- }
+ UnionInterfaceProxy.fromHandle(core.MojoHandle handle)
+ : super(new _UnionInterfaceProxyControl.fromHandle(handle));
- UnionInterfaceProxy.unbound() :
- impl = new _UnionInterfaceProxyImpl.unbound() {
- ptr = new _UnionInterfaceProxyCalls(impl);
+ UnionInterfaceProxy.unbound()
+ : super(new _UnionInterfaceProxyControl.unbound());
+
+ static UnionInterfaceProxy newFromEndpoint(
+ core.MojoMessagePipeEndpoint endpoint) {
+ assert(endpoint.setDescription("For UnionInterfaceProxy"));
+ return new UnionInterfaceProxy.fromEndpoint(endpoint);
}
factory UnionInterfaceProxy.connectToService(
@@ -3336,30 +3276,15 @@ class UnionInterfaceProxy implements bindings.ProxyBase {
return p;
}
- static UnionInterfaceProxy newFromEndpoint(
- core.MojoMessagePipeEndpoint endpoint) {
- assert(endpoint.setDescription("For UnionInterfaceProxy"));
- return new UnionInterfaceProxy.fromEndpoint(endpoint);
- }
-
- String get serviceName => UnionInterface.serviceName;
-
- Future close({bool immediate: false}) => impl.close(immediate: immediate);
-
- Future responseOrError(Future f) => impl.responseOrError(f);
-
- Future get errorFuture => impl.errorFuture;
-
- int get version => impl.version;
- Future<int> queryVersion() => impl.queryVersion();
-
- void requireVersion(int requiredVersion) {
- impl.requireVersion(requiredVersion);
- }
-
- String toString() {
- return "UnionInterfaceProxy($impl)";
+ dynamic echo(PodUnion inVal,[Function responseFactory = null]) {
+ var params = new _UnionInterfaceEchoParams();
+ params.inVal = inVal;
+ return ctrl.sendMessageWithRequestId(
+ params,
+ _unionInterfaceMethodEchoName,
+ -1,
+ bindings.MessageHeader.kMessageExpectsResponse);
}
}
@@ -3481,7 +3406,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);

Powered by Google App Engine
This is Rietveld 408576698