{-# LINE 1 "src/HROOT/Core/TObject/FFI.hsc" #-}
{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-}
module HROOT.Core.TObject.FFI where
import Data.Word
import Data.Int
import Foreign.C
import Foreign.Ptr
import HROOT.Core.TObject.RawType
import HROOT.Core.TObject.RawType
import HROOT.Core.TClass.RawType

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

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

foreign import ccall interruptible
               "HROOTCoreTObject.h TObject_Clear" c_tobject_clear ::
               Ptr RawTObject -> CString -> IO ()

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

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

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

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

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

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

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

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

foreign import ccall interruptible
               "HROOTCoreTObject.h TObject_Write_" c_tobject_write_ ::
               Ptr RawTObject -> IO CInt

foreign import ccall interruptible
               "HROOTCoreTObject.h TObject_tObject_GetObjectStat"
               c_tobject_tobject_getobjectstat :: IO CBool