{-# LINE 1 "src/HROOT/Core/TObject/FFI.hsc" #-}
{-# LANGUAGE ForeignFunctionInterface #-}
{-# LINE 2 "src/HROOT/Core/TObject/FFI.hsc" #-}

-- module HROOT.Class.FFI where

module HROOT.Core.TObject.FFI where


import Foreign.C            
import Foreign.Ptr

-- import HROOT.Class.Interface

-- #include ""

import HROOT.Core.TObject.RawType
import HROOT.Core.TClass.RawType


{-# LINE 19 "src/HROOT/Core/TObject/FFI.hsc" #-}

foreign import ccall "HROOTCoreTObject.h TObject_delete" c_tobject_delete 
  :: (Ptr RawTObject) -> IO ()

foreign import ccall "HROOTCoreTObject.h TObject_newTObject" c_tobject_newtobject 
  :: IO (Ptr RawTObject)

foreign import ccall "HROOTCoreTObject.h TObject_Draw" c_tobject_draw 
  :: (Ptr RawTObject) -> CString -> IO ()

foreign import ccall "HROOTCoreTObject.h TObject_FindObject" c_tobject_findobject 
  :: (Ptr RawTObject) -> CString -> IO (Ptr RawTObject)

foreign import ccall "HROOTCoreTObject.h TObject_GetName" c_tobject_getname 
  :: (Ptr RawTObject) -> IO CString

foreign import ccall "HROOTCoreTObject.h TObject_IsA" c_tobject_isa 
  :: (Ptr RawTObject) -> IO (Ptr RawTClass)

foreign import ccall "HROOTCoreTObject.h TObject_Paint" c_tobject_paint 
  :: (Ptr RawTObject) -> CString -> IO ()

foreign import ccall "HROOTCoreTObject.h TObject_printObj" c_tobject_printobj 
  :: (Ptr RawTObject) -> CString -> IO ()

foreign import ccall "HROOTCoreTObject.h TObject_SaveAs" c_tobject_saveas 
  :: (Ptr RawTObject) -> CString -> CString -> IO ()

foreign import ccall "HROOTCoreTObject.h TObject_Write" c_tobject_write 
  :: (Ptr RawTObject) -> CString -> CInt -> CInt -> IO CInt

foreign import ccall "HROOTCoreTObject.h TObject_tObjectGetObjectStat" c_tobject_tobjectgetobjectstat 
  :: IO CInt