{-# 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