OSDN Git Service

Merge pull request #201 from Bytom/v0.1
[bytom/vapor.git] / vendor / github.com / rjeczalik / notify / event.go
diff --git a/vendor/github.com/rjeczalik/notify/event.go b/vendor/github.com/rjeczalik/notify/event.go
deleted file mode 100644 (file)
index c128841..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-// Copyright (c) 2014-2015 The Notify Authors. All rights reserved.
-// Use of this source code is governed by the MIT license that can be
-// found in the LICENSE file.
-
-package notify
-
-import (
-       "fmt"
-       "strings"
-)
-
-// Event represents the type of filesystem action.
-//
-// Number of available event values is dependent on the target system or the
-// watcher implmenetation used (e.g. it's possible to use either kqueue or
-// FSEvents on Darwin).
-//
-// Please consult documentation for your target platform to see list of all
-// available events.
-type Event uint32
-
-// Create, Remove, Write and Rename are the only event values guaranteed to be
-// present on all platforms.
-const (
-       Create = osSpecificCreate
-       Remove = osSpecificRemove
-       Write  = osSpecificWrite
-       Rename = osSpecificRename
-
-       // All is handful alias for all platform-independent event values.
-       All = Create | Remove | Write | Rename
-)
-
-const internal = recursive | omit
-
-// String implements fmt.Stringer interface.
-func (e Event) String() string {
-       var s []string
-       for _, strmap := range []map[Event]string{estr, osestr} {
-               for ev, str := range strmap {
-                       if e&ev == ev {
-                               s = append(s, str)
-                       }
-               }
-       }
-       return strings.Join(s, "|")
-}
-
-// EventInfo describes an event reported by the underlying filesystem notification
-// subsystem.
-//
-// It always describes single event, even if the OS reported a coalesced action.
-// Reported path is absolute and clean.
-//
-// For non-recursive watchpoints its base is always equal to the path passed
-// to corresponding Watch call.
-//
-// The value of Sys if system-dependent and can be nil.
-//
-// Sys
-//
-// Under Darwin (FSEvents) Sys() always returns a non-nil *notify.FSEvent value,
-// which is defined as:
-//
-//   type FSEvent struct {
-//       Path  string // real path of the file or directory
-//       ID    uint64 // ID of the event (FSEventStreamEventId)
-//       Flags uint32 // joint FSEvents* flags (FSEventStreamEventFlags)
-//   }
-//
-// For possible values of Flags see Darwin godoc for notify or FSEvents
-// documentation for FSEventStreamEventFlags constants:
-//
-//    https://developer.apple.com/library/mac/documentation/Darwin/Reference/FSEvents_Ref/index.html#//apple_ref/doc/constant_group/FSEventStreamEventFlags
-//
-// Under Linux (inotify) Sys() always returns a non-nil *unix.InotifyEvent
-// value, defined as:
-//
-//   type InotifyEvent struct {
-//       Wd     int32    // Watch descriptor
-//       Mask   uint32   // Mask describing event
-//       Cookie uint32   // Unique cookie associating related events (for rename(2))
-//       Len    uint32   // Size of name field
-//       Name   [0]uint8 // Optional null-terminated name
-//   }
-//
-// More information about inotify masks and the usage of inotify_event structure
-// can be found at:
-//
-//    http://man7.org/linux/man-pages/man7/inotify.7.html
-//
-// Under Darwin, DragonFlyBSD, FreeBSD, NetBSD, OpenBSD (kqueue) Sys() always
-// returns a non-nil *notify.Kevent value, which is defined as:
-//
-//   type Kevent struct {
-//       Kevent *syscall.Kevent_t // Kevent is a kqueue specific structure
-//       FI     os.FileInfo       // FI describes file/dir
-//   }
-//
-// More information about syscall.Kevent_t can be found at:
-//
-//    https://www.freebsd.org/cgi/man.cgi?query=kqueue
-//
-// Under Windows (ReadDirectoryChangesW) Sys() always returns nil. The documentation
-// of watcher's WinAPI function can be found at:
-//
-//    https://msdn.microsoft.com/en-us/library/windows/desktop/aa365465%28v=vs.85%29.aspx
-type EventInfo interface {
-       Event() Event     // event value for the filesystem action
-       Path() string     // real path of the file or directory
-       Sys() interface{} // underlying data source (can return nil)
-}
-
-type isDirer interface {
-       isDir() (bool, error)
-}
-
-var _ fmt.Stringer = (*event)(nil)
-var _ isDirer = (*event)(nil)
-
-// String implements fmt.Stringer interface.
-func (e *event) String() string {
-       return e.Event().String() + `: "` + e.Path() + `"`
-}
-
-var estr = map[Event]string{
-       Create: "notify.Create",
-       Remove: "notify.Remove",
-       Write:  "notify.Write",
-       Rename: "notify.Rename",
-       // Display name for recursive event is added only for debugging
-       // purposes. It's an internal event after all and won't be exposed to the
-       // user. Having Recursive event printable is helpful, e.g. for reading
-       // testing failure messages:
-       //
-       //    --- FAIL: TestWatchpoint (0.00 seconds)
-       //    watchpoint_test.go:64: want diff=[notify.Remove notify.Create|notify.Remove];
-       //    got [notify.Remove notify.Remove|notify.Create] (i=1)
-       //
-       // Yup, here the diff have Recursive event inside. Go figure.
-       recursive: "recursive",
-       omit:      "omit",
-}