Chromium Code Reviews| Index: lib/isolate/timer_api.dart |
| =================================================================== |
| --- lib/isolate/timer_api.dart (revision 0) |
| +++ lib/isolate/timer_api.dart (revision 0) |
| @@ -0,0 +1,49 @@ |
| +// Copyright (c) 2012, 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. |
| + |
| +interface Timer default _TimerFactory { |
| + /** |
| + * Creates a new timer. The [callback] callback is invoked after |
| + * [milliSeconds] milliseconds. |
| + */ |
| + Timer(int milliSeconds, void callback(Timer timer)); |
| + |
| + /** |
| + * Creates a new repeating timer. The [callback] is invoked every |
| + * [milliSeconds] millisecond until cancelled. |
| + */ |
| + Timer.repeating(int milliSeconds, void callback(Timer timer)); |
| + |
| + /** |
| + * Cancels the timer. |
| + */ |
| + void cancel(); |
| +} |
| + |
| +typedef Timer _TimerFactoryClosure(int milliSeconds, |
| + void callback(Timer timer), |
| + bool repeating); |
| + |
| +class _TimerFactory { |
|
Siggi Cherem (dart-lang)
2012/06/13 17:21:12
can we split this file, moving this class and type
|
| + |
| + factory Timer(int milliSeconds, void callback(Timer timer)) { |
| + if (_factory == null) { |
| + throw new UnsupportedOperationException("Timer interface not supported."); |
| + } |
| + return _factory(milliSeconds, callback, false); |
| + } |
| + |
| + factory Timer.repeating(int milliSeconds, void callback(Timer timer)) { |
| + if (_factory == null) { |
| + throw new UnsupportedOperationException("Timer interface not supported."); |
| + } |
| + return _factory(milliSeconds, callback, true); |
| + } |
| + |
| + static _TimerFactoryClosure _factory; |
| +} |
| + |
| +void _setTimerFactoryClosure(_TimerFactoryClosure closure) { |
| + _TimerFactory._factory = closure; |
| +} |