2013-05-29 07:34:36 +08:00
|
|
|
// Copyright (c) 2013 ActiveState Software Inc. All rights reserved.
|
|
|
|
|
|
|
|
package watch
|
|
|
|
|
|
|
|
import (
|
2014-06-15 14:39:34 +08:00
|
|
|
"gopkg.in/tomb.v1"
|
2013-09-23 15:03:51 +08:00
|
|
|
"os"
|
2013-05-29 07:34:36 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
// FileWatcher monitors file-level events.
|
|
|
|
type FileWatcher interface {
|
2013-05-30 07:32:01 +08:00
|
|
|
// BlockUntilExists blocks until the file comes into existence.
|
2013-09-23 15:03:51 +08:00
|
|
|
BlockUntilExists(*tomb.Tomb) error
|
2013-05-29 07:34:36 +08:00
|
|
|
|
2013-05-30 07:32:01 +08:00
|
|
|
// ChangeEvents reports on changes to a file, be it modification,
|
|
|
|
// deletion, renames or truncations. Returned FileChanges group of
|
|
|
|
// channels will be closed, thus become unusable, after a deletion
|
|
|
|
// or truncation event.
|
2013-09-23 15:03:51 +08:00
|
|
|
ChangeEvents(*tomb.Tomb, os.FileInfo) *FileChanges
|
2013-05-29 07:34:36 +08:00
|
|
|
}
|