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

Side by Side Diff: runtime/bin/list_stream.dart

Issue 10938010: Switch from interfaces to abstract classes in dart:io. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 3 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 /** 5 /**
6 * [ListInputStream] makes it possible to use the [InputStream] 6 * [ListInputStream] makes it possible to use the [InputStream]
7 * interface to stream over data that is received in chunks as lists 7 * interface to stream over data that is received in chunks as lists
8 * of integers. 8 * of integers.
9 * 9 *
10 * When a new list of integers is received it can be written to the 10 * When a new list of integers is received it can be written to the
11 * [ListInputStream] using the [write] method. The [markEndOfStream] 11 * [ListInputStream] using the [write] method. The [markEndOfStream]
12 * method must be called when the last data has been written to the 12 * method must be called when the last data has been written to the
13 * [ListInputStream]. 13 * [ListInputStream].
14 */ 14 */
15 interface ListInputStream extends InputStream default _ListInputStream { 15 abstract class ListInputStream implements InputStream {
16 /** 16 /**
17 * Create an empty [ListInputStream] to which data can be written 17 * Create an empty [ListInputStream] to which data can be written
18 * using the [write] method. 18 * using the [write] method.
19 */ 19 */
20 ListInputStream(); 20 factory ListInputStream() => new _ListInputStream();
21 21
22 /** 22 /**
23 * Write more data to be streamed over to the [ListInputStream]. 23 * Write more data to be streamed over to the [ListInputStream].
24 */ 24 */
25 void write(List<int> data); 25 void write(List<int> data);
26 26
27 /** 27 /**
28 * Notify the [ListInputStream] that no more data will be written to 28 * Notify the [ListInputStream] that no more data will be written to
29 * it. 29 * it.
30 */ 30 */
31 void markEndOfStream(); 31 void markEndOfStream();
32 } 32 }
33 33
34 34
35 /** 35 /**
36 * [ListOutputStream] makes it possible to use the [OutputStream] 36 * [ListOutputStream] makes it possible to use the [OutputStream]
37 * interface to write data to a [List] of integers. 37 * interface to write data to a [List] of integers.
38 */ 38 */
39 interface ListOutputStream extends OutputStream default _ListOutputStream { 39 abstract class ListOutputStream implements OutputStream {
40 /** 40 /**
41 * Create a [ListOutputStream]. 41 * Create a [ListOutputStream].
42 */ 42 */
43 ListOutputStream(); 43 factory ListOutputStream() => new _ListOutputStream();
44 44
45 /** 45 /**
46 * Reads all available data from the stream. If no data is available `null` 46 * Reads all available data from the stream. If no data is available `null`
47 * will be returned. 47 * will be returned.
48 */ 48 */
49 List<int> read(); 49 List<int> read();
50 50
51 /** 51 /**
52 * Sets the handler that gets called when data is available. 52 * Sets the handler that gets called when data is available.
53 */ 53 */
54 void set onData(void callback()); 54 void set onData(void callback());
55 } 55 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698