qtah-qt5-0.8.0: src/Graphics/UI/Qtah/Generated/Core/QMetaProperty.hs
{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-}
---------- GENERATED FILE, EDITS WILL BE LOST ----------
module Graphics.UI.Qtah.Generated.Core.QMetaProperty (
QMetaPropertyValue (..),
QMetaPropertyConstPtr (..),
enumerator,
hasNotifySignal,
isConstant,
isDesignable,
isDesignableWithObject,
isEnumType,
isFinal,
isFlagType,
isReadable,
isResettable,
isScriptable,
isScriptableWithObject,
isStored,
isStoredWithObject,
isUser,
isUserWithObject,
isValid,
isWritable,
name,
notifySignal,
notifySignalIndex,
propertyIndex,
read,
readOnGadget,
reset,
resetOnGadget,
revision,
getType,
typeName,
userType,
write,
writeOnGadget,
QMetaPropertyPtr (..),
QMetaPropertyConst (..),
castQMetaPropertyToConst,
QMetaProperty (..),
castQMetaPropertyToNonconst,
newCopy,
QMetaPropertySuper (..),
QMetaPropertySuperConst (..),
) where
import Control.Monad ((>=>))
import qualified Foreign as HoppyF
import qualified Foreign.C as HoppyFC
import qualified Foreign.Hoppy.Runtime as HoppyFHR
import qualified Graphics.UI.Qtah.Generated.Core.QMetaEnum as M80
import qualified Graphics.UI.Qtah.Generated.Core.QMetaMethod as M82
import {-# SOURCE #-} qualified Graphics.UI.Qtah.Generated.Core.QObject as M94
import qualified Graphics.UI.Qtah.Generated.Core.QVariant as M168
import Prelude (($), (.), (/=), (=<<), (==))
import qualified Prelude as HoppyP
foreign import ccall "genpop__QMetaProperty_newCopy" newCopy' :: HoppyF.Ptr QMetaPropertyConst -> HoppyP.IO (HoppyF.Ptr QMetaProperty)
foreign import ccall "genpop__QMetaProperty_enumerator" enumerator' :: HoppyF.Ptr QMetaPropertyConst -> HoppyP.IO (HoppyF.Ptr M80.QMetaEnumConst)
foreign import ccall "genpop__QMetaProperty_hasNotifySignal" hasNotifySignal' :: HoppyF.Ptr QMetaPropertyConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QMetaProperty_isConstant" isConstant' :: HoppyF.Ptr QMetaPropertyConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QMetaProperty_isDesignable" isDesignable' :: HoppyF.Ptr QMetaPropertyConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QMetaProperty_isDesignableWithObject" isDesignableWithObject' :: HoppyF.Ptr QMetaPropertyConst -> HoppyF.Ptr M94.QObjectConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QMetaProperty_isEnumType" isEnumType' :: HoppyF.Ptr QMetaPropertyConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QMetaProperty_isFinal" isFinal' :: HoppyF.Ptr QMetaPropertyConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QMetaProperty_isFlagType" isFlagType' :: HoppyF.Ptr QMetaPropertyConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QMetaProperty_isReadable" isReadable' :: HoppyF.Ptr QMetaPropertyConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QMetaProperty_isResettable" isResettable' :: HoppyF.Ptr QMetaPropertyConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QMetaProperty_isScriptable" isScriptable' :: HoppyF.Ptr QMetaPropertyConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QMetaProperty_isScriptableWithObject" isScriptableWithObject' :: HoppyF.Ptr QMetaPropertyConst -> HoppyF.Ptr M94.QObjectConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QMetaProperty_isStored" isStored' :: HoppyF.Ptr QMetaPropertyConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QMetaProperty_isStoredWithObject" isStoredWithObject' :: HoppyF.Ptr QMetaPropertyConst -> HoppyF.Ptr M94.QObjectConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QMetaProperty_isUser" isUser' :: HoppyF.Ptr QMetaPropertyConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QMetaProperty_isUserWithObject" isUserWithObject' :: HoppyF.Ptr QMetaPropertyConst -> HoppyF.Ptr M94.QObjectConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QMetaProperty_isValid" isValid' :: HoppyF.Ptr QMetaPropertyConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QMetaProperty_isWritable" isWritable' :: HoppyF.Ptr QMetaPropertyConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QMetaProperty_name" name' :: HoppyF.Ptr QMetaPropertyConst -> HoppyP.IO (HoppyF.Ptr HoppyFC.CChar)
foreign import ccall "genpop__QMetaProperty_notifySignal" notifySignal' :: HoppyF.Ptr QMetaPropertyConst -> HoppyP.IO (HoppyF.Ptr M82.QMetaMethodConst)
foreign import ccall "genpop__QMetaProperty_notifySignalIndex" notifySignalIndex' :: HoppyF.Ptr QMetaPropertyConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QMetaProperty_propertyIndex" propertyIndex' :: HoppyF.Ptr QMetaPropertyConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QMetaProperty_read" read' :: HoppyF.Ptr QMetaPropertyConst -> HoppyF.Ptr M94.QObjectConst -> HoppyP.IO (HoppyF.Ptr M168.QVariantConst)
foreign import ccall "genpop__QMetaProperty_readOnGadget" readOnGadget' :: HoppyF.Ptr QMetaPropertyConst -> HoppyF.Ptr () -> HoppyP.IO (HoppyF.Ptr M168.QVariantConst)
foreign import ccall "genpop__QMetaProperty_reset" reset' :: HoppyF.Ptr QMetaPropertyConst -> HoppyF.Ptr M94.QObject -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QMetaProperty_resetOnGadget" resetOnGadget' :: HoppyF.Ptr QMetaPropertyConst -> HoppyF.Ptr () -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QMetaProperty_revision" revision' :: HoppyF.Ptr QMetaPropertyConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QMetaProperty_getType" getType' :: HoppyF.Ptr QMetaPropertyConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QMetaProperty_typeName" typeName' :: HoppyF.Ptr QMetaPropertyConst -> HoppyP.IO (HoppyF.Ptr HoppyFC.CChar)
foreign import ccall "genpop__QMetaProperty_userType" userType' :: HoppyF.Ptr QMetaPropertyConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QMetaProperty_write" write' :: HoppyF.Ptr QMetaPropertyConst -> HoppyF.Ptr M94.QObject -> HoppyF.Ptr M168.QVariantConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QMetaProperty_writeOnGadget" writeOnGadget' :: HoppyF.Ptr QMetaPropertyConst -> HoppyF.Ptr () -> HoppyF.Ptr M168.QVariantConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "gendel__QMetaProperty" delete'QMetaProperty :: HoppyF.Ptr QMetaPropertyConst -> HoppyP.IO ()
foreign import ccall "&gendel__QMetaProperty" deletePtr'QMetaProperty :: HoppyF.FunPtr (HoppyF.Ptr QMetaPropertyConst -> HoppyP.IO ())
class QMetaPropertyValue a where
withQMetaPropertyPtr :: a -> (QMetaPropertyConst -> HoppyP.IO b) -> HoppyP.IO b
instance {-# OVERLAPPABLE #-} QMetaPropertyConstPtr a => QMetaPropertyValue a where
withQMetaPropertyPtr = HoppyP.flip ($) . toQMetaPropertyConst
class (HoppyFHR.CppPtr this) => QMetaPropertyConstPtr this where
toQMetaPropertyConst :: this -> QMetaPropertyConst
enumerator :: (QMetaPropertyValue this) => (this) {- ^ this -} -> (HoppyP.IO M80.QMetaEnum)
enumerator arg'1 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(HoppyFHR.decodeAndDelete . M80.QMetaEnumConst) =<<
(enumerator' arg'1')
hasNotifySignal :: (QMetaPropertyValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Bool)
hasNotifySignal arg'1 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
(HoppyP.return . (/= 0))
) =<<
(hasNotifySignal' arg'1')
isConstant :: (QMetaPropertyValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Bool)
isConstant arg'1 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
(HoppyP.return . (/= 0))
) =<<
(isConstant' arg'1')
isDesignable :: (QMetaPropertyValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Bool)
isDesignable arg'1 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
(HoppyP.return . (/= 0))
) =<<
(isDesignable' arg'1')
isDesignableWithObject :: (QMetaPropertyValue this, M94.QObjectValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO HoppyP.Bool)
isDesignableWithObject arg'1 arg'2 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
M94.withQObjectPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
(
(HoppyP.return . (/= 0))
) =<<
(isDesignableWithObject' arg'1' arg'2')
isEnumType :: (QMetaPropertyValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Bool)
isEnumType arg'1 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
(HoppyP.return . (/= 0))
) =<<
(isEnumType' arg'1')
isFinal :: (QMetaPropertyValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Bool)
isFinal arg'1 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
(HoppyP.return . (/= 0))
) =<<
(isFinal' arg'1')
isFlagType :: (QMetaPropertyValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Bool)
isFlagType arg'1 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
(HoppyP.return . (/= 0))
) =<<
(isFlagType' arg'1')
isReadable :: (QMetaPropertyValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Bool)
isReadable arg'1 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
(HoppyP.return . (/= 0))
) =<<
(isReadable' arg'1')
isResettable :: (QMetaPropertyValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Bool)
isResettable arg'1 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
(HoppyP.return . (/= 0))
) =<<
(isResettable' arg'1')
isScriptable :: (QMetaPropertyValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Bool)
isScriptable arg'1 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
(HoppyP.return . (/= 0))
) =<<
(isScriptable' arg'1')
isScriptableWithObject :: (QMetaPropertyValue this, M94.QObjectValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO HoppyP.Bool)
isScriptableWithObject arg'1 arg'2 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
M94.withQObjectPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
(
(HoppyP.return . (/= 0))
) =<<
(isScriptableWithObject' arg'1' arg'2')
isStored :: (QMetaPropertyValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Bool)
isStored arg'1 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
(HoppyP.return . (/= 0))
) =<<
(isStored' arg'1')
isStoredWithObject :: (QMetaPropertyValue this, M94.QObjectValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO HoppyP.Bool)
isStoredWithObject arg'1 arg'2 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
M94.withQObjectPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
(
(HoppyP.return . (/= 0))
) =<<
(isStoredWithObject' arg'1' arg'2')
isUser :: (QMetaPropertyValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Bool)
isUser arg'1 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
(HoppyP.return . (/= 0))
) =<<
(isUser' arg'1')
isUserWithObject :: (QMetaPropertyValue this, M94.QObjectValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO HoppyP.Bool)
isUserWithObject arg'1 arg'2 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
M94.withQObjectPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
(
(HoppyP.return . (/= 0))
) =<<
(isUserWithObject' arg'1' arg'2')
isValid :: (QMetaPropertyValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Bool)
isValid arg'1 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
(HoppyP.return . (/= 0))
) =<<
(isValid' arg'1')
isWritable :: (QMetaPropertyValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Bool)
isWritable arg'1 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
(HoppyP.return . (/= 0))
) =<<
(isWritable' arg'1')
name :: (QMetaPropertyValue this) => (this) {- ^ this -} -> (HoppyP.IO (HoppyF.Ptr HoppyFC.CChar))
name arg'1 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(name' arg'1')
notifySignal :: (QMetaPropertyValue this) => (this) {- ^ this -} -> (HoppyP.IO M82.QMetaMethod)
notifySignal arg'1 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(HoppyFHR.decodeAndDelete . M82.QMetaMethodConst) =<<
(notifySignal' arg'1')
notifySignalIndex :: (QMetaPropertyValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Int)
notifySignalIndex arg'1 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
HoppyP.return . HoppyFHR.coerceIntegral
) =<<
(notifySignalIndex' arg'1')
propertyIndex :: (QMetaPropertyValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Int)
propertyIndex arg'1 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
HoppyP.return . HoppyFHR.coerceIntegral
) =<<
(propertyIndex' arg'1')
read :: (QMetaPropertyValue this, M94.QObjectValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO M168.QVariant)
read arg'1 arg'2 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
M94.withQObjectPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
(HoppyFHR.decodeAndDelete . M168.QVariantConst) =<<
(read' arg'1' arg'2')
readOnGadget :: (QMetaPropertyValue this) => (this) {- ^ this -} -> (HoppyF.Ptr ()) -> (HoppyP.IO M168.QVariant)
readOnGadget arg'1 arg'2 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
let arg'2' = arg'2 in
(HoppyFHR.decodeAndDelete . M168.QVariantConst) =<<
(readOnGadget' arg'1' arg'2')
reset :: (QMetaPropertyValue this, M94.QObjectPtr arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO HoppyP.Bool)
reset arg'1 arg'2 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyFHR.withCppPtr (M94.toQObject arg'2) $ \arg'2' ->
(
(HoppyP.return . (/= 0))
) =<<
(reset' arg'1' arg'2')
resetOnGadget :: (QMetaPropertyValue this) => (this) {- ^ this -} -> (HoppyF.Ptr ()) -> (HoppyP.IO HoppyP.Bool)
resetOnGadget arg'1 arg'2 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
let arg'2' = arg'2 in
(
(HoppyP.return . (/= 0))
) =<<
(resetOnGadget' arg'1' arg'2')
revision :: (QMetaPropertyValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Int)
revision arg'1 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
HoppyP.return . HoppyFHR.coerceIntegral
) =<<
(revision' arg'1')
getType :: (QMetaPropertyValue this) => (this) {- ^ this -} -> (HoppyP.IO M168.QVariantType)
getType arg'1 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
HoppyP.return . HoppyFHR.toCppEnum
) =<<
(getType' arg'1')
typeName :: (QMetaPropertyValue this) => (this) {- ^ this -} -> (HoppyP.IO (HoppyF.Ptr HoppyFC.CChar))
typeName arg'1 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(typeName' arg'1')
userType :: (QMetaPropertyValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Int)
userType arg'1 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
HoppyP.return . HoppyFHR.coerceIntegral
) =<<
(userType' arg'1')
write :: (QMetaPropertyValue this, M94.QObjectPtr arg'2, M168.QVariantValue arg'3) => (this) {- ^ this -} -> (arg'2) -> (arg'3) -> (HoppyP.IO HoppyP.Bool)
write arg'1 arg'2 arg'3 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyFHR.withCppPtr (M94.toQObject arg'2) $ \arg'2' ->
M168.withQVariantPtr arg'3 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'3' ->
(
(HoppyP.return . (/= 0))
) =<<
(write' arg'1' arg'2' arg'3')
writeOnGadget :: (QMetaPropertyValue this, M168.QVariantValue arg'3) => (this) {- ^ this -} -> (HoppyF.Ptr ()) -> (arg'3) -> (HoppyP.IO HoppyP.Bool)
writeOnGadget arg'1 arg'2 arg'3 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
let arg'2' = arg'2 in
M168.withQVariantPtr arg'3 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'3' ->
(
(HoppyP.return . (/= 0))
) =<<
(writeOnGadget' arg'1' arg'2' arg'3')
class (QMetaPropertyConstPtr this) => QMetaPropertyPtr this where
toQMetaProperty :: this -> QMetaProperty
data QMetaPropertyConst =
QMetaPropertyConst (HoppyF.Ptr QMetaPropertyConst)
| QMetaPropertyConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QMetaPropertyConst)
deriving (HoppyP.Show)
instance HoppyP.Eq QMetaPropertyConst where
x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y
instance HoppyP.Ord QMetaPropertyConst where
compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)
castQMetaPropertyToConst :: QMetaProperty -> QMetaPropertyConst
castQMetaPropertyToConst (QMetaProperty ptr') = QMetaPropertyConst $ HoppyF.castPtr ptr'
castQMetaPropertyToConst (QMetaPropertyGc fptr' ptr') = QMetaPropertyConstGc fptr' $ HoppyF.castPtr ptr'
instance HoppyFHR.CppPtr QMetaPropertyConst where
nullptr = QMetaPropertyConst HoppyF.nullPtr
withCppPtr (QMetaPropertyConst ptr') f' = f' ptr'
withCppPtr (QMetaPropertyConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
toPtr (QMetaPropertyConst ptr') = ptr'
toPtr (QMetaPropertyConstGc _ ptr') = ptr'
touchCppPtr (QMetaPropertyConst _) = HoppyP.return ()
touchCppPtr (QMetaPropertyConstGc fptr' _) = HoppyF.touchForeignPtr fptr'
instance HoppyFHR.Deletable QMetaPropertyConst where
delete (QMetaPropertyConst ptr') = delete'QMetaProperty ptr'
delete (QMetaPropertyConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QMetaPropertyConst", " object."]
toGc this'@(QMetaPropertyConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QMetaPropertyConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QMetaProperty :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
toGc this'@(QMetaPropertyConstGc {}) = HoppyP.return this'
instance HoppyFHR.Copyable QMetaPropertyConst QMetaProperty where copy = newCopy
instance QMetaPropertyConstPtr QMetaPropertyConst where
toQMetaPropertyConst = HoppyP.id
data QMetaProperty =
QMetaProperty (HoppyF.Ptr QMetaProperty)
| QMetaPropertyGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QMetaProperty)
deriving (HoppyP.Show)
instance HoppyP.Eq QMetaProperty where
x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y
instance HoppyP.Ord QMetaProperty where
compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)
castQMetaPropertyToNonconst :: QMetaPropertyConst -> QMetaProperty
castQMetaPropertyToNonconst (QMetaPropertyConst ptr') = QMetaProperty $ HoppyF.castPtr ptr'
castQMetaPropertyToNonconst (QMetaPropertyConstGc fptr' ptr') = QMetaPropertyGc fptr' $ HoppyF.castPtr ptr'
instance HoppyFHR.CppPtr QMetaProperty where
nullptr = QMetaProperty HoppyF.nullPtr
withCppPtr (QMetaProperty ptr') f' = f' ptr'
withCppPtr (QMetaPropertyGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
toPtr (QMetaProperty ptr') = ptr'
toPtr (QMetaPropertyGc _ ptr') = ptr'
touchCppPtr (QMetaProperty _) = HoppyP.return ()
touchCppPtr (QMetaPropertyGc fptr' _) = HoppyF.touchForeignPtr fptr'
instance HoppyFHR.Deletable QMetaProperty where
delete (QMetaProperty ptr') = delete'QMetaProperty $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QMetaPropertyConst)
delete (QMetaPropertyGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QMetaProperty", " object."]
toGc this'@(QMetaProperty ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QMetaPropertyGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QMetaProperty :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
toGc this'@(QMetaPropertyGc {}) = HoppyP.return this'
instance HoppyFHR.Copyable QMetaProperty QMetaProperty where copy = newCopy
instance QMetaPropertyConstPtr QMetaProperty where
toQMetaPropertyConst (QMetaProperty ptr') = QMetaPropertyConst $ (HoppyF.castPtr :: HoppyF.Ptr QMetaProperty -> HoppyF.Ptr QMetaPropertyConst) ptr'
toQMetaPropertyConst (QMetaPropertyGc fptr' ptr') = QMetaPropertyConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QMetaProperty -> HoppyF.Ptr QMetaPropertyConst) ptr'
instance QMetaPropertyPtr QMetaProperty where
toQMetaProperty = HoppyP.id
newCopy :: (QMetaPropertyValue arg'1) => (arg'1) -> (HoppyP.IO QMetaProperty)
newCopy arg'1 =
withQMetaPropertyPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap QMetaProperty
(newCopy' arg'1')
class QMetaPropertySuper a where
downToQMetaProperty :: a -> QMetaProperty
class QMetaPropertySuperConst a where
downToQMetaPropertyConst :: a -> QMetaPropertyConst
instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QMetaProperty)) QMetaProperty where
assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value'
instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QMetaProperty)) QMetaProperty where
decode = HoppyP.fmap QMetaProperty . HoppyF.peek
instance HoppyFHR.Decodable QMetaProperty (QMetaProperty) where
decode = HoppyFHR.decode . toQMetaPropertyConst
instance HoppyFHR.Decodable QMetaPropertyConst (QMetaProperty) where
decode =
HoppyFHR.copy >=> HoppyFHR.toGc