{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-} ---------- GENERATED FILE, EDITS WILL BE LOST ---------- module Graphics.UI.Qtah.Generated.Core.QLatin1Char ( QLatin1CharValue (..), QLatin1CharConstPtr (..), toLatin1, unicode, QLatin1CharPtr (..), QLatin1CharConst (..), castQLatin1CharToConst, QLatin1Char (..), castQLatin1CharToNonconst, new, QLatin1CharSuper (..), QLatin1CharSuperConst (..), ) where import qualified Foreign as HoppyF import qualified Foreign.C as HoppyFC import qualified Foreign.Hoppy.Runtime as HoppyFHR import Prelude (($), (.), (==)) import qualified Prelude as HoppyP foreign import ccall "genpop__QLatin1Char_new" new' :: HoppyFC.CChar -> HoppyP.IO (HoppyF.Ptr QLatin1Char) foreign import ccall "genpop__QLatin1Char_toLatin1" toLatin1' :: HoppyF.Ptr QLatin1CharConst -> HoppyP.IO HoppyFC.CChar foreign import ccall "genpop__QLatin1Char_unicode" unicode' :: HoppyF.Ptr QLatin1CharConst -> HoppyP.IO HoppyFC.CUShort foreign import ccall "gendel__QLatin1Char" delete'QLatin1Char :: HoppyF.Ptr QLatin1CharConst -> HoppyP.IO () foreign import ccall "&gendel__QLatin1Char" deletePtr'QLatin1Char :: HoppyF.FunPtr (HoppyF.Ptr QLatin1CharConst -> HoppyP.IO ()) class QLatin1CharValue a where withQLatin1CharPtr :: a -> (QLatin1CharConst -> HoppyP.IO b) -> HoppyP.IO b instance {-# OVERLAPPABLE #-} QLatin1CharConstPtr a => QLatin1CharValue a where withQLatin1CharPtr = HoppyP.flip ($) . toQLatin1CharConst class (HoppyFHR.CppPtr this) => QLatin1CharConstPtr this where toQLatin1CharConst :: this -> QLatin1CharConst toLatin1 :: (QLatin1CharValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyFC.CChar) toLatin1 arg'1 = withQLatin1CharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> (toLatin1' arg'1') unicode :: (QLatin1CharValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyFC.CUShort) unicode arg'1 = withQLatin1CharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> (unicode' arg'1') class (QLatin1CharConstPtr this) => QLatin1CharPtr this where toQLatin1Char :: this -> QLatin1Char data QLatin1CharConst = QLatin1CharConst (HoppyF.Ptr QLatin1CharConst) | QLatin1CharConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QLatin1CharConst) deriving (HoppyP.Show) instance HoppyP.Eq QLatin1CharConst where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QLatin1CharConst where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQLatin1CharToConst :: QLatin1Char -> QLatin1CharConst castQLatin1CharToConst (QLatin1Char ptr') = QLatin1CharConst $ HoppyF.castPtr ptr' castQLatin1CharToConst (QLatin1CharGc fptr' ptr') = QLatin1CharConstGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QLatin1CharConst where nullptr = QLatin1CharConst HoppyF.nullPtr withCppPtr (QLatin1CharConst ptr') f' = f' ptr' withCppPtr (QLatin1CharConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QLatin1CharConst ptr') = ptr' toPtr (QLatin1CharConstGc _ ptr') = ptr' touchCppPtr (QLatin1CharConst _) = HoppyP.return () touchCppPtr (QLatin1CharConstGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QLatin1CharConst where delete (QLatin1CharConst ptr') = delete'QLatin1Char ptr' delete (QLatin1CharConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QLatin1CharConst", " object."] toGc this'@(QLatin1CharConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QLatin1CharConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QLatin1Char :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QLatin1CharConstGc {}) = HoppyP.return this' instance QLatin1CharConstPtr QLatin1CharConst where toQLatin1CharConst = HoppyP.id data QLatin1Char = QLatin1Char (HoppyF.Ptr QLatin1Char) | QLatin1CharGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QLatin1Char) deriving (HoppyP.Show) instance HoppyP.Eq QLatin1Char where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QLatin1Char where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQLatin1CharToNonconst :: QLatin1CharConst -> QLatin1Char castQLatin1CharToNonconst (QLatin1CharConst ptr') = QLatin1Char $ HoppyF.castPtr ptr' castQLatin1CharToNonconst (QLatin1CharConstGc fptr' ptr') = QLatin1CharGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QLatin1Char where nullptr = QLatin1Char HoppyF.nullPtr withCppPtr (QLatin1Char ptr') f' = f' ptr' withCppPtr (QLatin1CharGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QLatin1Char ptr') = ptr' toPtr (QLatin1CharGc _ ptr') = ptr' touchCppPtr (QLatin1Char _) = HoppyP.return () touchCppPtr (QLatin1CharGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QLatin1Char where delete (QLatin1Char ptr') = delete'QLatin1Char $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QLatin1CharConst) delete (QLatin1CharGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QLatin1Char", " object."] toGc this'@(QLatin1Char ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QLatin1CharGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QLatin1Char :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QLatin1CharGc {}) = HoppyP.return this' instance QLatin1CharConstPtr QLatin1Char where toQLatin1CharConst (QLatin1Char ptr') = QLatin1CharConst $ (HoppyF.castPtr :: HoppyF.Ptr QLatin1Char -> HoppyF.Ptr QLatin1CharConst) ptr' toQLatin1CharConst (QLatin1CharGc fptr' ptr') = QLatin1CharConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QLatin1Char -> HoppyF.Ptr QLatin1CharConst) ptr' instance QLatin1CharPtr QLatin1Char where toQLatin1Char = HoppyP.id new :: (HoppyFC.CChar) -> (HoppyP.IO QLatin1Char) new arg'1 = let arg'1' = arg'1 in HoppyP.fmap QLatin1Char (new' arg'1') class QLatin1CharSuper a where downToQLatin1Char :: a -> QLatin1Char class QLatin1CharSuperConst a where downToQLatin1CharConst :: a -> QLatin1CharConst instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QLatin1Char)) QLatin1Char where assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value' instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QLatin1Char)) QLatin1Char where decode = HoppyP.fmap QLatin1Char . HoppyF.peek