-- 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.7


-- | 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 Eq Cookie
instance Ord Cookie
instance Eq FDEvent
instance Show FDEvent
instance Eq Event
instance Show Event
instance Eq WatchDescriptor
instance Eq EventVariety
instance Show Cookie
instance Show WatchDescriptor
instance Show INotify
instance Eq INotify
