{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-} ---------- GENERATED FILE, EDITS WILL BE LOST ---------- module Graphics.UI.Qtah.Generated.Core.QXmlStreamNotationDeclaration ( QXmlStreamNotationDeclarationValue (..), QXmlStreamNotationDeclarationConstPtr (..), eQ, nE, QXmlStreamNotationDeclarationPtr (..), aSSIGN, QXmlStreamNotationDeclarationConst (..), castQXmlStreamNotationDeclarationToConst, QXmlStreamNotationDeclaration (..), castQXmlStreamNotationDeclarationToNonconst, new, newCopy, QXmlStreamNotationDeclarationSuper (..), QXmlStreamNotationDeclarationSuperConst (..), ) where import Control.Monad ((>=>)) import qualified Foreign as HoppyF import qualified Foreign.C as HoppyFC import qualified Foreign.Hoppy.Runtime as HoppyFHR import Prelude (($), (.), (/=), (=<<), (==), (>>)) import qualified Prelude as HoppyP foreign import ccall "genpop__QXmlStreamNotationDeclaration_new" new' :: HoppyP.IO (HoppyF.Ptr QXmlStreamNotationDeclaration) foreign import ccall "genpop__QXmlStreamNotationDeclaration_newCopy" newCopy' :: HoppyF.Ptr QXmlStreamNotationDeclarationConst -> HoppyP.IO (HoppyF.Ptr QXmlStreamNotationDeclaration) foreign import ccall "genpop__QXmlStreamNotationDeclaration_EQ" eQ' :: HoppyF.Ptr QXmlStreamNotationDeclarationConst -> HoppyF.Ptr QXmlStreamNotationDeclarationConst -> HoppyP.IO HoppyFC.CBool foreign import ccall "genpop__QXmlStreamNotationDeclaration_NE" nE' :: HoppyF.Ptr QXmlStreamNotationDeclarationConst -> HoppyF.Ptr QXmlStreamNotationDeclarationConst -> HoppyP.IO HoppyFC.CBool foreign import ccall "genpop__QXmlStreamNotationDeclaration_ASSIGN" aSSIGN' :: HoppyF.Ptr QXmlStreamNotationDeclaration -> HoppyF.Ptr QXmlStreamNotationDeclarationConst -> HoppyP.IO (HoppyF.Ptr QXmlStreamNotationDeclaration) foreign import ccall "gendel__QXmlStreamNotationDeclaration" delete'QXmlStreamNotationDeclaration :: HoppyF.Ptr QXmlStreamNotationDeclarationConst -> HoppyP.IO () foreign import ccall "&gendel__QXmlStreamNotationDeclaration" deletePtr'QXmlStreamNotationDeclaration :: HoppyF.FunPtr (HoppyF.Ptr QXmlStreamNotationDeclarationConst -> HoppyP.IO ()) class QXmlStreamNotationDeclarationValue a where withQXmlStreamNotationDeclarationPtr :: a -> (QXmlStreamNotationDeclarationConst -> HoppyP.IO b) -> HoppyP.IO b instance {-# OVERLAPPABLE #-} QXmlStreamNotationDeclarationConstPtr a => QXmlStreamNotationDeclarationValue a where withQXmlStreamNotationDeclarationPtr = HoppyP.flip ($) . toQXmlStreamNotationDeclarationConst class (HoppyFHR.CppPtr this) => QXmlStreamNotationDeclarationConstPtr this where toQXmlStreamNotationDeclarationConst :: this -> QXmlStreamNotationDeclarationConst eQ :: (QXmlStreamNotationDeclarationValue this, QXmlStreamNotationDeclarationValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO HoppyP.Bool) eQ arg'1 arg'2 = withQXmlStreamNotationDeclarationPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> withQXmlStreamNotationDeclarationPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' -> ( (HoppyP.return . (/= 0)) ) =<< (eQ' arg'1' arg'2') nE :: (QXmlStreamNotationDeclarationValue this, QXmlStreamNotationDeclarationValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO HoppyP.Bool) nE arg'1 arg'2 = withQXmlStreamNotationDeclarationPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> withQXmlStreamNotationDeclarationPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' -> ( (HoppyP.return . (/= 0)) ) =<< (nE' arg'1' arg'2') class (QXmlStreamNotationDeclarationConstPtr this) => QXmlStreamNotationDeclarationPtr this where toQXmlStreamNotationDeclaration :: this -> QXmlStreamNotationDeclaration aSSIGN :: (QXmlStreamNotationDeclarationPtr this, QXmlStreamNotationDeclarationValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO QXmlStreamNotationDeclaration) aSSIGN arg'1 arg'2 = HoppyFHR.withCppPtr (toQXmlStreamNotationDeclaration arg'1) $ \arg'1' -> withQXmlStreamNotationDeclarationPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' -> HoppyP.fmap QXmlStreamNotationDeclaration (aSSIGN' arg'1' arg'2') data QXmlStreamNotationDeclarationConst = QXmlStreamNotationDeclarationConst (HoppyF.Ptr QXmlStreamNotationDeclarationConst) | QXmlStreamNotationDeclarationConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QXmlStreamNotationDeclarationConst) deriving (HoppyP.Show) instance HoppyP.Eq QXmlStreamNotationDeclarationConst where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QXmlStreamNotationDeclarationConst where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQXmlStreamNotationDeclarationToConst :: QXmlStreamNotationDeclaration -> QXmlStreamNotationDeclarationConst castQXmlStreamNotationDeclarationToConst (QXmlStreamNotationDeclaration ptr') = QXmlStreamNotationDeclarationConst $ HoppyF.castPtr ptr' castQXmlStreamNotationDeclarationToConst (QXmlStreamNotationDeclarationGc fptr' ptr') = QXmlStreamNotationDeclarationConstGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QXmlStreamNotationDeclarationConst where nullptr = QXmlStreamNotationDeclarationConst HoppyF.nullPtr withCppPtr (QXmlStreamNotationDeclarationConst ptr') f' = f' ptr' withCppPtr (QXmlStreamNotationDeclarationConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QXmlStreamNotationDeclarationConst ptr') = ptr' toPtr (QXmlStreamNotationDeclarationConstGc _ ptr') = ptr' touchCppPtr (QXmlStreamNotationDeclarationConst _) = HoppyP.return () touchCppPtr (QXmlStreamNotationDeclarationConstGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QXmlStreamNotationDeclarationConst where delete (QXmlStreamNotationDeclarationConst ptr') = delete'QXmlStreamNotationDeclaration ptr' delete (QXmlStreamNotationDeclarationConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QXmlStreamNotationDeclarationConst", " object."] toGc this'@(QXmlStreamNotationDeclarationConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QXmlStreamNotationDeclarationConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QXmlStreamNotationDeclaration :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QXmlStreamNotationDeclarationConstGc {}) = HoppyP.return this' instance HoppyFHR.Copyable QXmlStreamNotationDeclarationConst QXmlStreamNotationDeclaration where copy = newCopy instance QXmlStreamNotationDeclarationConstPtr QXmlStreamNotationDeclarationConst where toQXmlStreamNotationDeclarationConst = HoppyP.id data QXmlStreamNotationDeclaration = QXmlStreamNotationDeclaration (HoppyF.Ptr QXmlStreamNotationDeclaration) | QXmlStreamNotationDeclarationGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QXmlStreamNotationDeclaration) deriving (HoppyP.Show) instance HoppyP.Eq QXmlStreamNotationDeclaration where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QXmlStreamNotationDeclaration where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQXmlStreamNotationDeclarationToNonconst :: QXmlStreamNotationDeclarationConst -> QXmlStreamNotationDeclaration castQXmlStreamNotationDeclarationToNonconst (QXmlStreamNotationDeclarationConst ptr') = QXmlStreamNotationDeclaration $ HoppyF.castPtr ptr' castQXmlStreamNotationDeclarationToNonconst (QXmlStreamNotationDeclarationConstGc fptr' ptr') = QXmlStreamNotationDeclarationGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QXmlStreamNotationDeclaration where nullptr = QXmlStreamNotationDeclaration HoppyF.nullPtr withCppPtr (QXmlStreamNotationDeclaration ptr') f' = f' ptr' withCppPtr (QXmlStreamNotationDeclarationGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QXmlStreamNotationDeclaration ptr') = ptr' toPtr (QXmlStreamNotationDeclarationGc _ ptr') = ptr' touchCppPtr (QXmlStreamNotationDeclaration _) = HoppyP.return () touchCppPtr (QXmlStreamNotationDeclarationGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QXmlStreamNotationDeclaration where delete (QXmlStreamNotationDeclaration ptr') = delete'QXmlStreamNotationDeclaration $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QXmlStreamNotationDeclarationConst) delete (QXmlStreamNotationDeclarationGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QXmlStreamNotationDeclaration", " object."] toGc this'@(QXmlStreamNotationDeclaration ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QXmlStreamNotationDeclarationGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QXmlStreamNotationDeclaration :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QXmlStreamNotationDeclarationGc {}) = HoppyP.return this' instance HoppyFHR.Copyable QXmlStreamNotationDeclaration QXmlStreamNotationDeclaration where copy = newCopy instance QXmlStreamNotationDeclarationConstPtr QXmlStreamNotationDeclaration where toQXmlStreamNotationDeclarationConst (QXmlStreamNotationDeclaration ptr') = QXmlStreamNotationDeclarationConst $ (HoppyF.castPtr :: HoppyF.Ptr QXmlStreamNotationDeclaration -> HoppyF.Ptr QXmlStreamNotationDeclarationConst) ptr' toQXmlStreamNotationDeclarationConst (QXmlStreamNotationDeclarationGc fptr' ptr') = QXmlStreamNotationDeclarationConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QXmlStreamNotationDeclaration -> HoppyF.Ptr QXmlStreamNotationDeclarationConst) ptr' instance QXmlStreamNotationDeclarationPtr QXmlStreamNotationDeclaration where toQXmlStreamNotationDeclaration = HoppyP.id new :: (HoppyP.IO QXmlStreamNotationDeclaration) new = HoppyP.fmap QXmlStreamNotationDeclaration (new') newCopy :: (QXmlStreamNotationDeclarationValue arg'1) => (arg'1) -> (HoppyP.IO QXmlStreamNotationDeclaration) newCopy arg'1 = withQXmlStreamNotationDeclarationPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> HoppyP.fmap QXmlStreamNotationDeclaration (newCopy' arg'1') class QXmlStreamNotationDeclarationSuper a where downToQXmlStreamNotationDeclaration :: a -> QXmlStreamNotationDeclaration class QXmlStreamNotationDeclarationSuperConst a where downToQXmlStreamNotationDeclarationConst :: a -> QXmlStreamNotationDeclarationConst instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QXmlStreamNotationDeclaration)) QXmlStreamNotationDeclaration where assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value' instance QXmlStreamNotationDeclarationValue a => HoppyFHR.Assignable QXmlStreamNotationDeclaration a where assign x' y' = aSSIGN x' y' >> HoppyP.return () instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QXmlStreamNotationDeclaration)) QXmlStreamNotationDeclaration where decode = HoppyP.fmap QXmlStreamNotationDeclaration . HoppyF.peek instance HoppyFHR.Decodable QXmlStreamNotationDeclaration (QXmlStreamNotationDeclaration) where decode = HoppyFHR.decode . toQXmlStreamNotationDeclarationConst instance HoppyFHR.Decodable QXmlStreamNotationDeclarationConst (QXmlStreamNotationDeclaration) where decode = HoppyFHR.copy >=> HoppyFHR.toGc