| Index: mojo/dart/packages/mojo_services/lib/native_support/process.mojom.dart
|
| diff --git a/mojo/dart/packages/mojo_services/lib/native_support/process.mojom.dart b/mojo/dart/packages/mojo_services/lib/native_support/process.mojom.dart
|
| index 9d364ca84cb4caabe47ebc944c2b4df72b7cd923..a9789d256bff2f09b7bcb00e1656c15261584146 100644
|
| --- a/mojo/dart/packages/mojo_services/lib/native_support/process.mojom.dart
|
| +++ b/mojo/dart/packages/mojo_services/lib/native_support/process.mojom.dart
|
| @@ -19,10 +19,10 @@ class _ProcessSpawnParams extends bindings.Struct {
|
| List<int> path = null;
|
| List<List<int>> argv = null;
|
| List<List<int>> envp = null;
|
| - Object stdinFile = null;
|
| - Object stdoutFile = null;
|
| - Object stderrFile = null;
|
| - Object processController = null;
|
| + file_mojom.FileInterface stdinFile = null;
|
| + file_mojom.FileInterface stdoutFile = null;
|
| + file_mojom.FileInterface stderrFile = null;
|
| + ProcessControllerInterfaceRequest processController = null;
|
|
|
| _ProcessSpawnParams() : super(kVersions.last.size);
|
|
|
| @@ -278,8 +278,8 @@ class _ProcessSpawnWithTerminalParams extends bindings.Struct {
|
| List<int> path = null;
|
| List<List<int>> argv = null;
|
| List<List<int>> envp = null;
|
| - Object terminalFile = null;
|
| - Object processController = null;
|
| + file_mojom.FileInterface terminalFile = null;
|
| + ProcessControllerInterfaceRequest processController = null;
|
|
|
| _ProcessSpawnWithTerminalParams() : super(kVersions.last.size);
|
|
|
| @@ -815,13 +815,51 @@ class _ProcessServiceDescription implements service_describer.ServiceDescription
|
|
|
| abstract class Process {
|
| static const String serviceName = "native_support::Process";
|
| - dynamic spawn(List<int> path,List<List<int>> argv,List<List<int>> envp,Object stdinFile,Object stdoutFile,Object stderrFile,Object processController,[Function responseFactory = null]);
|
| - dynamic spawnWithTerminal(List<int> path,List<List<int>> argv,List<List<int>> envp,Object terminalFile,Object processController,[Function responseFactory = null]);
|
| +
|
| + static service_describer.ServiceDescription _cachedServiceDescription;
|
| + static service_describer.ServiceDescription get serviceDescription {
|
| + if (_cachedServiceDescription == null) {
|
| + _cachedServiceDescription = new _ProcessServiceDescription();
|
| + }
|
| + return _cachedServiceDescription;
|
| + }
|
| +
|
| + static ProcessProxy connectToService(
|
| + bindings.ServiceConnector s, String url, [String serviceName]) {
|
| + ProcessProxy p = new ProcessProxy.unbound();
|
| + String name = serviceName ?? Process.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;
|
| + }
|
| + dynamic spawn(List<int> path,List<List<int>> argv,List<List<int>> envp,file_mojom.FileInterface stdinFile,file_mojom.FileInterface stdoutFile,file_mojom.FileInterface stderrFile,ProcessControllerInterfaceRequest processController,[Function responseFactory = null]);
|
| + dynamic spawnWithTerminal(List<int> path,List<List<int>> argv,List<List<int>> envp,file_mojom.FileInterface terminalFile,ProcessControllerInterfaceRequest processController,[Function responseFactory = null]);
|
| +}
|
| +
|
| +abstract class ProcessInterface
|
| + implements bindings.MojoInterface<Process>,
|
| + Process {
|
| + factory ProcessInterface([Process impl]) =>
|
| + new ProcessStub.unbound(impl);
|
| + factory ProcessInterface.fromEndpoint(
|
| + core.MojoMessagePipeEndpoint endpoint,
|
| + [Process impl]) =>
|
| + new ProcessStub.fromEndpoint(endpoint, impl);
|
| +}
|
| +
|
| +abstract class ProcessInterfaceRequest
|
| + implements bindings.MojoInterface<Process>,
|
| + Process {
|
| + factory ProcessInterfaceRequest() =>
|
| + new ProcessProxy.unbound();
|
| }
|
|
|
| class _ProcessProxyControl
|
| extends bindings.ProxyMessageHandler
|
| - implements bindings.ProxyControl {
|
| + implements bindings.ProxyControl<Process> {
|
| _ProcessProxyControl.fromEndpoint(
|
| core.MojoMessagePipeEndpoint endpoint) : super.fromEndpoint(endpoint);
|
|
|
| @@ -830,9 +868,6 @@ class _ProcessProxyControl
|
|
|
| _ProcessProxyControl.unbound() : super.unbound();
|
|
|
| - service_describer.ServiceDescription get serviceDescription =>
|
| - new _ProcessServiceDescription();
|
| -
|
| String get serviceName => Process.serviceName;
|
|
|
| void handleResponse(bindings.ServiceMessage message) {
|
| @@ -884,6 +919,11 @@ class _ProcessProxyControl
|
| }
|
| }
|
|
|
| + Process get impl => null;
|
| + set impl(Process _) {
|
| + throw new core.MojoApiError("The impl of a Proxy cannot be set.");
|
| + }
|
| +
|
| @override
|
| String toString() {
|
| var superString = super.toString();
|
| @@ -892,8 +932,10 @@ class _ProcessProxyControl
|
| }
|
|
|
| class ProcessProxy
|
| - extends bindings.Proxy
|
| - implements Process {
|
| + extends bindings.Proxy<Process>
|
| + implements Process,
|
| + ProcessInterface,
|
| + ProcessInterfaceRequest {
|
| ProcessProxy.fromEndpoint(
|
| core.MojoMessagePipeEndpoint endpoint)
|
| : super(new _ProcessProxyControl.fromEndpoint(endpoint));
|
| @@ -910,15 +952,8 @@ class ProcessProxy
|
| return new ProcessProxy.fromEndpoint(endpoint);
|
| }
|
|
|
| - factory ProcessProxy.connectToService(
|
| - bindings.ServiceConnector s, String url, [String serviceName]) {
|
| - ProcessProxy p = new ProcessProxy.unbound();
|
| - s.connectToService(url, p, serviceName);
|
| - return p;
|
| - }
|
|
|
| -
|
| - dynamic spawn(List<int> path,List<List<int>> argv,List<List<int>> envp,Object stdinFile,Object stdoutFile,Object stderrFile,Object processController,[Function responseFactory = null]) {
|
| + dynamic spawn(List<int> path,List<List<int>> argv,List<List<int>> envp,file_mojom.FileInterface stdinFile,file_mojom.FileInterface stdoutFile,file_mojom.FileInterface stderrFile,ProcessControllerInterfaceRequest processController,[Function responseFactory = null]) {
|
| var params = new _ProcessSpawnParams();
|
| params.path = path;
|
| params.argv = argv;
|
| @@ -933,7 +968,7 @@ class ProcessProxy
|
| -1,
|
| bindings.MessageHeader.kMessageExpectsResponse);
|
| }
|
| - dynamic spawnWithTerminal(List<int> path,List<List<int>> argv,List<List<int>> envp,Object terminalFile,Object processController,[Function responseFactory = null]) {
|
| + dynamic spawnWithTerminal(List<int> path,List<List<int>> argv,List<List<int>> envp,file_mojom.FileInterface terminalFile,ProcessControllerInterfaceRequest processController,[Function responseFactory = null]) {
|
| var params = new _ProcessSpawnWithTerminalParams();
|
| params.path = path;
|
| params.argv = argv;
|
| @@ -967,6 +1002,8 @@ class _ProcessStubControl
|
|
|
| _ProcessStubControl.unbound([this._impl]) : super.unbound();
|
|
|
| + String get serviceName => Process.serviceName;
|
| +
|
|
|
| ProcessSpawnResponseParams _processSpawnResponseParamsFactory(types_mojom.Error error) {
|
| var result = new ProcessSpawnResponseParams();
|
| @@ -1066,19 +1103,16 @@ class _ProcessStubControl
|
| }
|
|
|
| int get version => 0;
|
| -
|
| - static service_describer.ServiceDescription _cachedServiceDescription;
|
| - static service_describer.ServiceDescription get serviceDescription {
|
| - if (_cachedServiceDescription == null) {
|
| - _cachedServiceDescription = new _ProcessServiceDescription();
|
| - }
|
| - return _cachedServiceDescription;
|
| - }
|
| }
|
|
|
| class ProcessStub
|
| extends bindings.Stub<Process>
|
| - implements Process {
|
| + implements Process,
|
| + ProcessInterface,
|
| + ProcessInterfaceRequest {
|
| + ProcessStub.unbound([Process impl])
|
| + : super(new _ProcessStubControl.unbound(impl));
|
| +
|
| ProcessStub.fromEndpoint(
|
| core.MojoMessagePipeEndpoint endpoint, [Process impl])
|
| : super(new _ProcessStubControl.fromEndpoint(endpoint, impl));
|
| @@ -1087,23 +1121,17 @@ class ProcessStub
|
| core.MojoHandle handle, [Process impl])
|
| : super(new _ProcessStubControl.fromHandle(handle, impl));
|
|
|
| - ProcessStub.unbound([Process impl])
|
| - : super(new _ProcessStubControl.unbound(impl));
|
| -
|
| static ProcessStub newFromEndpoint(
|
| core.MojoMessagePipeEndpoint endpoint) {
|
| assert(endpoint.setDescription("For ProcessStub"));
|
| return new ProcessStub.fromEndpoint(endpoint);
|
| }
|
|
|
| - static service_describer.ServiceDescription get serviceDescription =>
|
| - _ProcessStubControl.serviceDescription;
|
| -
|
|
|
| - dynamic spawn(List<int> path,List<List<int>> argv,List<List<int>> envp,Object stdinFile,Object stdoutFile,Object stderrFile,Object processController,[Function responseFactory = null]) {
|
| + dynamic spawn(List<int> path,List<List<int>> argv,List<List<int>> envp,file_mojom.FileInterface stdinFile,file_mojom.FileInterface stdoutFile,file_mojom.FileInterface stderrFile,ProcessControllerInterfaceRequest processController,[Function responseFactory = null]) {
|
| return impl.spawn(path,argv,envp,stdinFile,stdoutFile,stderrFile,processController,responseFactory);
|
| }
|
| - dynamic spawnWithTerminal(List<int> path,List<List<int>> argv,List<List<int>> envp,Object terminalFile,Object processController,[Function responseFactory = null]) {
|
| + dynamic spawnWithTerminal(List<int> path,List<List<int>> argv,List<List<int>> envp,file_mojom.FileInterface terminalFile,ProcessControllerInterfaceRequest processController,[Function responseFactory = null]) {
|
| return impl.spawnWithTerminal(path,argv,envp,terminalFile,processController,responseFactory);
|
| }
|
| }
|
| @@ -1124,13 +1152,51 @@ class _ProcessControllerServiceDescription implements service_describer.ServiceD
|
|
|
| abstract class ProcessController {
|
| static const String serviceName = null;
|
| +
|
| + static service_describer.ServiceDescription _cachedServiceDescription;
|
| + static service_describer.ServiceDescription get serviceDescription {
|
| + if (_cachedServiceDescription == null) {
|
| + _cachedServiceDescription = new _ProcessControllerServiceDescription();
|
| + }
|
| + return _cachedServiceDescription;
|
| + }
|
| +
|
| + static ProcessControllerProxy connectToService(
|
| + bindings.ServiceConnector s, String url, [String serviceName]) {
|
| + ProcessControllerProxy p = new ProcessControllerProxy.unbound();
|
| + String name = serviceName ?? ProcessController.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;
|
| + }
|
| dynamic wait([Function responseFactory = null]);
|
| dynamic kill(int signal,[Function responseFactory = null]);
|
| }
|
|
|
| +abstract class ProcessControllerInterface
|
| + implements bindings.MojoInterface<ProcessController>,
|
| + ProcessController {
|
| + factory ProcessControllerInterface([ProcessController impl]) =>
|
| + new ProcessControllerStub.unbound(impl);
|
| + factory ProcessControllerInterface.fromEndpoint(
|
| + core.MojoMessagePipeEndpoint endpoint,
|
| + [ProcessController impl]) =>
|
| + new ProcessControllerStub.fromEndpoint(endpoint, impl);
|
| +}
|
| +
|
| +abstract class ProcessControllerInterfaceRequest
|
| + implements bindings.MojoInterface<ProcessController>,
|
| + ProcessController {
|
| + factory ProcessControllerInterfaceRequest() =>
|
| + new ProcessControllerProxy.unbound();
|
| +}
|
| +
|
| class _ProcessControllerProxyControl
|
| extends bindings.ProxyMessageHandler
|
| - implements bindings.ProxyControl {
|
| + implements bindings.ProxyControl<ProcessController> {
|
| _ProcessControllerProxyControl.fromEndpoint(
|
| core.MojoMessagePipeEndpoint endpoint) : super.fromEndpoint(endpoint);
|
|
|
| @@ -1139,9 +1205,6 @@ class _ProcessControllerProxyControl
|
|
|
| _ProcessControllerProxyControl.unbound() : super.unbound();
|
|
|
| - service_describer.ServiceDescription get serviceDescription =>
|
| - new _ProcessControllerServiceDescription();
|
| -
|
| String get serviceName => ProcessController.serviceName;
|
|
|
| void handleResponse(bindings.ServiceMessage message) {
|
| @@ -1193,6 +1256,11 @@ class _ProcessControllerProxyControl
|
| }
|
| }
|
|
|
| + ProcessController get impl => null;
|
| + set impl(ProcessController _) {
|
| + throw new core.MojoApiError("The impl of a Proxy cannot be set.");
|
| + }
|
| +
|
| @override
|
| String toString() {
|
| var superString = super.toString();
|
| @@ -1201,8 +1269,10 @@ class _ProcessControllerProxyControl
|
| }
|
|
|
| class ProcessControllerProxy
|
| - extends bindings.Proxy
|
| - implements ProcessController {
|
| + extends bindings.Proxy<ProcessController>
|
| + implements ProcessController,
|
| + ProcessControllerInterface,
|
| + ProcessControllerInterfaceRequest {
|
| ProcessControllerProxy.fromEndpoint(
|
| core.MojoMessagePipeEndpoint endpoint)
|
| : super(new _ProcessControllerProxyControl.fromEndpoint(endpoint));
|
| @@ -1219,13 +1289,6 @@ class ProcessControllerProxy
|
| return new ProcessControllerProxy.fromEndpoint(endpoint);
|
| }
|
|
|
| - factory ProcessControllerProxy.connectToService(
|
| - bindings.ServiceConnector s, String url, [String serviceName]) {
|
| - ProcessControllerProxy p = new ProcessControllerProxy.unbound();
|
| - s.connectToService(url, p, serviceName);
|
| - return p;
|
| - }
|
| -
|
|
|
| dynamic wait([Function responseFactory = null]) {
|
| var params = new _ProcessControllerWaitParams();
|
| @@ -1265,6 +1328,8 @@ class _ProcessControllerStubControl
|
|
|
| _ProcessControllerStubControl.unbound([this._impl]) : super.unbound();
|
|
|
| + String get serviceName => ProcessController.serviceName;
|
| +
|
|
|
| ProcessControllerWaitResponseParams _processControllerWaitResponseParamsFactory(types_mojom.Error error, int exitStatus) {
|
| var result = new ProcessControllerWaitResponseParams();
|
| @@ -1363,19 +1428,16 @@ class _ProcessControllerStubControl
|
| }
|
|
|
| int get version => 0;
|
| -
|
| - static service_describer.ServiceDescription _cachedServiceDescription;
|
| - static service_describer.ServiceDescription get serviceDescription {
|
| - if (_cachedServiceDescription == null) {
|
| - _cachedServiceDescription = new _ProcessControllerServiceDescription();
|
| - }
|
| - return _cachedServiceDescription;
|
| - }
|
| }
|
|
|
| class ProcessControllerStub
|
| extends bindings.Stub<ProcessController>
|
| - implements ProcessController {
|
| + implements ProcessController,
|
| + ProcessControllerInterface,
|
| + ProcessControllerInterfaceRequest {
|
| + ProcessControllerStub.unbound([ProcessController impl])
|
| + : super(new _ProcessControllerStubControl.unbound(impl));
|
| +
|
| ProcessControllerStub.fromEndpoint(
|
| core.MojoMessagePipeEndpoint endpoint, [ProcessController impl])
|
| : super(new _ProcessControllerStubControl.fromEndpoint(endpoint, impl));
|
| @@ -1384,18 +1446,12 @@ class ProcessControllerStub
|
| core.MojoHandle handle, [ProcessController impl])
|
| : super(new _ProcessControllerStubControl.fromHandle(handle, impl));
|
|
|
| - ProcessControllerStub.unbound([ProcessController impl])
|
| - : super(new _ProcessControllerStubControl.unbound(impl));
|
| -
|
| static ProcessControllerStub newFromEndpoint(
|
| core.MojoMessagePipeEndpoint endpoint) {
|
| assert(endpoint.setDescription("For ProcessControllerStub"));
|
| return new ProcessControllerStub.fromEndpoint(endpoint);
|
| }
|
|
|
| - static service_describer.ServiceDescription get serviceDescription =>
|
| - _ProcessControllerStubControl.serviceDescription;
|
| -
|
|
|
| dynamic wait([Function responseFactory = null]) {
|
| return impl.wait(responseFactory);
|
|
|