-- GENERATED by C->Haskell Compiler, version 0.16.3 Crystal Seed, 24 Jan 2009 (Haskell)
-- Edit the ORIGNAL .chs file instead!


{-# LINE 1 "src/Graphics/QML/Internal/Engine.chs" #-}{-# LANGUAGE
    ForeignFunctionInterface
  #-}
{-# OPTIONS_HADDOCK hide #-}

module Graphics.QML.Internal.Engine where

import Graphics.QML.Internal.Objects
{-# LINE 8 "src/Graphics/QML/Internal/Engine.chs" #-}

import Foreign.C.Types
import Foreign.C.String
import Foreign.Marshal.Utils
import Foreign.Ptr
import Foreign.StablePtr



type HsFreeFunPtr = FunPtr (FunPtr (IO ()) -> IO ())
foreign import ccall "HsFFI.h &hs_free_fun_ptr"
  hsFreeFunPtr :: HsFreeFunPtr

type HsFreeStablePtr = FunPtr (Ptr () -> IO ())
foreign import ccall "HsFFI.h &hs_free_stable_ptr"
  hsFreeStablePtr :: HsFreeStablePtr

hsqmlInit_ :: HsFreeFunPtr -> HsFreeStablePtr -> IO ()
hsqmlInit_ a1 a2 =
  let {a1' = id a1} in 
  let {a2' = id a2} in 
  hsqmlInit_'_ a1' a2' >>= \res ->
  return ()
{-# LINE 31 "src/Graphics/QML/Internal/Engine.chs" #-}

hsqmlInit :: IO ()
hsqmlInit = hsqmlInit_ hsFreeFunPtr hsFreeStablePtr

hsqmlCreateEngine :: Maybe HsQMLObjectHandle -> Ptr () -> Bool -> Bool -> Ptr () -> IO ()
hsqmlCreateEngine a1 a2 a3 a4 a5 =
  withMaybeHsQMLObjectHandle a1 $ \a1' -> 
  let {a2' = castPtr a2} in 
  let {a3' = fromBool a3} in 
  let {a4' = fromBool a4} in 
  let {a5' = castPtr a5} in 
  hsqmlCreateEngine'_ a1' a2' a3' a4' a5' >>= \res ->
  return ()
{-# LINE 42 "src/Graphics/QML/Internal/Engine.chs" #-}

hsqmlRun :: IO ()
hsqmlRun =
  hsqmlRun'_ >>= \res ->
  return ()
{-# LINE 44 "src/Graphics/QML/Internal/Engine.chs" #-}

hsqmlSetDebugLoglevel :: Int -> IO ()
hsqmlSetDebugLoglevel a1 =
  let {a1' = fromIntegral a1} in 
  hsqmlSetDebugLoglevel'_ a1' >>= \res ->
  return ()
{-# LINE 48 "src/Graphics/QML/Internal/Engine.chs" #-}

foreign import ccall unsafe "Graphics/QML/Internal/Engine.chs.h hsqml_init"
  hsqmlInit_'_ :: ((FunPtr ((FunPtr (IO ())) -> (IO ()))) -> ((FunPtr ((Ptr ()) -> (IO ()))) -> (IO ())))

foreign import ccall unsafe "Graphics/QML/Internal/Engine.chs.h hsqml_create_engine"
  hsqmlCreateEngine'_ :: ((Ptr (HsQMLObjectHandle)) -> ((Ptr CChar) -> (CInt -> (CInt -> ((Ptr CChar) -> (IO ()))))))

foreign import ccall safe "Graphics/QML/Internal/Engine.chs.h hsqml_run"
  hsqmlRun'_ :: (IO ())

foreign import ccall safe "Graphics/QML/Internal/Engine.chs.h hsqml_set_debug_loglevel"
  hsqmlSetDebugLoglevel'_ :: (CInt -> (IO ()))