-- GENERATED by C->Haskell Compiler, version 0.13.13 (gtk2hs branch) "Bin IO", 27 May 2012 (Haskell)
-- Edit the ORIGNAL .chs file instead!


{-# LINE 1 "./Graphics/UI/Gtk/WebKit/DOM/TimeRanges.chs" #-}
module Graphics.UI.Gtk.WebKit.DOM.TimeRanges(
start,
end,
getLength,
TimeRanges,
castToTimeRanges,
gTypeTimeRanges,
TimeRangesClass,
toTimeRanges,
) where
import Prelude hiding (drop, error, print)
import Data.Typeable (Typeable)
import Foreign.Marshal (maybePeek, maybeWith)
import System.Glib.FFI (maybeNull, withForeignPtr, nullForeignPtr, Ptr, nullPtr, castPtr, Word, Int64, Word64, CChar(..), CInt(..), CUInt(..), CLong(..), CULong(..), CLLong(..), CULLong(..), CShort(..), CUShort(..), CFloat(..), CDouble(..), toBool, fromBool)
import System.Glib.UTFString (GlibString(..), readUTFString)
import Control.Applicative ((<$>))
import Control.Monad (void)
import Control.Monad.IO.Class (MonadIO(..))
import System.Glib.GError
import Graphics.UI.Gtk.WebKit.DOM.EventTargetClosures
import Graphics.UI.Gtk.WebKit.DOM.EventM
import Graphics.UI.Gtk.WebKit.Types
{-# LINE 22 "./Graphics/UI/Gtk/WebKit/DOM/TimeRanges.chs" #-}
import Graphics.UI.Gtk.WebKit.DOM.Enums

 
start ::
      (MonadIO m, TimeRangesClass self) => self -> Word -> m Double
start self index
  = liftIO
      (realToFrac <$>
         (propagateGError $
            \ errorPtr_ ->
              (\(TimeRanges arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->webkit_dom_time_ranges_start argPtr1 arg2 arg3) (toTimeRanges self)
                (fromIntegral index)
                errorPtr_))
 
end ::
    (MonadIO m, TimeRangesClass self) => self -> Word -> m Double
end self index
  = liftIO
      (realToFrac <$>
         (propagateGError $
            \ errorPtr_ ->
              (\(TimeRanges arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->webkit_dom_time_ranges_end argPtr1 arg2 arg3) (toTimeRanges self)
                (fromIntegral index)
                errorPtr_))
 
getLength :: (MonadIO m, TimeRangesClass self) => self -> m Word
getLength self
  = liftIO
      (fromIntegral <$>
         ((\(TimeRanges arg1) -> withForeignPtr arg1 $ \argPtr1 ->webkit_dom_time_ranges_get_length argPtr1) (toTimeRanges self)))

foreign import ccall safe "webkit_dom_time_ranges_start"
  webkit_dom_time_ranges_start :: ((Ptr TimeRanges) -> (CULong -> ((Ptr (Ptr ())) -> (IO CDouble))))

foreign import ccall safe "webkit_dom_time_ranges_end"
  webkit_dom_time_ranges_end :: ((Ptr TimeRanges) -> (CULong -> ((Ptr (Ptr ())) -> (IO CDouble))))

foreign import ccall safe "webkit_dom_time_ranges_get_length"
  webkit_dom_time_ranges_get_length :: ((Ptr TimeRanges) -> (IO CULong))