{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, OverlappingInstances, IncoherentInstances #-} module HROOT.Core.TCollection.Implementation where import FFICXX.Runtime.Cast import HROOT.Core.TCollection.RawType import HROOT.Core.TCollection.FFI import HROOT.Core.TCollection.Interface import HROOT.Core.TCollection.Cast import HROOT.Core.TClass.RawType import HROOT.Core.TClass.Cast import HROOT.Core.TClass.Interface import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface import HROOT.Core.Deletable.RawType import HROOT.Core.Deletable.Cast import HROOT.Core.Deletable.Interface import Data.Word import Foreign.C import Foreign.Ptr import Foreign.ForeignPtr import System.IO.Unsafe instance ITCollection TCollection where instance ITObject TCollection where draw = xform1 c_tcollection_draw findObject = xform1 c_tcollection_findobject getName = xform0 c_tcollection_getname isA = xform0 c_tcollection_isa paint = xform1 c_tcollection_paint printObj = xform1 c_tcollection_printobj saveAs = xform2 c_tcollection_saveas write = xform3 c_tcollection_write instance IDeletable TCollection where delete = xform0 c_tcollection_delete instance ITCollection (Exist TCollection) where instance ITObject (Exist TCollection) where draw (ETCollection x) = draw x findObject (ETCollection x) = findObject x getName (ETCollection x) = getName x isA (ETCollection x) = isA x paint (ETCollection x) = paint x printObj (ETCollection x) = printObj x saveAs (ETCollection x) = saveAs x write (ETCollection x) = write x instance IDeletable (Exist TCollection) where delete (ETCollection x) = delete x instance FPtr (Exist TCollection) where type Raw (Exist TCollection) = RawTCollection get_fptr (ETCollection obj) = castForeignPtr (get_fptr obj) cast_fptr_to_obj fptr = ETCollection (cast_fptr_to_obj (fptr :: ForeignPtr RawTCollection) :: TCollection)