{-# LANGUAGE CPP #-}

-- | Generic file change notifier library for unix-based systems.
--
--   This library abstracts over specific implementations for BSD and linux
--   systems.
--
--   It provides facilities to watch specific directories for the following changes:
--   - File moves
--   - File deletion
--   - Attribute changes.
module Data.CAS.ContentStore.Notify
  ( Notifier
  , initNotifier
  , killNotifier

  , Watch
  , addDirWatch
  , removeDirWatch
  ) where

#ifdef OS_Linux
import           Data.CAS.ContentStore.Notify.Linux
#else
#  ifdef OS_BSD
import           Data.CAS.ContentStore.Notify.BSD
#  endif
#endif