@@ -64,7 +64,7 @@ module Streamly.Internal.FileSystem.Event.Linux
65 -- ** Default configuration
65 -- ** Default configuration
66 Config (..)
66 Config (..)
67− , Toggle (..)
67+ , Switch (..)
68 , defaultConfig
68 , defaultConfig
70 -- ** Watch Behavior
70 -- ** Watch Behavior
@@ -215,19 +215,17 @@ data Config = Config
215-- Boolean settings
215-- Boolean settings
216-------------------------------------------------------------------------------
216-------------------------------------------------------------------------------
218−-- XXX Change Toggle to "OnOff" or "Switch". The name Toggle may be confusing.
220-- | Whether a setting is 'On' or 'Off'.
218-- | Whether a setting is 'On' or 'Off'.
222-- /Pre-release/
220-- /Pre-release/
224−data Toggle = On | Off deriving (Show, Eq)
222+data Switch = On | Off deriving (Show, Eq)
226−toggle :: Toggle -> Toggle
224+toggle :: Switch -> Switch
227toggle On = Off
225toggle On = Off
228toggle Off = On
226toggle Off = On
230−setFlag :: Word32 -> Toggle -> Config -> Config
228+setFlag :: Word32 -> Switch -> Config -> Config
231setFlag mask status cfg@Config{..} =
229setFlag mask status cfg@Config{..} =
232 let flags =
230 let flags =
233 case status of
231 case status of
@@ -246,7 +244,7 @@ setFlag mask status cfg@Config{..} =
247-- /Pre-release/
245-- /Pre-release/
249−setRecursiveMode :: Toggle -> Config -> Config
247+setRecursiveMode :: Switch -> Config -> Config
250setRecursiveMode rec cfg@Config{} = cfg {watchRec = rec == On}
248setRecursiveMode rec cfg@Config{} = cfg {watchRec = rec == On}
252foreign import capi
250foreign import capi
@@ -262,7 +260,7 @@ foreign import capi
263-- /Pre-release/
261-- /Pre-release/
265−setFollowSymLinks :: Toggle -> Config -> Config
263+setFollowSymLinks :: Switch -> Config -> Config
266setFollowSymLinks s = setFlag iN_DONT_FOLLOW (toggle s)
264setFollowSymLinks s = setFlag iN_DONT_FOLLOW (toggle s)
268foreign import capi
266foreign import capi
@@ -275,7 +273,7 @@ foreign import capi
276-- /Pre-release/
274-- /Pre-release/
278−setUnwatchMoved :: Toggle -> Config -> Config
276+setUnwatchMoved :: Switch -> Config -> Config
279setUnwatchMoved = setFlag iN_EXCL_UNLINK
277setUnwatchMoved = setFlag iN_EXCL_UNLINK
281#if HAVE_DECL_IN_MASK_CREATE
279#if HAVE_DECL_IN_MASK_CREATE
@@ -323,7 +321,7 @@ foreign import capi
324-- /Pre-release/
322-- /Pre-release/
326−setOneShot :: Toggle -> Config -> Config
324+setOneShot :: Switch -> Config -> Config
327setOneShot = setFlag iN_ONESHOT
325setOneShot = setFlag iN_ONESHOT
329foreign import capi
327foreign import capi
@@ -336,7 +334,7 @@ foreign import capi
337-- /Pre-release/
335-- /Pre-release/
339−setOnlyDir :: Toggle -> Config -> Config
337+setOnlyDir :: Switch -> Config -> Config
340setOnlyDir = setFlag iN_ONLYDIR
338setOnlyDir = setFlag iN_ONLYDIR
342-------------------------------------------------------------------------------
340-------------------------------------------------------------------------------
@@ -352,7 +350,7 @@ foreign import capi
353-- /Pre-release/
351-- /Pre-release/
355−setRootDeleted :: Toggle -> Config -> Config
353+setRootDeleted :: Switch -> Config -> Config
356setRootDeleted = setFlag iN_DELETE_SELF
354setRootDeleted = setFlag iN_DELETE_SELF
358foreign import capi
356foreign import capi
@@ -364,7 +362,7 @@ foreign import capi
365-- /Pre-release/
363-- /Pre-release/
367−setRootMoved :: Toggle -> Config -> Config
365+setRootMoved :: Switch -> Config -> Config
368setRootMoved = setFlag iN_MOVE_SELF
366setRootMoved = setFlag iN_MOVE_SELF
370-- | Report when the watched root path itself gets deleted or renamed.
368-- | Report when the watched root path itself gets deleted or renamed.
@@ -373,7 +371,7 @@ setRootMoved = setFlag iN_MOVE_SELF
374-- /Pre-release/
372-- /Pre-release/
376−setRootPathEvents :: Toggle -> Config -> Config
374+setRootPathEvents :: Switch -> Config -> Config
377setRootPathEvents = setFlag (iN_DELETE_SELF .|. iN_MOVE_SELF)
375setRootPathEvents = setFlag (iN_DELETE_SELF .|. iN_MOVE_SELF)
379foreign import capi
377foreign import capi
@@ -386,7 +384,7 @@ foreign import capi
387-- /Pre-release/
385-- /Pre-release/
389−setAttrsModified :: Toggle -> Config -> Config
387+setAttrsModified :: Switch -> Config -> Config
390setAttrsModified = setFlag iN_ATTRIB
388setAttrsModified = setFlag iN_ATTRIB
392foreign import capi
390foreign import capi
@@ -398,7 +396,7 @@ foreign import capi
399-- /Pre-release/
397-- /Pre-release/
401−setAccessed :: Toggle -> Config -> Config
399+setAccessed :: Switch -> Config -> Config
402setAccessed = setFlag iN_ACCESS
400setAccessed = setFlag iN_ACCESS
404foreign import capi
402foreign import capi
@@ -410,7 +408,7 @@ foreign import capi
411-- /Pre-release/
409-- /Pre-release/
413−setOpened :: Toggle -> Config -> Config
411+setOpened :: Switch -> Config -> Config
414setOpened = setFlag iN_OPEN
412setOpened = setFlag iN_OPEN
416foreign import capi
414foreign import capi
@@ -422,7 +420,7 @@ foreign import capi
423-- /Pre-release/
421-- /Pre-release/
425−setWriteClosed :: Toggle -> Config -> Config
423+setWriteClosed :: Switch -> Config -> Config
426setWriteClosed = setFlag iN_CLOSE_WRITE
424setWriteClosed = setFlag iN_CLOSE_WRITE
428foreign import capi
426foreign import capi
@@ -434,7 +432,7 @@ foreign import capi
435-- /Pre-release/
433-- /Pre-release/
437−setNonWriteClosed :: Toggle -> Config -> Config
435+setNonWriteClosed :: Switch -> Config -> Config
438setNonWriteClosed = setFlag iN_CLOSE_NOWRITE
436setNonWriteClosed = setFlag iN_CLOSE_NOWRITE
440foreign import capi
438foreign import capi
@@ -446,7 +444,7 @@ foreign import capi
447-- /Pre-release/
445-- /Pre-release/
449−setCreated :: Toggle -> Config -> Config
447+setCreated :: Switch -> Config -> Config
450setCreated = setFlag iN_CREATE
448setCreated = setFlag iN_CREATE
452foreign import capi
450foreign import capi
@@ -458,7 +456,7 @@ foreign import capi
459-- /Pre-release/
457-- /Pre-release/
461−setDeleted :: Toggle -> Config -> Config
459+setDeleted :: Switch -> Config -> Config
462setDeleted = setFlag iN_DELETE
460setDeleted = setFlag iN_DELETE
464foreign import capi
462foreign import capi
@@ -470,7 +468,7 @@ foreign import capi
471-- /Pre-release/
469-- /Pre-release/
473−setMovedFrom :: Toggle -> Config -> Config
471+setMovedFrom :: Switch -> Config -> Config
474setMovedFrom = setFlag iN_MOVED_FROM
472setMovedFrom = setFlag iN_MOVED_FROM
476foreign import capi
474foreign import capi
@@ -482,7 +480,7 @@ foreign import capi
483-- /Pre-release/
481-- /Pre-release/
485−setMovedTo :: Toggle -> Config -> Config
483+setMovedTo :: Switch -> Config -> Config
486setMovedTo = setFlag iN_MOVED_TO
484setMovedTo = setFlag iN_MOVED_TO
488foreign import capi
486foreign import capi
@@ -494,7 +492,7 @@ foreign import capi
495-- /Pre-release/
493-- /Pre-release/
497−setModified :: Toggle -> Config -> Config
495+setModified :: Switch -> Config -> Config
498setModified = setFlag iN_MODIFY
496setModified = setFlag iN_MODIFY
500-- | Set all tunable events 'On' or 'Off'. Equivalent to setting:
498-- | Set all tunable events 'On' or 'Off'. Equivalent to setting:
@@ -514,7 +512,7 @@ setModified = setFlag iN_MODIFY
515-- /Pre-release/
513-- /Pre-release/
517−setAllEvents :: Toggle -> Config -> Config
515+setAllEvents :: Switch -> Config -> Config
518setAllEvents s =
516setAllEvents s =
519 setRootDeleted s
517 setRootDeleted s
520 . setRootMoved s
518 . setRootMoved s