qtah-qt5-0.8.0: src/Graphics/UI/Qtah/Generated/Core/QLatin1Char.hs
{-# 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