-- 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/PrimValues.chs" #-}{-# LANGUAGE
    ForeignFunctionInterface
  #-}

module Graphics.QML.Internal.PrimValues where

import Foreign.C.Types
import Foreign.C.String
import Foreign.Ptr
import Foreign.ForeignPtr
import Foreign.Storable
import Foreign.Marshal.Alloc
import Foreign.Marshal.Array
import System.IO.Unsafe


cIntConv :: (Integral a, Integral b) => a -> b
cIntConv = fromIntegral

--
-- String
--

newtype HsQMLStringHandle = HsQMLStringHandle (Ptr (HsQMLStringHandle))
{-# LINE 25 "src/Graphics/QML/Internal/PrimValues.chs" #-}

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

hsqmlStringSize :: Int
hsqmlStringSize = unsafePerformIO $ hsqmlGetStringSize

hsqmlInitString :: HsQMLStringHandle -> IO ()
hsqmlInitString a1 =
  let {a1' = id a1} in 
  hsqmlInitString'_ a1' >>= \res ->
  return ()
{-# LINE 36 "src/Graphics/QML/Internal/PrimValues.chs" #-}

hsqmlDeinitString :: HsQMLStringHandle -> IO ()
hsqmlDeinitString a1 =
  let {a1' = id a1} in 
  hsqmlDeinitString'_ a1' >>= \res ->
  return ()
{-# LINE 40 "src/Graphics/QML/Internal/PrimValues.chs" #-}

hsqmlMarshalString :: Int -> HsQMLStringHandle -> IO (Ptr CUShort)
hsqmlMarshalString a1 a2 =
  let {a1' = fromIntegral a1} in 
  let {a2' = id a2} in 
  hsqmlMarshalString'_ a1' a2' >>= \res ->
  let {res' = id res} in
  return (res')
{-# LINE 45 "src/Graphics/QML/Internal/PrimValues.chs" #-}

hsqmlUnmarshalString :: HsQMLStringHandle -> Ptr (Ptr CUShort) -> IO (Int)
hsqmlUnmarshalString a1 a2 =
  let {a1' = id a1} in 
  let {a2' = id a2} in 
  hsqmlUnmarshalString'_ a1' a2' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')
{-# LINE 50 "src/Graphics/QML/Internal/PrimValues.chs" #-}

--
-- URL
--

newtype HsQMLUrlHandle = HsQMLUrlHandle (Ptr (HsQMLUrlHandle))
{-# LINE 56 "src/Graphics/QML/Internal/PrimValues.chs" #-}

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

hsqmlUrlSize :: Int
hsqmlUrlSize = unsafePerformIO $ hsqmlGetUrlSize

hsqmlInitUrl :: HsQMLUrlHandle -> IO ()
hsqmlInitUrl a1 =
  let {a1' = id a1} in 
  hsqmlInitUrl'_ a1' >>= \res ->
  return ()
{-# LINE 67 "src/Graphics/QML/Internal/PrimValues.chs" #-}

hsqmlDeinitUrl :: HsQMLUrlHandle -> IO ()
hsqmlDeinitUrl a1 =
  let {a1' = id a1} in 
  hsqmlDeinitUrl'_ a1' >>= \res ->
  return ()
{-# LINE 71 "src/Graphics/QML/Internal/PrimValues.chs" #-}

hsqmlMarshalUrl :: Ptr CChar -> Int -> HsQMLUrlHandle -> IO ()
hsqmlMarshalUrl a1 a2 a3 =
  let {a1' = id a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = id a3} in 
  hsqmlMarshalUrl'_ a1' a2' a3' >>= \res ->
  return ()
{-# LINE 77 "src/Graphics/QML/Internal/PrimValues.chs" #-}

hsqmlUnmarshalUrl :: HsQMLUrlHandle -> Ptr (Ptr CChar) -> IO (Int)
hsqmlUnmarshalUrl a1 a2 =
  let {a1' = id a1} in 
  let {a2' = id a2} in 
  hsqmlUnmarshalUrl'_ a1' a2' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')
{-# LINE 82 "src/Graphics/QML/Internal/PrimValues.chs" #-}

foreign import ccall unsafe "Graphics/QML/Internal/PrimValues.chs.h hsqml_get_string_size"
  hsqmlGetStringSize'_ :: (IO CUInt)

foreign import ccall unsafe "Graphics/QML/Internal/PrimValues.chs.h hsqml_init_string"
  hsqmlInitString'_ :: ((HsQMLStringHandle) -> (IO ()))

foreign import ccall unsafe "Graphics/QML/Internal/PrimValues.chs.h hsqml_deinit_string"
  hsqmlDeinitString'_ :: ((HsQMLStringHandle) -> (IO ()))

foreign import ccall unsafe "Graphics/QML/Internal/PrimValues.chs.h hsqml_marshal_string"
  hsqmlMarshalString'_ :: (CInt -> ((HsQMLStringHandle) -> (IO (Ptr CUShort))))

foreign import ccall unsafe "Graphics/QML/Internal/PrimValues.chs.h hsqml_unmarshal_string"
  hsqmlUnmarshalString'_ :: ((HsQMLStringHandle) -> ((Ptr (Ptr CUShort)) -> (IO CInt)))

foreign import ccall unsafe "Graphics/QML/Internal/PrimValues.chs.h hsqml_get_url_size"
  hsqmlGetUrlSize'_ :: (IO CUInt)

foreign import ccall unsafe "Graphics/QML/Internal/PrimValues.chs.h hsqml_init_url"
  hsqmlInitUrl'_ :: ((HsQMLUrlHandle) -> (IO ()))

foreign import ccall unsafe "Graphics/QML/Internal/PrimValues.chs.h hsqml_deinit_url"
  hsqmlDeinitUrl'_ :: ((HsQMLUrlHandle) -> (IO ()))

foreign import ccall unsafe "Graphics/QML/Internal/PrimValues.chs.h hsqml_marshal_url"
  hsqmlMarshalUrl'_ :: ((Ptr CChar) -> (CInt -> ((HsQMLUrlHandle) -> (IO ()))))

foreign import ccall unsafe "Graphics/QML/Internal/PrimValues.chs.h hsqml_unmarshal_url"
  hsqmlUnmarshalUrl'_ :: ((HsQMLUrlHandle) -> ((Ptr (Ptr CChar)) -> (IO CInt)))