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