hois-0.1.0.0: OIS/OISInterface.hs
{-# LANGUAGE ForeignFunctionInterface #-}
module OIS.OISInterface(
interface_with,
interface_new,
interface_delete
)
where
import OIS.Types
import Control.Monad
import Foreign
import Foreign.C.String
import Foreign.C.Types
interface_with :: (Interface -> IO a) -> IO a
interface_with f = do
obj <- interface_new
res <- f obj
interface_delete obj
return res
foreign import ccall "OISInterface.h OIS_Interface_new" c_interface_new :: IO Interface
interface_new :: IO Interface
interface_new = c_interface_new
foreign import ccall "OISInterface.h OIS_Interface_delete" c_interface_delete :: Interface -> IO ()
interface_delete :: Interface -> IO ()
interface_delete p1 = c_interface_delete p1