| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 import 'dart:async'; | 5 import 'dart:async'; |
| 6 | 6 |
| 7 import 'package:mojo/application.dart'; | 7 import 'package:mojo/application.dart'; |
| 8 import 'package:mojo/bindings.dart'; | 8 import 'package:mojo/bindings.dart'; |
| 9 import 'package:mojo/core.dart'; | 9 import 'package:mojo/core.dart'; |
| 10 | 10 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 21 | 21 |
| 22 void setClient(ProxyBase proxyBase) { | 22 void setClient(ProxyBase proxyBase) { |
| 23 assert(_pingPongClient == null); | 23 assert(_pingPongClient == null); |
| 24 _pingPongClient = proxyBase; | 24 _pingPongClient = proxyBase; |
| 25 } | 25 } |
| 26 | 26 |
| 27 void ping(int pingValue) => _pingPongClient.ptr.pong(pingValue + 1); | 27 void ping(int pingValue) => _pingPongClient.ptr.pong(pingValue + 1); |
| 28 | 28 |
| 29 // These methods are unimplemented; they merely throw on invocation. | 29 // These methods are unimplemented; they merely throw on invocation. |
| 30 Future<PingPongServicePingTargetUrlResponseParams> pingTargetUrl( | 30 Future<PingPongServicePingTargetUrlResponseParams> pingTargetUrl( |
| 31 String url, int count, [Function responseFactory]) => | 31 String url, int count, |
| 32 [Function responseFactory]) => |
| 32 throw "Unimplemented"; | 33 throw "Unimplemented"; |
| 33 Future<PingPongServicePingTargetServiceResponseParams> pingTargetService( | 34 Future<PingPongServicePingTargetServiceResponseParams> pingTargetService( |
| 34 Object service, int count, [Function responseFactory]) => | 35 Object service, int count, |
| 36 [Function responseFactory]) => |
| 35 throw "Unimplemented"; | 37 throw "Unimplemented"; |
| 36 void getPingPongService(Object service) => throw "Unimplemented"; | 38 void getPingPongService(Object service) => throw "Unimplemented"; |
| 37 | 39 |
| 38 void quit() { | 40 void quit() { |
| 39 if (_pingPongClient != null) { | 41 if (_pingPongClient != null) { |
| 40 _pingPongClient.close(); | 42 _pingPongClient.close(); |
| 41 _pingPongClient = null; | 43 _pingPongClient = null; |
| 42 } | 44 } |
| 43 _stub.close(); | 45 _stub.close(); |
| 44 } | 46 } |
| 45 } | 47 } |
| 46 | 48 |
| 47 class PingPongApplication extends Application { | 49 class PingPongApplication extends Application { |
| 48 PingPongApplication.fromHandle(MojoHandle handle) : super.fromHandle(handle); | 50 PingPongApplication.fromHandle(MojoHandle handle) : super.fromHandle(handle); |
| 49 | 51 |
| 50 @override | 52 @override |
| 51 void acceptConnection(String requestorUrl, String resolvedUrl, | 53 void acceptConnection(String requestorUrl, String resolvedUrl, |
| 52 ApplicationConnection connection) { | 54 ApplicationConnection connection) { |
| 53 connection.provideService(PingPongServiceName, | 55 connection.provideService(PingPongServiceName, |
| 54 (endpoint) => new PingPongServiceImpl(this, endpoint)); | 56 (endpoint) => new PingPongServiceImpl(this, endpoint)); |
| 55 // Close the application when the first connection goes down. | 57 // Close the application when the first connection goes down. |
| 56 connection.onError = closeApplication; | 58 connection.onError = ((_) => closeApplication()); |
| 57 } | 59 } |
| 58 | 60 |
| 59 Future closeApplication() async { | 61 Future closeApplication() async { |
| 60 await close(); | 62 await close(); |
| 61 MojoHandle.reportLeakedHandles(); | 63 MojoHandle.reportLeakedHandles(); |
| 62 } | 64 } |
| 63 } | 65 } |
| 64 | 66 |
| 65 main(List args) { | 67 main(List args) { |
| 66 MojoHandle appHandle = new MojoHandle(args[0]); | 68 MojoHandle appHandle = new MojoHandle(args[0]); |
| 67 String url = args[1]; | 69 String url = args[1]; |
| 68 new PingPongApplication.fromHandle(appHandle); | 70 new PingPongApplication.fromHandle(appHandle); |
| 69 } | 71 } |
| OLD | NEW |