Chromium Code Reviews| Index: lib/src/delegates.dart |
| diff --git a/lib/src/delegates.dart b/lib/src/delegates.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..e0458ef378027b18e720d5e0b197db2b4cb7ccc1 |
| --- /dev/null |
| +++ b/lib/src/delegates.dart |
| @@ -0,0 +1,47 @@ |
| +// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
| +// for details. All rights reserved. Use of this source code is governed by a |
| +// BSD-style license that can be found in the LICENSE file. |
| + |
| +library async.streams.delegates; |
|
nweiz
2015/06/12 01:24:22
Library annotations should match the path to the l
Lasse Reichstein Nielsen
2015/06/12 13:04:19
Without the "src" I assume.
I originally expected
nweiz
2015/06/16 01:05:22
They matter exactly inasmuch as tools will complai
|
| + |
| +import 'dart:async'; |
| + |
| +/// Simple delegating wrapper around a [StreamSubscription]. |
| +/// |
| +/// Subclasses can override individual methods. |
| +class DelegatingStreamSubscription<T> implements StreamSubscription<T> { |
| + final StreamSubscription _source; |
| + |
| + DelegatingStreamSubscription(StreamSubscription subscription) |
| + : _source = subscription; |
| + |
| + void onData(void handleData(T data)) { |
| + _source.onData(handleData); |
| + } |
| + |
| + void onError(Function handleError) { |
| + _source.onError(handleError); |
| + } |
| + |
| + void onDone(void handleDone()) { |
| + _source.onDone(handleDone); |
| + } |
| + |
| + void pause([Future resumeFuture]) { |
| + _source.pause(resumeFuture); |
| + } |
| + |
| + void resume() { |
| + _source.resume(); |
| + } |
| + |
| + Future cancel() { |
| + return _source.cancel(); |
| + } |
| + |
| + Future asFuture([futureValue]) { |
| + return _source.asFuture(futureValue); |
| + } |
| + |
| + bool get isPaused => _source.isPaused; |
| +} |