qtah-qt5-0.8.0: src/Graphics/UI/Qtah/Generated/Core/QMetaClassInfo.hs
{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-}
---------- GENERATED FILE, EDITS WILL BE LOST ----------
module Graphics.UI.Qtah.Generated.Core.QMetaClassInfo (
QMetaClassInfoValue (..),
QMetaClassInfoConstPtr (..),
name,
value,
QMetaClassInfoPtr (..),
QMetaClassInfoConst (..),
castQMetaClassInfoToConst,
QMetaClassInfo (..),
castQMetaClassInfoToNonconst,
newCopy,
QMetaClassInfoSuper (..),
QMetaClassInfoSuperConst (..),
) where
import Control.Monad ((>=>))
import qualified Foreign as HoppyF
import qualified Foreign.Hoppy.Runtime as HoppyFHR
import qualified Graphics.UI.Qtah.Generated.Core.QString as M142
import Prelude (($), (.), (=<<), (==))
import qualified Prelude as HoppyP
import qualified Prelude as QtahP
foreign import ccall "genpop__QMetaClassInfo_newCopy" newCopy' :: HoppyF.Ptr QMetaClassInfoConst -> HoppyP.IO (HoppyF.Ptr QMetaClassInfo)
foreign import ccall "genpop__QMetaClassInfo_name" name' :: HoppyF.Ptr QMetaClassInfoConst -> HoppyP.IO (HoppyF.Ptr M142.QStringConst)
foreign import ccall "genpop__QMetaClassInfo_value" value' :: HoppyF.Ptr QMetaClassInfoConst -> HoppyP.IO (HoppyF.Ptr M142.QStringConst)
foreign import ccall "gendel__QMetaClassInfo" delete'QMetaClassInfo :: HoppyF.Ptr QMetaClassInfoConst -> HoppyP.IO ()
foreign import ccall "&gendel__QMetaClassInfo" deletePtr'QMetaClassInfo :: HoppyF.FunPtr (HoppyF.Ptr QMetaClassInfoConst -> HoppyP.IO ())
class QMetaClassInfoValue a where
withQMetaClassInfoPtr :: a -> (QMetaClassInfoConst -> HoppyP.IO b) -> HoppyP.IO b
instance {-# OVERLAPPABLE #-} QMetaClassInfoConstPtr a => QMetaClassInfoValue a where
withQMetaClassInfoPtr = HoppyP.flip ($) . toQMetaClassInfoConst
class (HoppyFHR.CppPtr this) => QMetaClassInfoConstPtr this where
toQMetaClassInfoConst :: this -> QMetaClassInfoConst
name :: (QMetaClassInfoValue arg'1) => (arg'1) -> (HoppyP.IO QtahP.String)
name arg'1 =
withQMetaClassInfoPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(HoppyFHR.decodeAndDelete . M142.QStringConst) =<<
(name' arg'1')
value :: (QMetaClassInfoValue arg'1) => (arg'1) -> (HoppyP.IO QtahP.String)
value arg'1 =
withQMetaClassInfoPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(HoppyFHR.decodeAndDelete . M142.QStringConst) =<<
(value' arg'1')
class (QMetaClassInfoConstPtr this) => QMetaClassInfoPtr this where
toQMetaClassInfo :: this -> QMetaClassInfo
data QMetaClassInfoConst =
QMetaClassInfoConst (HoppyF.Ptr QMetaClassInfoConst)
| QMetaClassInfoConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QMetaClassInfoConst)
deriving (HoppyP.Show)
instance HoppyP.Eq QMetaClassInfoConst where
x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y
instance HoppyP.Ord QMetaClassInfoConst where
compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)
castQMetaClassInfoToConst :: QMetaClassInfo -> QMetaClassInfoConst
castQMetaClassInfoToConst (QMetaClassInfo ptr') = QMetaClassInfoConst $ HoppyF.castPtr ptr'
castQMetaClassInfoToConst (QMetaClassInfoGc fptr' ptr') = QMetaClassInfoConstGc fptr' $ HoppyF.castPtr ptr'
instance HoppyFHR.CppPtr QMetaClassInfoConst where
nullptr = QMetaClassInfoConst HoppyF.nullPtr
withCppPtr (QMetaClassInfoConst ptr') f' = f' ptr'
withCppPtr (QMetaClassInfoConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
toPtr (QMetaClassInfoConst ptr') = ptr'
toPtr (QMetaClassInfoConstGc _ ptr') = ptr'
touchCppPtr (QMetaClassInfoConst _) = HoppyP.return ()
touchCppPtr (QMetaClassInfoConstGc fptr' _) = HoppyF.touchForeignPtr fptr'
instance HoppyFHR.Deletable QMetaClassInfoConst where
delete (QMetaClassInfoConst ptr') = delete'QMetaClassInfo ptr'
delete (QMetaClassInfoConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QMetaClassInfoConst", " object."]
toGc this'@(QMetaClassInfoConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QMetaClassInfoConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QMetaClassInfo :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
toGc this'@(QMetaClassInfoConstGc {}) = HoppyP.return this'
instance HoppyFHR.Copyable QMetaClassInfoConst QMetaClassInfo where copy = newCopy
instance QMetaClassInfoConstPtr QMetaClassInfoConst where
toQMetaClassInfoConst = HoppyP.id
data QMetaClassInfo =
QMetaClassInfo (HoppyF.Ptr QMetaClassInfo)
| QMetaClassInfoGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QMetaClassInfo)
deriving (HoppyP.Show)
instance HoppyP.Eq QMetaClassInfo where
x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y
instance HoppyP.Ord QMetaClassInfo where
compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)
castQMetaClassInfoToNonconst :: QMetaClassInfoConst -> QMetaClassInfo
castQMetaClassInfoToNonconst (QMetaClassInfoConst ptr') = QMetaClassInfo $ HoppyF.castPtr ptr'
castQMetaClassInfoToNonconst (QMetaClassInfoConstGc fptr' ptr') = QMetaClassInfoGc fptr' $ HoppyF.castPtr ptr'
instance HoppyFHR.CppPtr QMetaClassInfo where
nullptr = QMetaClassInfo HoppyF.nullPtr
withCppPtr (QMetaClassInfo ptr') f' = f' ptr'
withCppPtr (QMetaClassInfoGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
toPtr (QMetaClassInfo ptr') = ptr'
toPtr (QMetaClassInfoGc _ ptr') = ptr'
touchCppPtr (QMetaClassInfo _) = HoppyP.return ()
touchCppPtr (QMetaClassInfoGc fptr' _) = HoppyF.touchForeignPtr fptr'
instance HoppyFHR.Deletable QMetaClassInfo where
delete (QMetaClassInfo ptr') = delete'QMetaClassInfo $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QMetaClassInfoConst)
delete (QMetaClassInfoGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QMetaClassInfo", " object."]
toGc this'@(QMetaClassInfo ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QMetaClassInfoGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QMetaClassInfo :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
toGc this'@(QMetaClassInfoGc {}) = HoppyP.return this'
instance HoppyFHR.Copyable QMetaClassInfo QMetaClassInfo where copy = newCopy
instance QMetaClassInfoConstPtr QMetaClassInfo where
toQMetaClassInfoConst (QMetaClassInfo ptr') = QMetaClassInfoConst $ (HoppyF.castPtr :: HoppyF.Ptr QMetaClassInfo -> HoppyF.Ptr QMetaClassInfoConst) ptr'
toQMetaClassInfoConst (QMetaClassInfoGc fptr' ptr') = QMetaClassInfoConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QMetaClassInfo -> HoppyF.Ptr QMetaClassInfoConst) ptr'
instance QMetaClassInfoPtr QMetaClassInfo where
toQMetaClassInfo = HoppyP.id
newCopy :: (QMetaClassInfoValue arg'1) => (arg'1) -> (HoppyP.IO QMetaClassInfo)
newCopy arg'1 =
withQMetaClassInfoPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap QMetaClassInfo
(newCopy' arg'1')
class QMetaClassInfoSuper a where
downToQMetaClassInfo :: a -> QMetaClassInfo
class QMetaClassInfoSuperConst a where
downToQMetaClassInfoConst :: a -> QMetaClassInfoConst
instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QMetaClassInfo)) QMetaClassInfo where
assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value'
instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QMetaClassInfo)) QMetaClassInfo where
decode = HoppyP.fmap QMetaClassInfo . HoppyF.peek
instance HoppyFHR.Decodable QMetaClassInfo (QMetaClassInfo) where
decode = HoppyFHR.decode . toQMetaClassInfoConst
instance HoppyFHR.Decodable QMetaClassInfoConst (QMetaClassInfo) where
decode =
HoppyFHR.copy >=> HoppyFHR.toGc