Safe Haskell | None |
---|---|
Language | Haskell98 |
System.OSX.FSEvents
Description
Event-based file and folder watching for OS X
- data EventStream
- eventStreamCreate :: [FilePath] -> Double -> Bool -> Bool -> Bool -> (Event -> IO a) -> IO EventStream
- eventStreamDestroy :: EventStream -> IO ()
- data Event = Event {}
- eventFlagMustScanSubDirs :: Word64
- eventFlagUserDropped :: Word64
- eventFlagKernelDropped :: Word64
- eventFlagEventIdsWrapped :: Word64
- eventFlagHistoryDone :: Word64
- eventFlagRootChanged :: Word64
- eventFlagMount :: Word64
- eventFlagUnmount :: Word64
- eventFlagItemCreated :: Word64
- eventFlagItemRemoved :: Word64
- eventFlagItemInodeMetaMod :: Word64
- eventFlagItemRenamed :: Word64
- eventFlagItemModified :: Word64
- eventFlagItemFinderInfoMod :: Word64
- eventFlagItemChangeOwner :: Word64
- eventFlagItemXattrMod :: Word64
- eventFlagItemIsFile :: Word64
- eventFlagItemIsDir :: Word64
- eventFlagItemIsSymlink :: Word64
- fileLevelEventsSupported :: IO Bool
- osVersion :: IO (Integer, Integer, Integer)
Documentation
data EventStream #
Arguments
:: [FilePath] | The paths to watch |
-> Double | Latency |
-> Bool | Process event immediately if no other events received for at least latency |
-> Bool | Ignore events caused by current process |
-> Bool | Get file-level notifications instead of directory level |
-> (Event -> IO a) | The action to run when an event has taken place |
-> IO EventStream | The event stream, use this to destroy the stream |
Create an FSEvents watch for a list of paths.
The callback action will be called for each event in the watched paths
until the EventStream
is destroyed again. All callbacks are from a
single thread, so if you take too long to process an event, further
events will be delayed.
Note: it's relatively expensive to create a watch, since each watch
uses an operating system thread for its event loop.
eventStreamDestroy :: EventStream -> IO () #
Destroy an event stream, the callback action will not be run for new events (but there may be pending events remaining)