| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 library watcher.file_watcher; | |
| 6 | |
| 7 import 'dart:io'; | 5 import 'dart:io'; |
| 8 | 6 |
| 9 import 'watch_event.dart'; | |
| 10 import '../watcher.dart'; | 7 import '../watcher.dart'; |
| 11 import 'file_watcher/native.dart'; | 8 import 'file_watcher/native.dart'; |
| 12 import 'file_watcher/polling.dart'; | 9 import 'file_watcher/polling.dart'; |
| 13 | 10 |
| 14 /// Watches a file and emits [WatchEvent]s when the file has changed. | 11 /// Watches a file and emits [WatchEvent]s when the file has changed. |
| 15 /// | 12 /// |
| 16 /// Note that since each watcher only watches a single file, it will only emit | 13 /// Note that since each watcher only watches a single file, it will only emit |
| 17 /// [ChangeType.MODIFY] events, except when the file is deleted at which point | 14 /// [ChangeType.MODIFY] events, except when the file is deleted at which point |
| 18 /// it will emit a single [ChangeType.REMOVE] event and then close the stream. | 15 /// it will emit a single [ChangeType.REMOVE] event and then close the stream. |
| 19 /// | 16 /// |
| (...skipping 14 matching lines...) Expand all Loading... |
| 34 factory FileWatcher(String file, {Duration pollingDelay}) { | 31 factory FileWatcher(String file, {Duration pollingDelay}) { |
| 35 // [File.watch] doesn't work on Windows, but | 32 // [File.watch] doesn't work on Windows, but |
| 36 // [FileSystemEntity.isWatchSupported] is still true because directory | 33 // [FileSystemEntity.isWatchSupported] is still true because directory |
| 37 // watching does work. | 34 // watching does work. |
| 38 if (FileSystemEntity.isWatchSupported && !Platform.isWindows) { | 35 if (FileSystemEntity.isWatchSupported && !Platform.isWindows) { |
| 39 return new NativeFileWatcher(file); | 36 return new NativeFileWatcher(file); |
| 40 } | 37 } |
| 41 return new PollingFileWatcher(file, pollingDelay: pollingDelay); | 38 return new PollingFileWatcher(file, pollingDelay: pollingDelay); |
| 42 } | 39 } |
| 43 } | 40 } |
| OLD | NEW |