-- 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/Performance.chs" #-}
module Graphics.UI.Gtk.WebKit.DOM.Performance(
now,
getNavigation,
getTiming,
Performance,
castToPerformance,
gTypePerformance,
PerformanceClass,
toPerformance,
) 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 25 "./Graphics/UI/Gtk/WebKit/DOM/Performance.chs" #-}
import Graphics.UI.Gtk.WebKit.DOM.Enums

 
now :: (MonadIO m, PerformanceClass self) => self -> m Double
now self
  = liftIO
      (realToFrac <$>
         ((\(Performance arg1) -> withForeignPtr arg1 $ \argPtr1 ->webkit_dom_performance_now argPtr1) (toPerformance self)))
 
getNavigation ::
              (MonadIO m, PerformanceClass self) =>
                self -> m (Maybe PerformanceNavigation)
getNavigation self
  = liftIO
      (maybeNull (makeNewGObject mkPerformanceNavigation)
         ((\(Performance arg1) -> withForeignPtr arg1 $ \argPtr1 ->webkit_dom_performance_get_navigation argPtr1)
{-# LINE 41 "./Graphics/UI/Gtk/WebKit/DOM/Performance.chs" #-}
            (toPerformance self)))
 
getTiming ::
          (MonadIO m, PerformanceClass self) =>
            self -> m (Maybe PerformanceTiming)
getTiming self
  = liftIO
      (maybeNull (makeNewGObject mkPerformanceTiming)
         ((\(Performance arg1) -> withForeignPtr arg1 $ \argPtr1 ->webkit_dom_performance_get_timing argPtr1)
{-# LINE 50 "./Graphics/UI/Gtk/WebKit/DOM/Performance.chs" #-}
            (toPerformance self)))

foreign import ccall safe "dist/build/Graphics/UI/Gtk/WebKit/DOM/Performance.h webkit_dom_performance_now"
  webkit_dom_performance_now :: ((Ptr Performance) -> (IO CDouble))

foreign import ccall safe "dist/build/Graphics/UI/Gtk/WebKit/DOM/Performance.h webkit_dom_performance_get_navigation"
  webkit_dom_performance_get_navigation :: ((Ptr Performance) -> (IO (Ptr PerformanceNavigation)))

foreign import ccall safe "dist/build/Graphics/UI/Gtk/WebKit/DOM/Performance.h webkit_dom_performance_get_timing"
  webkit_dom_performance_get_timing :: ((Ptr Performance) -> (IO (Ptr PerformanceTiming)))