{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, OverlappingInstances, IncoherentInstances #-} module HROOT.Class.TDatime.Implementation where import HROOT.TypeCast import HROOT.Class.TDatime.RawType import HROOT.Class.TDatime.FFI import HROOT.Class.TDatime.Interface import HROOT.Class.TDatime.Cast 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 ITDatime TDatime where convert = xform1 c_tdatime_convert setTDatime = xform1 c_tdatime_settdatime instance IDeletable TDatime where delete = xform0 c_tdatime_delete instance ITDatime (Exist TDatime) where convert (ETDatime x) = convert x setTDatime (ETDatime x) = setTDatime x instance IDeletable (Exist TDatime) where delete (ETDatime x) = delete x newTDatime :: Int -> Int -> Int -> Int -> Int -> Int -> IO TDatime newTDatime = xform5 c_tdatime_newtdatime tDatimeGetDay :: TDatime -> IO Int tDatimeGetDay = xform0 c_tdatime_tdatimegetday tDatimeGetHour :: TDatime -> IO Int tDatimeGetHour = xform0 c_tdatime_tdatimegethour tDatimeGetMinute :: TDatime -> IO Int tDatimeGetMinute = xform0 c_tdatime_tdatimegetminute tDatimeGetSecond :: TDatime -> IO Int tDatimeGetSecond = xform0 c_tdatime_tdatimegetsecond tDatimeGetYear :: TDatime -> IO Int tDatimeGetYear = xform0 c_tdatime_tdatimegetyear tDatimeGetMonth :: TDatime -> IO Int tDatimeGetMonth = xform0 c_tdatime_tdatimegetmonth instance FPtr (Exist TDatime) where type Raw (Exist TDatime) = RawTDatime get_fptr (ETDatime obj) = castForeignPtr (get_fptr obj) cast_fptr_to_obj fptr = ETDatime (cast_fptr_to_obj (fptr :: ForeignPtr RawTDatime) :: TDatime)