{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-} ---------- GENERATED FILE, EDITS WILL BE LOST ---------- module Graphics.UI.Qtah.Generated.Core.QStaticPlugin ( QStaticPluginValue (..), QStaticPluginConstPtr (..), QStaticPluginPtr (..), getInstance, rawMetaData, QStaticPluginConst (..), castQStaticPluginToConst, QStaticPlugin (..), castQStaticPluginToNonconst, QStaticPluginSuper (..), QStaticPluginSuperConst (..), ) where 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.QObject as M94 import Prelude (($), (.), (==)) import qualified Prelude as HoppyP foreign import ccall "genpop__QStaticPlugin_getInstance" getInstance' :: HoppyF.Ptr QStaticPlugin -> HoppyP.IO (HoppyF.Ptr M94.QObject) foreign import ccall "genpop__QStaticPlugin_rawMetaData" rawMetaData' :: HoppyF.Ptr QStaticPlugin -> HoppyP.IO (HoppyF.Ptr HoppyFC.CChar) foreign import ccall "gendel__QStaticPlugin" delete'QStaticPlugin :: HoppyF.Ptr QStaticPluginConst -> HoppyP.IO () foreign import ccall "&gendel__QStaticPlugin" deletePtr'QStaticPlugin :: HoppyF.FunPtr (HoppyF.Ptr QStaticPluginConst -> HoppyP.IO ()) class QStaticPluginValue a where withQStaticPluginPtr :: a -> (QStaticPluginConst -> HoppyP.IO b) -> HoppyP.IO b instance {-# OVERLAPPABLE #-} QStaticPluginConstPtr a => QStaticPluginValue a where withQStaticPluginPtr = HoppyP.flip ($) . toQStaticPluginConst class (HoppyFHR.CppPtr this) => QStaticPluginConstPtr this where toQStaticPluginConst :: this -> QStaticPluginConst class (QStaticPluginConstPtr this) => QStaticPluginPtr this where toQStaticPlugin :: this -> QStaticPlugin getInstance :: (QStaticPluginPtr this) => (this) {- ^ this -} -> (HoppyP.IO M94.QObject) getInstance arg'1 = HoppyFHR.withCppPtr (toQStaticPlugin arg'1) $ \arg'1' -> HoppyP.fmap M94.QObject (getInstance' arg'1') rawMetaData :: (QStaticPluginPtr this) => (this) {- ^ this -} -> (HoppyP.IO (HoppyF.Ptr HoppyFC.CChar)) rawMetaData arg'1 = HoppyFHR.withCppPtr (toQStaticPlugin arg'1) $ \arg'1' -> (rawMetaData' arg'1') data QStaticPluginConst = QStaticPluginConst (HoppyF.Ptr QStaticPluginConst) | QStaticPluginConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QStaticPluginConst) deriving (HoppyP.Show) instance HoppyP.Eq QStaticPluginConst where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QStaticPluginConst where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQStaticPluginToConst :: QStaticPlugin -> QStaticPluginConst castQStaticPluginToConst (QStaticPlugin ptr') = QStaticPluginConst $ HoppyF.castPtr ptr' castQStaticPluginToConst (QStaticPluginGc fptr' ptr') = QStaticPluginConstGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QStaticPluginConst where nullptr = QStaticPluginConst HoppyF.nullPtr withCppPtr (QStaticPluginConst ptr') f' = f' ptr' withCppPtr (QStaticPluginConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QStaticPluginConst ptr') = ptr' toPtr (QStaticPluginConstGc _ ptr') = ptr' touchCppPtr (QStaticPluginConst _) = HoppyP.return () touchCppPtr (QStaticPluginConstGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QStaticPluginConst where delete (QStaticPluginConst ptr') = delete'QStaticPlugin ptr' delete (QStaticPluginConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QStaticPluginConst", " object."] toGc this'@(QStaticPluginConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QStaticPluginConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QStaticPlugin :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QStaticPluginConstGc {}) = HoppyP.return this' instance QStaticPluginConstPtr QStaticPluginConst where toQStaticPluginConst = HoppyP.id data QStaticPlugin = QStaticPlugin (HoppyF.Ptr QStaticPlugin) | QStaticPluginGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QStaticPlugin) deriving (HoppyP.Show) instance HoppyP.Eq QStaticPlugin where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QStaticPlugin where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQStaticPluginToNonconst :: QStaticPluginConst -> QStaticPlugin castQStaticPluginToNonconst (QStaticPluginConst ptr') = QStaticPlugin $ HoppyF.castPtr ptr' castQStaticPluginToNonconst (QStaticPluginConstGc fptr' ptr') = QStaticPluginGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QStaticPlugin where nullptr = QStaticPlugin HoppyF.nullPtr withCppPtr (QStaticPlugin ptr') f' = f' ptr' withCppPtr (QStaticPluginGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QStaticPlugin ptr') = ptr' toPtr (QStaticPluginGc _ ptr') = ptr' touchCppPtr (QStaticPlugin _) = HoppyP.return () touchCppPtr (QStaticPluginGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QStaticPlugin where delete (QStaticPlugin ptr') = delete'QStaticPlugin $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QStaticPluginConst) delete (QStaticPluginGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QStaticPlugin", " object."] toGc this'@(QStaticPlugin ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QStaticPluginGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QStaticPlugin :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QStaticPluginGc {}) = HoppyP.return this' instance QStaticPluginConstPtr QStaticPlugin where toQStaticPluginConst (QStaticPlugin ptr') = QStaticPluginConst $ (HoppyF.castPtr :: HoppyF.Ptr QStaticPlugin -> HoppyF.Ptr QStaticPluginConst) ptr' toQStaticPluginConst (QStaticPluginGc fptr' ptr') = QStaticPluginConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QStaticPlugin -> HoppyF.Ptr QStaticPluginConst) ptr' instance QStaticPluginPtr QStaticPlugin where toQStaticPlugin = HoppyP.id class QStaticPluginSuper a where downToQStaticPlugin :: a -> QStaticPlugin class QStaticPluginSuperConst a where downToQStaticPluginConst :: a -> QStaticPluginConst instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QStaticPlugin)) QStaticPlugin where assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value' instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QStaticPlugin)) QStaticPlugin where decode = HoppyP.fmap QStaticPlugin . HoppyF.peek