equal
deleted
inserted
replaced
24 } |
24 } |
25 |
25 |
26 object File_Watcher |
26 object File_Watcher |
27 { |
27 { |
28 val none: File_Watcher = new File_Watcher |
28 val none: File_Watcher = new File_Watcher |
|
29 { |
|
30 override def toString: String = "File_Watcher.none" |
|
31 } |
29 |
32 |
30 def apply(handle: Set[JFile] => Unit, delay: => Time = Time.seconds(0.5)): File_Watcher = |
33 def apply(handle: Set[JFile] => Unit, delay: => Time = Time.seconds(0.5)): File_Watcher = |
31 if (Platform.is_windows) none else new Impl(handle, delay) |
34 if (Platform.is_windows) none else new Impl(handle, delay) |
32 |
35 |
33 |
36 |
39 |
42 |
40 class Impl private[File_Watcher](handle: Set[JFile] => Unit, delay: Time) extends File_Watcher |
43 class Impl private[File_Watcher](handle: Set[JFile] => Unit, delay: Time) extends File_Watcher |
41 { |
44 { |
42 private val state = Synchronized(File_Watcher.State()) |
45 private val state = Synchronized(File_Watcher.State()) |
43 private val watcher = FileSystems.getDefault.newWatchService() |
46 private val watcher = FileSystems.getDefault.newWatchService() |
|
47 |
|
48 override def toString: String = |
|
49 state.value.dirs.keySet.mkString("File_Watcher(", ", ", ")") |
44 |
50 |
45 |
51 |
46 /* registered directories */ |
52 /* registered directories */ |
47 |
53 |
48 override def register(dir: JFile): Unit = |
54 override def register(dir: JFile): Unit = |