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/public/dart/application.dart'; | 7 import 'package:mojo/application.dart'; |
8 import 'package:mojo/public/dart/bindings.dart'; | 8 import 'package:mojo/bindings.dart'; |
9 import 'package:mojo/public/dart/core.dart'; | 9 import 'package:mojo/core.dart'; |
10 import 'package:mojom/mojo/console.mojom.dart'; | 10 import 'package:mojom/mojo/console.mojom.dart'; |
11 | 11 |
12 class ConsoleApplication extends Application { | 12 class ConsoleApplication extends Application { |
13 ConsoleProxy _console; | 13 ConsoleProxy _console; |
14 | 14 |
15 ConsoleApplication.fromHandle(MojoHandle handle) : super.fromHandle(handle); | 15 ConsoleApplication.fromHandle(MojoHandle handle) : super.fromHandle(handle); |
16 | 16 |
17 void initialize(List<String> args, String url) { | 17 void initialize(List<String> args, String url) { |
18 _console = new ConsoleProxy.unbound(); | 18 _console = new ConsoleProxy.unbound(); |
19 connectToService("mojo:console", _console); | 19 connectToService("mojo:console", _console); |
20 run(); | 20 run(); |
21 } | 21 } |
22 | 22 |
23 run() async { | 23 run() async { |
24 var result = await _console.ptr.readLine(); | 24 var result = await _console.ptr.readLine(); |
25 await _console.ptr.printLines([result.line]); | 25 await _console.ptr.printLines([result.line]); |
26 | 26 |
27 _console.close(); | 27 _console.close(); |
28 await close(); | 28 await close(); |
29 assert(MojoHandle.reportLeakedHandles()); | 29 assert(MojoHandle.reportLeakedHandles()); |
30 } | 30 } |
31 } | 31 } |
32 | 32 |
33 main(List args) { | 33 main(List args) { |
34 var appHandle = new MojoHandle(args[0]); | 34 var appHandle = new MojoHandle(args[0]); |
35 new ConsoleApplication.fromHandle(appHandle); | 35 new ConsoleApplication.fromHandle(appHandle); |
36 } | 36 } |
OLD | NEW |