packages feed

usb-enumerator 0.1.0.3 → 0.2

raw patch · 2 files changed

+57/−52 lines, 2 filesdep +monad-peeldep −MonadCatchIO-transformersdep −MonadCatchIO-transformers-foreigndep ~iteratee

Dependencies added: monad-peel

Dependencies removed: MonadCatchIO-transformers, MonadCatchIO-transformers-foreign

Dependency ranges changed: iteratee

Files

System/USB/IO/Synchronous/Enumerator.hs view
@@ -22,45 +22,50 @@ --------------------------------------------------------------------------------  -- from base:-import Prelude               ( fromInteger, fromIntegral )-import Data.Function         ( ($) )-import Data.Word             ( Word8 )-import Data.Maybe            ( Maybe(Nothing, Just) )-import Control.Monad         ( return, (>>=), fail )-import Foreign.Storable      ( peek )-import Foreign.Ptr           ( castPtr )+import Prelude                          ( fromIntegral )+import Data.Function                    ( ($) )+import Data.Word                        ( Word8 )+import Data.Maybe                       ( Maybe(Nothing, Just) )+import Control.Monad                    ( return )+import Foreign.Storable                 ( peek )+import Foreign.Ptr                      ( castPtr )+import Foreign.Marshal.Alloc            ( alloca, allocaBytes ) +#if __GLASGOW_HASKELL__ < 701+import Prelude                          ( fromInteger )+import Control.Monad                    ( (>>=), fail )+#endif+ -- from base-unicode-symbols:-import Data.Eq.Unicode       ( (≡), (≢) )-import Data.Bool.Unicode     ( (∧) )+import Data.Eq.Unicode                  ( (≡), (≢) )+import Data.Bool.Unicode                ( (∧) )  -- from bindings-libusb:-import Bindings.Libusb ( c'libusb_bulk_transfer, c'libusb_interrupt_transfer-                       , c'LIBUSB_SUCCESS, c'LIBUSB_ERROR_TIMEOUT-                       )+import Bindings.Libusb                  ( c'libusb_bulk_transfer+                                        , c'libusb_interrupt_transfer+                                        , c'LIBUSB_SUCCESS+                                        , c'LIBUSB_ERROR_TIMEOUT+                                        )  -- from transformers:-import Control.Monad.IO.Class ( liftIO )---- from MonadCatchIO-transformers:-import Control.Monad.CatchIO ( MonadCatchIO )+import Control.Monad.IO.Class           ( liftIO ) --- from MonadCatchIO-transformers-foreign:-import Control.Monad.CatchIO.Foreign ( alloca, allocaBytes )+-- from monad-peel:+import Control.Monad.IO.Peel            ( MonadPeelIO, liftIOOp )  -- from usb:-import System.USB.DeviceHandling ( DeviceHandle )-import System.USB.Descriptors    ( EndpointAddress )-import System.USB.IO.Synchronous ( Timeout, Size )+import System.USB.DeviceHandling        ( DeviceHandle )+import System.USB.Descriptors           ( EndpointAddress )+import System.USB.IO.Synchronous        ( Timeout, Size ) -import System.USB.Unsafe ( C'TransferFunc-                         , getDevHndlPtr-                         , marshalEndpointAddress-                         , convertUSBException-                         )+import System.USB.Unsafe                ( C'TransferFunc+                                        , getDevHndlPtr+                                        , marshalEndpointAddress+                                        , convertUSBException+                                        )  #ifdef __HADDOCK__-import System.USB.Descriptors    ( maxPacketSize, endpointMaxPacketSize )+import System.USB.Descriptors           ( maxPacketSize, endpointMaxPacketSize ) #endif  #if MIN_VERSION_iteratee(0,4,0)@@ -71,23 +76,23 @@ import Data.NullPoint                   ( NullPoint(empty) )  -- from base:-import Control.Exception ( toException )+import Control.Exception                ( toException )  -- from base-unicode-symbols:-import Data.Function.Unicode ( (∘) )+import Data.Function.Unicode            ( (∘) ) #else -- from iteratee:-import Data.Iteratee.Base ( EnumeratorGM-                          , StreamG(Chunk)-                          , IterGV(Done, Cont)-                          , runIter-                          , enumErr-                          , throwErr-                          )-import Data.Iteratee.Base.StreamChunk ( ReadableChunk(readFromPtr) )+import Data.Iteratee.Base               ( EnumeratorGM+                                        , StreamG(Chunk)+                                        , IterGV(Done, Cont)+                                        , runIter+                                        , enumErr+                                        , throwErr+                                        )+import Data.Iteratee.Base.StreamChunk   ( ReadableChunk(readFromPtr) )  -- from base:-import Text.Show ( show )+import Text.Show                        ( show ) #endif  @@ -95,7 +100,7 @@ -- Enumerators -------------------------------------------------------------------------------- #if MIN_VERSION_iteratee(0,4,0)-enumReadBulk ∷ (ReadableChunk s Word8, NullPoint s, MonadCatchIO m)+enumReadBulk ∷ (ReadableChunk s Word8, NullPoint s, MonadPeelIO m)              ⇒ DeviceHandle    -- ^ A handle for the device to communicate with.              → EndpointAddress -- ^ The address of a valid 'In' and 'Bulk'                                --   endpoint to communicate with. Make sure the@@ -111,7 +116,7 @@              → Enumerator s m α enumReadBulk = enumRead c'libusb_bulk_transfer -enumReadInterrupt ∷ (ReadableChunk s Word8, NullPoint s, MonadCatchIO m)+enumReadInterrupt ∷ (ReadableChunk s Word8, NullPoint s, MonadPeelIO m)                   ⇒ DeviceHandle    -- ^ A handle for the device to communicate                                     --   with.                   → EndpointAddress -- ^ The address of a valid 'In' and@@ -133,7 +138,7 @@  -------------------------------------------------------------------------------- -enumRead ∷ (ReadableChunk s Word8, NullPoint s, MonadCatchIO m)+enumRead ∷ (ReadableChunk s Word8, NullPoint s, MonadPeelIO m)          ⇒ C'TransferFunc → ( DeviceHandle                             → EndpointAddress                             → Size@@ -144,8 +149,8 @@                        endpoint                        chunkSize                        timeout → \iter →-    alloca $ \transferredPtr →-      allocaBytes chunkSize $ \dataPtr →+    liftIOOp alloca $ \transferredPtr →+     liftIOOp  (allocaBytes chunkSize) $ \dataPtr →         let loop i = runIter i idoneM on_cont             on_cont _ (Just e) = return $ throwErr e             on_cont k Nothing  = do@@ -170,7 +175,7 @@  -------------------------------------------------------------------------------- #else-enumReadBulk ∷ (ReadableChunk s Word8, MonadCatchIO m)+enumReadBulk ∷ (ReadableChunk s Word8, MonadPeelIO m)              ⇒ DeviceHandle    -- ^ A handle for the device to communicate with.              → EndpointAddress -- ^ The address of a valid 'In' and 'Bulk'                                --   endpoint to communicate with. Make sure the@@ -186,7 +191,7 @@              → EnumeratorGM s Word8 m α enumReadBulk = enumRead c'libusb_bulk_transfer -enumReadInterrupt ∷ (ReadableChunk s Word8, MonadCatchIO m)+enumReadInterrupt ∷ (ReadableChunk s Word8, MonadPeelIO m)                   ⇒ DeviceHandle    -- ^ A handle for the device to communicate                                     --   with.                   → EndpointAddress -- ^ The address of a valid 'In' and@@ -208,7 +213,7 @@  -------------------------------------------------------------------------------- -enumRead ∷ (ReadableChunk s Word8, MonadCatchIO m)+enumRead ∷ (ReadableChunk s Word8, MonadPeelIO m)          ⇒ C'TransferFunc → ( DeviceHandle                             → EndpointAddress                             → Size@@ -219,8 +224,8 @@                        endpoint                        chunkSize                        timeout → \iter →-    alloca $ \transferredPtr →-      allocaBytes chunkSize $ \dataPtr →+    liftIOOp alloca $ \transferredPtr →+      liftIOOp (allocaBytes chunkSize) $ \dataPtr →         let loop i1 = do               err ← liftIO $ c'transfer (getDevHndlPtr devHndl)                                         (marshalEndpointAddress endpoint)
usb-enumerator.cabal view
@@ -1,5 +1,5 @@ name:          usb-enumerator-version:       0.1.0.3+version:       0.2 cabal-version: >=1.6 build-type:    Custom license:       BSD3@@ -18,12 +18,12 @@  Library   GHC-Options: -Wall+   build-depends: base                              >= 4     && < 4.4                , base-unicode-symbols              >= 0.1.1 && < 0.3                , bindings-libusb                   >= 1.3   && < 1.5-               , iteratee                          >= 0.3.5 && < 0.5+               , iteratee                          >= 0.3.5 && < 0.6                , transformers                      >= 0.2   && < 0.3-               , MonadCatchIO-transformers         >= 0.2   && < 0.3-               , MonadCatchIO-transformers-foreign >= 0.1   && < 0.2+               , monad-peel                        >= 0.1   && < 0.2                , usb                               >= 0.5   && < 0.7   exposed-modules: System.USB.IO.Synchronous.Enumerator