hois-0.1.0.0: OIS/OISFactoryCreator.hs
{-# LANGUAGE ForeignFunctionInterface #-}
module OIS.OISFactoryCreator(
factoryCreator_delete,
factoryCreator_totalDevices,
factoryCreator_freeDevices,
factoryCreator_createObject,
factoryCreator_destroyObject
)
where
import OIS.Types
import Control.Monad
import Foreign
import Foreign.C.String
import Foreign.C.Types
foreign import ccall "OISFactoryCreator.h OIS_FactoryCreator_delete" c_factoryCreator_delete :: FactoryCreator -> IO ()
factoryCreator_delete :: FactoryCreator -> IO ()
factoryCreator_delete p1 = c_factoryCreator_delete p1
foreign import ccall "OISFactoryCreator.h OIS_FactoryCreator_totalDevices" c_factoryCreator_totalDevices :: FactoryCreator -> CInt -> IO CInt
factoryCreator_totalDevices :: FactoryCreator -> Type -> IO Int
factoryCreator_totalDevices p1 p2 = liftM fromIntegral $ c_factoryCreator_totalDevices p1 (typeToCInt p2)
foreign import ccall "OISFactoryCreator.h OIS_FactoryCreator_freeDevices" c_factoryCreator_freeDevices :: FactoryCreator -> CInt -> IO CInt
factoryCreator_freeDevices :: FactoryCreator -> Type -> IO Int
factoryCreator_freeDevices p1 p2 = liftM fromIntegral $ c_factoryCreator_freeDevices p1 (typeToCInt p2)
foreign import ccall "OISFactoryCreator.h OIS_FactoryCreator_createObject" c_factoryCreator_createObject :: FactoryCreator -> InputManager -> CInt -> CBool -> (Ptr CChar) -> IO Object
factoryCreator_createObject :: FactoryCreator -> InputManager -> Type -> Bool -> String -> IO Object
factoryCreator_createObject p1 p2 p3 p4 p5 = withCString p5 $ \cp5 ->
c_factoryCreator_createObject p1 p2 (typeToCInt p3) (fromBool p4) cp5
foreign import ccall "OISFactoryCreator.h OIS_FactoryCreator_destroyObject" c_factoryCreator_destroyObject :: FactoryCreator -> Object -> IO ()
factoryCreator_destroyObject :: FactoryCreator -> Object -> IO ()
factoryCreator_destroyObject p1 p2 = c_factoryCreator_destroyObject p1 p2