{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, OverlappingInstances, IncoherentInstances #-} module HROOT.Class.TDirectory.Implementation where import HROOT.TypeCast import HROOT.Class.TDirectory.RawType import HROOT.Class.TDirectory.FFI import HROOT.Class.TDirectory.Interface import HROOT.Class.TDirectory.Cast import HROOT.Class.TClass.RawType import HROOT.Class.TClass.Cast import HROOT.Class.TClass.Interface import HROOT.Class.TKey.RawType import HROOT.Class.TKey.Cast import HROOT.Class.TKey.Interface import HROOT.Class.TNamed.RawType import HROOT.Class.TNamed.Cast import HROOT.Class.TNamed.Interface import HROOT.Class.TObject.RawType import HROOT.Class.TObject.Cast import HROOT.Class.TObject.Interface import HROOT.Class.Deletable.RawType import HROOT.Class.Deletable.Cast import HROOT.Class.Deletable.Interface import Data.Word -- import Foreign.C -- import Foreign.Ptr import Foreign.ForeignPtr import System.IO.Unsafe instance ITDirectory TDirectory where append = xform2 c_tdirectory_append addD = xform2 c_tdirectory_addd appendKey = xform1 c_tdirectory_appendkey close = xform1 c_tdirectory_close get = xform1 c_tdirectory_get instance ITNamed TDirectory where setName = xform1 c_tdirectory_setname setNameTitle = xform2 c_tdirectory_setnametitle setTitle = xform1 c_tdirectory_settitle instance ITObject TDirectory where draw = xform1 c_tdirectory_draw findObject = xform1 c_tdirectory_findobject getName = xform0 c_tdirectory_getname isA = xform0 c_tdirectory_isa isFolder = xform0 c_tdirectory_isfolder isEqual = xform1 c_tdirectory_isequal isSortable = xform0 c_tdirectory_issortable paint = xform1 c_tdirectory_paint printObj = xform1 c_tdirectory_printobj recursiveRemove = xform1 c_tdirectory_recursiveremove saveAs = xform2 c_tdirectory_saveas useCurrentStyle = xform0 c_tdirectory_usecurrentstyle write = xform3 c_tdirectory_write instance IDeletable TDirectory where delete = xform0 c_tdirectory_delete instance ITDirectory (Exist TDirectory) where append (ETDirectory x) = append x addD (ETDirectory x) = addD x appendKey (ETDirectory x) = appendKey x close (ETDirectory x) = close x get (ETDirectory x) = get x instance ITNamed (Exist TDirectory) where setName (ETDirectory x) = setName x setNameTitle (ETDirectory x) = setNameTitle x setTitle (ETDirectory x) = setTitle x instance ITObject (Exist TDirectory) where draw (ETDirectory x) = draw x findObject (ETDirectory x) = findObject x getName (ETDirectory x) = getName x isA (ETDirectory x) = isA x isFolder (ETDirectory x) = isFolder x isEqual (ETDirectory x) = isEqual x isSortable (ETDirectory x) = isSortable x paint (ETDirectory x) = paint x printObj (ETDirectory x) = printObj x recursiveRemove (ETDirectory x) = recursiveRemove x saveAs (ETDirectory x) = saveAs x useCurrentStyle (ETDirectory x) = useCurrentStyle x write (ETDirectory x) = write x instance IDeletable (Exist TDirectory) where delete (ETDirectory x) = delete x tDirectoryAddDirectory :: Int -> IO () tDirectoryAddDirectory = xform0 c_tdirectory_tdirectoryadddirectory tDirectoryAddDirectoryStatus :: IO Int tDirectoryAddDirectoryStatus = xformnull c_tdirectory_tdirectoryadddirectorystatus instance FPtr (Exist TDirectory) where type Raw (Exist TDirectory) = RawTDirectory get_fptr (ETDirectory obj) = castForeignPtr (get_fptr obj) cast_fptr_to_obj fptr = ETDirectory (cast_fptr_to_obj (fptr :: ForeignPtr RawTDirectory) :: TDirectory)