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

Unified Diff: mojo/dart/packages/mojo_services/lib/mojo/terminal/terminal_client.mojom.dart

Issue 1998433002: Dart: Adds Interface and InterfaceRequest interfaces. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Merge 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_services/lib/mojo/terminal/terminal_client.mojom.dart
diff --git a/mojo/dart/packages/mojo_services/lib/mojo/terminal/terminal_client.mojom.dart b/mojo/dart/packages/mojo_services/lib/mojo/terminal/terminal_client.mojom.dart
index fbaa28f81eb5ffd90278938f10e34ad56c559b49..d102ced1498de9a52463df9587b94a3c3479ee99 100644
--- a/mojo/dart/packages/mojo_services/lib/mojo/terminal/terminal_client.mojom.dart
+++ b/mojo/dart/packages/mojo_services/lib/mojo/terminal/terminal_client.mojom.dart
@@ -15,7 +15,7 @@ class _TerminalClientConnectToTerminalParams extends bindings.Struct {
static const List<bindings.StructDataHeader> kVersions = const [
const bindings.StructDataHeader(16, 0)
];
- Object terminal = null;
+ file_mojom.FileInterface terminal = null;
_TerminalClientConnectToTerminalParams() : super(kVersions.last.size);
@@ -96,12 +96,50 @@ class _TerminalClientServiceDescription implements service_describer.ServiceDesc
abstract class TerminalClient {
static const String serviceName = "mojo::terminal::TerminalClient";
- void connectToTerminal(Object terminal);
+
+ static service_describer.ServiceDescription _cachedServiceDescription;
+ static service_describer.ServiceDescription get serviceDescription {
+ if (_cachedServiceDescription == null) {
+ _cachedServiceDescription = new _TerminalClientServiceDescription();
+ }
+ return _cachedServiceDescription;
+ }
+
+ static TerminalClientProxy connectToService(
+ bindings.ServiceConnector s, String url, [String serviceName]) {
+ TerminalClientProxy p = new TerminalClientProxy.unbound();
+ String name = serviceName ?? TerminalClient.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;
+ }
+ void connectToTerminal(file_mojom.FileInterface terminal);
+}
+
+abstract class TerminalClientInterface
+ implements bindings.MojoInterface<TerminalClient>,
+ TerminalClient {
+ factory TerminalClientInterface([TerminalClient impl]) =>
+ new TerminalClientStub.unbound(impl);
+ factory TerminalClientInterface.fromEndpoint(
+ core.MojoMessagePipeEndpoint endpoint,
+ [TerminalClient impl]) =>
+ new TerminalClientStub.fromEndpoint(endpoint, impl);
+}
+
+abstract class TerminalClientInterfaceRequest
+ implements bindings.MojoInterface<TerminalClient>,
+ TerminalClient {
+ factory TerminalClientInterfaceRequest() =>
+ new TerminalClientProxy.unbound();
}
class _TerminalClientProxyControl
extends bindings.ProxyMessageHandler
- implements bindings.ProxyControl {
+ implements bindings.ProxyControl<TerminalClient> {
_TerminalClientProxyControl.fromEndpoint(
core.MojoMessagePipeEndpoint endpoint) : super.fromEndpoint(endpoint);
@@ -110,9 +148,6 @@ class _TerminalClientProxyControl
_TerminalClientProxyControl.unbound() : super.unbound();
- service_describer.ServiceDescription get serviceDescription =>
- new _TerminalClientServiceDescription();
-
String get serviceName => TerminalClient.serviceName;
void handleResponse(bindings.ServiceMessage message) {
@@ -124,6 +159,11 @@ class _TerminalClientProxyControl
}
}
+ TerminalClient get impl => null;
+ set impl(TerminalClient _) {
+ throw new core.MojoApiError("The impl of a Proxy cannot be set.");
+ }
+
@override
String toString() {
var superString = super.toString();
@@ -132,8 +172,10 @@ class _TerminalClientProxyControl
}
class TerminalClientProxy
- extends bindings.Proxy
- implements TerminalClient {
+ extends bindings.Proxy<TerminalClient>
+ implements TerminalClient,
+ TerminalClientInterface,
+ TerminalClientInterfaceRequest {
TerminalClientProxy.fromEndpoint(
core.MojoMessagePipeEndpoint endpoint)
: super(new _TerminalClientProxyControl.fromEndpoint(endpoint));
@@ -150,15 +192,8 @@ class TerminalClientProxy
return new TerminalClientProxy.fromEndpoint(endpoint);
}
- factory TerminalClientProxy.connectToService(
- bindings.ServiceConnector s, String url, [String serviceName]) {
- TerminalClientProxy p = new TerminalClientProxy.unbound();
- s.connectToService(url, p, serviceName);
- return p;
- }
-
- void connectToTerminal(Object terminal) {
+ void connectToTerminal(file_mojom.FileInterface terminal) {
if (!ctrl.isBound) {
ctrl.proxyError("The Proxy is closed.");
return;
@@ -189,6 +224,8 @@ class _TerminalClientStubControl
_TerminalClientStubControl.unbound([this._impl]) : super.unbound();
+ String get serviceName => TerminalClient.serviceName;
+
dynamic handleMessage(bindings.ServiceMessage message) {
@@ -239,19 +276,16 @@ class _TerminalClientStubControl
}
int get version => 0;
-
- static service_describer.ServiceDescription _cachedServiceDescription;
- static service_describer.ServiceDescription get serviceDescription {
- if (_cachedServiceDescription == null) {
- _cachedServiceDescription = new _TerminalClientServiceDescription();
- }
- return _cachedServiceDescription;
- }
}
class TerminalClientStub
extends bindings.Stub<TerminalClient>
- implements TerminalClient {
+ implements TerminalClient,
+ TerminalClientInterface,
+ TerminalClientInterfaceRequest {
+ TerminalClientStub.unbound([TerminalClient impl])
+ : super(new _TerminalClientStubControl.unbound(impl));
+
TerminalClientStub.fromEndpoint(
core.MojoMessagePipeEndpoint endpoint, [TerminalClient impl])
: super(new _TerminalClientStubControl.fromEndpoint(endpoint, impl));
@@ -260,20 +294,14 @@ class TerminalClientStub
core.MojoHandle handle, [TerminalClient impl])
: super(new _TerminalClientStubControl.fromHandle(handle, impl));
- TerminalClientStub.unbound([TerminalClient impl])
- : super(new _TerminalClientStubControl.unbound(impl));
-
static TerminalClientStub newFromEndpoint(
core.MojoMessagePipeEndpoint endpoint) {
assert(endpoint.setDescription("For TerminalClientStub"));
return new TerminalClientStub.fromEndpoint(endpoint);
}
- static service_describer.ServiceDescription get serviceDescription =>
- _TerminalClientStubControl.serviceDescription;
-
- void connectToTerminal(Object terminal) {
+ void connectToTerminal(file_mojom.FileInterface terminal) {
return impl.connectToTerminal(terminal);
}
}

Powered by Google App Engine
This is Rietveld 408576698