-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Haskell binding to inotify
--   
--   This library provides a wrapper to the Linux Kernel's inotify feature,
--   allowing applications to subscribe to notifications when a file is
--   accessed or modified.
@package hinotify
@version 0.3.9


-- | A Haskell binding to INotify. See
--   <a>http://www.kernel.org/pub/linux/kernel/people/rml/inotify/</a> and
--   <tt>man inotify</tt>.
--   
--   Use <a>initINotify</a> to get a <a>INotify</a>, then use
--   <a>addWatch</a> to add a watch on a file or directory. Select which
--   events you're interested in with <a>EventVariety</a>, which
--   corresponds to the <a>Event</a> events.
--   
--   Use <a>removeWatch</a> once you don't want to watch a file any more.
module System.INotify
initINotify :: IO INotify
killINotify :: INotify -> IO ()
withINotify :: (INotify -> IO a) -> IO a
addWatch :: INotify -> [EventVariety] -> FilePath -> (Event -> IO ()) -> IO WatchDescriptor
removeWatch :: WatchDescriptor -> IO ()
data INotify
data WatchDescriptor
data Event

-- | A file was accessed. <tt>Accessed isDirectory file</tt>
Accessed :: Bool -> Maybe FilePath -> Event
[isDirectory] :: Event -> Bool
[maybeFilePath] :: Event -> Maybe FilePath

-- | A file was modified. <tt>Modified isDirectory file</tt>
Modified :: Bool -> Maybe FilePath -> Event
[isDirectory] :: Event -> Bool
[maybeFilePath] :: Event -> Maybe FilePath

-- | A files attributes where changed. <tt>Attributes isDirectory file</tt>
Attributes :: Bool -> Maybe FilePath -> Event
[isDirectory] :: Event -> Bool
[maybeFilePath] :: Event -> Maybe FilePath

-- | A file was closed. <tt>Closed isDirectory file wasWriteable</tt>
Closed :: Bool -> Maybe FilePath -> Bool -> Event
[isDirectory] :: Event -> Bool
[maybeFilePath] :: Event -> Maybe FilePath
[wasWriteable] :: Event -> Bool

-- | A file was opened. <tt>Opened isDirectory maybeFilePath</tt>
Opened :: Bool -> Maybe FilePath -> Event
[isDirectory] :: Event -> Bool
[maybeFilePath] :: Event -> Maybe FilePath

-- | A file was moved away from the watched dir. <tt>MovedFrom isDirectory
--   from cookie</tt>
MovedOut :: Bool -> FilePath -> Cookie -> Event
[isDirectory] :: Event -> Bool
[filePath] :: Event -> FilePath
[moveCookie] :: Event -> Cookie

-- | A file was moved into the watched dir. <tt>MovedTo isDirectory to
--   cookie</tt>
MovedIn :: Bool -> FilePath -> Cookie -> Event
[isDirectory] :: Event -> Bool
[filePath] :: Event -> FilePath
[moveCookie] :: Event -> Cookie

-- | The watched file was moved. <tt>MovedSelf isDirectory</tt>
MovedSelf :: Bool -> Event
[isDirectory] :: Event -> Bool

-- | A file was created. <tt>Created isDirectory file</tt>
Created :: Bool -> FilePath -> Event
[isDirectory] :: Event -> Bool
[filePath] :: Event -> FilePath

-- | A file was deleted. <tt>Deleted isDirectory file</tt>
Deleted :: Bool -> FilePath -> Event
[isDirectory] :: Event -> Bool
[filePath] :: Event -> FilePath

-- | The file watched was deleted.
DeletedSelf :: Event

-- | The file watched was unmounted.
Unmounted :: Event

-- | The queue overflowed.
QOverflow :: Event
Ignored :: Event
Unknown :: FDEvent -> Event
data EventVariety
Access :: EventVariety
Modify :: EventVariety
Attrib :: EventVariety
Close :: EventVariety
CloseWrite :: EventVariety
CloseNoWrite :: EventVariety
Open :: EventVariety
Move :: EventVariety
MoveIn :: EventVariety
MoveOut :: EventVariety
MoveSelf :: EventVariety
Create :: EventVariety
Delete :: EventVariety
DeleteSelf :: EventVariety
OnlyDir :: EventVariety
NoSymlink :: EventVariety
MaskAdd :: EventVariety
OneShot :: EventVariety
AllEvents :: EventVariety
data Cookie
instance GHC.Classes.Eq System.INotify.EventVariety
instance GHC.Classes.Eq System.INotify.WatchDescriptor
instance GHC.Show.Show System.INotify.Event
instance GHC.Classes.Eq System.INotify.Event
instance GHC.Show.Show System.INotify.FDEvent
instance GHC.Classes.Eq System.INotify.FDEvent
instance GHC.Classes.Ord System.INotify.Cookie
instance GHC.Classes.Eq System.INotify.Cookie
instance GHC.Classes.Eq System.INotify.INotify
instance GHC.Show.Show System.INotify.INotify
instance GHC.Show.Show System.INotify.WatchDescriptor
instance GHC.Show.Show System.INotify.Cookie
