packages feed

hfsevents 0.1.1 → 0.1.2

raw patch · 4 files changed

+29/−1 lines, 4 files

Files

System/OSX/FSEvents.hs view
@@ -16,6 +16,8 @@   , eventFlagItemRenamed, eventFlagItemModified, eventFlagItemFinderInfoMod   , eventFlagItemChangeOwner, eventFlagItemXattrMod   , eventFlagItemIsFile, eventFlagItemIsDir, eventFlagItemIsSymlink+  -- query api support+  , fileLevelEventsSupported, osVersion   ) where  import Control.Concurrent@@ -25,6 +27,7 @@ import Data.Bits import Data.Serialize.Get import Data.Word+import Data.Int import Foreign.C.String import Foreign.C.Types import Foreign.Marshal.Alloc@@ -170,6 +173,18 @@       stop = hClose h >> return ()       readHeader = liftM3 (,,) getWord64host getWord64host getWord64host +osVersion :: IO (Integer, Integer, Integer)+osVersion = alloca $ \major -> do+            alloca $ \minor -> do+            alloca $ \bugfix -> do+              c_osVersion major minor bugfix+              liftM3 (,,) (peekfi major) (peekfi minor) (peekfi bugfix)+  where+    peekfi = fmap fromIntegral . peek++fileLevelEventsSupported :: IO Bool+fileLevelEventsSupported = fmap (>= (10,7,0)) osVersion+ foreign import ccall safe "c_fsevents.h createWatch" c_createWatch :: Ptr (Ptr CChar)                                                                    -> CInt                                                                    -> Word32@@ -181,4 +196,8 @@  foreign import ccall safe "c_fsevents.h destroyWatch" c_destroyWatch :: Ptr CWatch                                                                      -> IO ()+foreign import ccall safe "c_fsevents.h osVersion" c_osVersion :: Ptr Int32+                                                               -> Ptr Int32+                                                               -> Ptr Int32+                                                               -> IO () 
cbits/c_fsevents.c view
@@ -96,3 +96,8 @@   free(w); } +void osVersion(SInt32 *majorVersion, SInt32 *minorVersion, SInt32 *bugFixVersion) {+   Gestalt(gestaltSystemVersionMajor, majorVersion);+   Gestalt(gestaltSystemVersionMinor, minorVersion);+   Gestalt(gestaltSystemVersionBugFix, bugFixVersion);+}
cbits/c_fsevents.h view
@@ -21,5 +21,9 @@  int destroyWatch(watch* w); +void osVersion( SInt32 *majorVersion+              , SInt32 *minorVersion+	      , SInt32 *bugFixVersion);+ #endif 
hfsevents.cabal view
@@ -1,5 +1,5 @@ name:                hfsevents-version:             0.1.1+version:             0.1.2 synopsis:            File/folder watching for OS X homepage:            http://github.com/luite/hfsevents license:             BSD3