module HGamer3D.Bindings.Ogre.ClassResourceGroupManager where
import Foreign
import Foreign.Ptr
import Foreign.C
import HGamer3D.Data.HG3DClass
import HGamer3D.Data.Vector
import HGamer3D.Data.Colour
import HGamer3D.Data.Angle
import HGamer3D.Bindings.Ogre.Utils
import HGamer3D.Bindings.Ogre.ClassPtr
import HGamer3D.Bindings.Ogre.StructHG3DClass
new :: IO (HG3DClass)
new =
  alloca $ \a1' -> 
  new'_ a1' >>= \res ->
  peek  a1'>>= \a1'' -> 
  return (a1'')
delete :: HG3DClass -> IO ()
delete a1 =
  withHG3DClass a1 $ \a1' -> 
  delete'_ a1' >>= \res ->
  return ()
createResourceGroup :: HG3DClass -> String -> Bool -> IO ()
createResourceGroup a1 a2 a3 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  let {a3' = fromBool a3} in 
  createResourceGroup'_ a1' a2' a3' >>= \res ->
  return ()
initialiseResourceGroup :: HG3DClass -> String -> IO ()
initialiseResourceGroup a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  initialiseResourceGroup'_ a1' a2' >>= \res ->
  return ()
initialiseAllResourceGroups :: HG3DClass -> IO ()
initialiseAllResourceGroups a1 =
  withHG3DClass a1 $ \a1' -> 
  initialiseAllResourceGroups'_ a1' >>= \res ->
  return ()
prepareResourceGroup :: HG3DClass -> String -> Bool -> Bool -> IO ()
prepareResourceGroup a1 a2 a3 a4 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  let {a3' = fromBool a3} in 
  let {a4' = fromBool a4} in 
  prepareResourceGroup'_ a1' a2' a3' a4' >>= \res ->
  return ()
loadResourceGroup :: HG3DClass -> String -> Bool -> Bool -> IO ()
loadResourceGroup a1 a2 a3 a4 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  let {a3' = fromBool a3} in 
  let {a4' = fromBool a4} in 
  loadResourceGroup'_ a1' a2' a3' a4' >>= \res ->
  return ()
unloadResourceGroup :: HG3DClass -> String -> Bool -> IO ()
unloadResourceGroup a1 a2 a3 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  let {a3' = fromBool a3} in 
  unloadResourceGroup'_ a1' a2' a3' >>= \res ->
  return ()
unloadUnreferencedResourcesInGroup :: HG3DClass -> String -> Bool -> IO ()
unloadUnreferencedResourcesInGroup a1 a2 a3 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  let {a3' = fromBool a3} in 
  unloadUnreferencedResourcesInGroup'_ a1' a2' a3' >>= \res ->
  return ()
clearResourceGroup :: HG3DClass -> String -> IO ()
clearResourceGroup a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  clearResourceGroup'_ a1' a2' >>= \res ->
  return ()
destroyResourceGroup :: HG3DClass -> String -> IO ()
destroyResourceGroup a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  destroyResourceGroup'_ a1' a2' >>= \res ->
  return ()
isResourceGroupInitialised :: HG3DClass -> String -> IO (Bool)
isResourceGroupInitialised a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  alloca $ \a3' -> 
  isResourceGroupInitialised'_ a1' a2' a3' >>= \res ->
  peekBoolUtil  a3'>>= \a3'' -> 
  return (a3'')
isResourceGroupLoaded :: HG3DClass -> String -> IO (Bool)
isResourceGroupLoaded a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  alloca $ \a3' -> 
  isResourceGroupLoaded'_ a1' a2' a3' >>= \res ->
  peekBoolUtil  a3'>>= \a3'' -> 
  return (a3'')
resourceGroupExists :: HG3DClass -> String -> IO (Bool)
resourceGroupExists a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  alloca $ \a3' -> 
  resourceGroupExists'_ a1' a2' a3' >>= \res ->
  peekBoolUtil  a3'>>= \a3'' -> 
  return (a3'')
addResourceLocation :: HG3DClass -> String -> String -> String -> Bool -> IO ()
addResourceLocation a1 a2 a3 a4 a5 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  withCString a3 $ \a3' -> 
  withCString a4 $ \a4' -> 
  let {a5' = fromBool a5} in 
  addResourceLocation'_ a1' a2' a3' a4' a5' >>= \res ->
  return ()
removeResourceLocation :: HG3DClass -> String -> String -> IO ()
removeResourceLocation a1 a2 a3 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  withCString a3 $ \a3' -> 
  removeResourceLocation'_ a1' a2' a3' >>= \res ->
  return ()
resourceLocationExists :: HG3DClass -> String -> String -> IO (Bool)
resourceLocationExists a1 a2 a3 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  withCString a3 $ \a3' -> 
  alloca $ \a4' -> 
  resourceLocationExists'_ a1' a2' a3' a4' >>= \res ->
  peekBoolUtil  a4'>>= \a4'' -> 
  return (a4'')
undeclareResource :: HG3DClass -> String -> String -> IO ()
undeclareResource a1 a2 a3 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  withCString a3 $ \a3' -> 
  undeclareResource'_ a1' a2' a3' >>= \res ->
  return ()
resourceExists :: HG3DClass -> String -> String -> IO (Bool)
resourceExists a1 a2 a3 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  withCString a3 $ \a3' -> 
  alloca $ \a4' -> 
  resourceExists'_ a1' a2' a3' a4' >>= \res ->
  peekBoolUtil  a4'>>= \a4'' -> 
  return (a4'')
resourceExistsInAnyGroup :: HG3DClass -> String -> IO (Bool)
resourceExistsInAnyGroup a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  alloca $ \a3' -> 
  resourceExistsInAnyGroup'_ a1' a2' a3' >>= \res ->
  peekBoolUtil  a3'>>= \a3'' -> 
  return (a3'')
findGroupContainingResource :: HG3DClass -> String -> IO (String)
findGroupContainingResource a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  alloc64k $ \a3' -> 
  findGroupContainingResource'_ a1' a2' a3' >>= \res ->
  peekCString  a3'>>= \a3'' -> 
  return (a3'')
deleteResource :: HG3DClass -> String -> String -> String -> IO ()
deleteResource a1 a2 a3 a4 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  withCString a3 $ \a3' -> 
  withCString a4 $ \a4' -> 
  deleteResource'_ a1' a2' a3' a4' >>= \res ->
  return ()
deleteMatchingResources :: HG3DClass -> String -> String -> String -> IO ()
deleteMatchingResources a1 a2 a3 a4 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  withCString a3 $ \a3' -> 
  withCString a4 $ \a4' -> 
  deleteMatchingResources'_ a1' a2' a3' a4' >>= \res ->
  return ()
setWorldResourceGroupName :: HG3DClass -> String -> IO ()
setWorldResourceGroupName a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  setWorldResourceGroupName'_ a1' a2' >>= \res ->
  return ()
getWorldResourceGroupName :: HG3DClass -> IO (String)
getWorldResourceGroupName a1 =
  withHG3DClass a1 $ \a1' -> 
  alloc64k $ \a2' -> 
  getWorldResourceGroupName'_ a1' a2' >>= \res ->
  peekCString  a2'>>= \a2'' -> 
  return (a2'')
linkWorldGeometryToResourceGroup :: HG3DClass -> String -> String -> HG3DClass -> IO ()
linkWorldGeometryToResourceGroup a1 a2 a3 a4 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  withCString a3 $ \a3' -> 
  withHG3DClass a4 $ \a4' -> 
  linkWorldGeometryToResourceGroup'_ a1' a2' a3' a4' >>= \res ->
  return ()
unlinkWorldGeometryFromResourceGroup :: HG3DClass -> String -> IO ()
unlinkWorldGeometryFromResourceGroup a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  unlinkWorldGeometryFromResourceGroup'_ a1' a2' >>= \res ->
  return ()
isResourceGroupInGlobalPool :: HG3DClass -> String -> IO (Bool)
isResourceGroupInGlobalPool a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  alloca $ \a3' -> 
  isResourceGroupInGlobalPool'_ a1' a2' a3' >>= \res ->
  peekBoolUtil  a3'>>= \a3'' -> 
  return (a3'')
shutdownAll :: HG3DClass -> IO ()
shutdownAll a1 =
  withHG3DClass a1 $ \a1' -> 
  shutdownAll'_ a1' >>= \res ->
  return ()
getSingleton :: IO (HG3DClass)
getSingleton =
  alloca $ \a1' -> 
  getSingleton'_ a1' >>= \res ->
  peek  a1'>>= \a1'' -> 
  return (a1'')
getSingletonPtr :: IO (HG3DClass)
getSingletonPtr =
  alloca $ \a1' -> 
  getSingletonPtr'_ a1' >>= \res ->
  peek  a1'>>= \a1'' -> 
  return (a1'')
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_construct"
  new'_ :: ((HG3DClassPtr) -> (IO ()))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_destruct"
  delete'_ :: ((HG3DClassPtr) -> (IO ()))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_createResourceGroup"
  createResourceGroup'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (CInt -> (IO ()))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_initialiseResourceGroup"
  initialiseResourceGroup'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_initialiseAllResourceGroups"
  initialiseAllResourceGroups'_ :: ((HG3DClassPtr) -> (IO ()))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_prepareResourceGroup"
  prepareResourceGroup'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (CInt -> (CInt -> (IO ())))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_loadResourceGroup"
  loadResourceGroup'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (CInt -> (CInt -> (IO ())))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_unloadResourceGroup"
  unloadResourceGroup'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (CInt -> (IO ()))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_unloadUnreferencedResourcesInGroup"
  unloadUnreferencedResourcesInGroup'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (CInt -> (IO ()))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_clearResourceGroup"
  clearResourceGroup'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_destroyResourceGroup"
  destroyResourceGroup'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_isResourceGroupInitialised"
  isResourceGroupInitialised'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CInt) -> (IO ()))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_isResourceGroupLoaded"
  isResourceGroupLoaded'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CInt) -> (IO ()))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_resourceGroupExists"
  resourceGroupExists'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CInt) -> (IO ()))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_addResourceLocation"
  addResourceLocation'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> ((Ptr CChar) -> (CInt -> (IO ()))))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_removeResourceLocation"
  removeResourceLocation'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_resourceLocationExists"
  resourceLocationExists'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> ((Ptr CInt) -> (IO ())))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_undeclareResource"
  undeclareResource'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_resourceExists"
  resourceExists'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> ((Ptr CInt) -> (IO ())))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_resourceExistsInAnyGroup"
  resourceExistsInAnyGroup'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CInt) -> (IO ()))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_findGroupContainingResource"
  findGroupContainingResource'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_deleteResource"
  deleteResource'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ())))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_deleteMatchingResources"
  deleteMatchingResources'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ())))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_setWorldResourceGroupName"
  setWorldResourceGroupName'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_getWorldResourceGroupName"
  getWorldResourceGroupName'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_linkWorldGeometryToResourceGroup"
  linkWorldGeometryToResourceGroup'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ())))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_unlinkWorldGeometryFromResourceGroup"
  unlinkWorldGeometryFromResourceGroup'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_isResourceGroupInGlobalPool"
  isResourceGroupInGlobalPool'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CInt) -> (IO ()))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_shutdownAll"
  shutdownAll'_ :: ((HG3DClassPtr) -> (IO ()))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_getSingleton"
  getSingleton'_ :: ((HG3DClassPtr) -> (IO ()))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassResourceGroupManager.chs.h ogre_rgmgr_getSingletonPtr"
  getSingletonPtr'_ :: ((HG3DClassPtr) -> (IO ()))