{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-} ---------- GENERATED FILE, EDITS WILL BE LOST ---------- module Graphics.UI.Qtah.Generated.Core.QXmlStreamEntityResolver ( QXmlStreamEntityResolverValue (..), QXmlStreamEntityResolverConstPtr (..), QXmlStreamEntityResolverPtr (..), resolveUndeclaredEntity, QXmlStreamEntityResolverConst (..), castQXmlStreamEntityResolverToConst, QXmlStreamEntityResolver (..), castQXmlStreamEntityResolverToNonconst, QXmlStreamEntityResolverSuper (..), QXmlStreamEntityResolverSuperConst (..), ) where import qualified Foreign as HoppyF import qualified Foreign.Hoppy.Runtime as HoppyFHR import qualified Graphics.UI.Qtah.Generated.Core.QString as M142 import Prelude (($), (.), (=<<), (==)) import qualified Prelude as HoppyP import qualified Prelude as QtahP foreign import ccall "genpop__QXmlStreamEntityResolver_resolveUndeclaredEntity" resolveUndeclaredEntity' :: HoppyF.Ptr QXmlStreamEntityResolver -> HoppyF.Ptr M142.QStringConst -> HoppyP.IO (HoppyF.Ptr M142.QStringConst) foreign import ccall "gendel__QXmlStreamEntityResolver" delete'QXmlStreamEntityResolver :: HoppyF.Ptr QXmlStreamEntityResolverConst -> HoppyP.IO () foreign import ccall "&gendel__QXmlStreamEntityResolver" deletePtr'QXmlStreamEntityResolver :: HoppyF.FunPtr (HoppyF.Ptr QXmlStreamEntityResolverConst -> HoppyP.IO ()) class QXmlStreamEntityResolverValue a where withQXmlStreamEntityResolverPtr :: a -> (QXmlStreamEntityResolverConst -> HoppyP.IO b) -> HoppyP.IO b instance {-# OVERLAPPABLE #-} QXmlStreamEntityResolverConstPtr a => QXmlStreamEntityResolverValue a where withQXmlStreamEntityResolverPtr = HoppyP.flip ($) . toQXmlStreamEntityResolverConst class (HoppyFHR.CppPtr this) => QXmlStreamEntityResolverConstPtr this where toQXmlStreamEntityResolverConst :: this -> QXmlStreamEntityResolverConst class (QXmlStreamEntityResolverConstPtr this) => QXmlStreamEntityResolverPtr this where toQXmlStreamEntityResolver :: this -> QXmlStreamEntityResolver resolveUndeclaredEntity :: (QXmlStreamEntityResolverPtr this, M142.QStringValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO QtahP.String) resolveUndeclaredEntity arg'1 arg'2 = HoppyFHR.withCppPtr (toQXmlStreamEntityResolver arg'1) $ \arg'1' -> M142.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' -> (HoppyFHR.decodeAndDelete . M142.QStringConst) =<< (resolveUndeclaredEntity' arg'1' arg'2') data QXmlStreamEntityResolverConst = QXmlStreamEntityResolverConst (HoppyF.Ptr QXmlStreamEntityResolverConst) | QXmlStreamEntityResolverConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QXmlStreamEntityResolverConst) deriving (HoppyP.Show) instance HoppyP.Eq QXmlStreamEntityResolverConst where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QXmlStreamEntityResolverConst where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQXmlStreamEntityResolverToConst :: QXmlStreamEntityResolver -> QXmlStreamEntityResolverConst castQXmlStreamEntityResolverToConst (QXmlStreamEntityResolver ptr') = QXmlStreamEntityResolverConst $ HoppyF.castPtr ptr' castQXmlStreamEntityResolverToConst (QXmlStreamEntityResolverGc fptr' ptr') = QXmlStreamEntityResolverConstGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QXmlStreamEntityResolverConst where nullptr = QXmlStreamEntityResolverConst HoppyF.nullPtr withCppPtr (QXmlStreamEntityResolverConst ptr') f' = f' ptr' withCppPtr (QXmlStreamEntityResolverConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QXmlStreamEntityResolverConst ptr') = ptr' toPtr (QXmlStreamEntityResolverConstGc _ ptr') = ptr' touchCppPtr (QXmlStreamEntityResolverConst _) = HoppyP.return () touchCppPtr (QXmlStreamEntityResolverConstGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QXmlStreamEntityResolverConst where delete (QXmlStreamEntityResolverConst ptr') = delete'QXmlStreamEntityResolver ptr' delete (QXmlStreamEntityResolverConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QXmlStreamEntityResolverConst", " object."] toGc this'@(QXmlStreamEntityResolverConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QXmlStreamEntityResolverConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QXmlStreamEntityResolver :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QXmlStreamEntityResolverConstGc {}) = HoppyP.return this' instance QXmlStreamEntityResolverConstPtr QXmlStreamEntityResolverConst where toQXmlStreamEntityResolverConst = HoppyP.id data QXmlStreamEntityResolver = QXmlStreamEntityResolver (HoppyF.Ptr QXmlStreamEntityResolver) | QXmlStreamEntityResolverGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QXmlStreamEntityResolver) deriving (HoppyP.Show) instance HoppyP.Eq QXmlStreamEntityResolver where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QXmlStreamEntityResolver where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQXmlStreamEntityResolverToNonconst :: QXmlStreamEntityResolverConst -> QXmlStreamEntityResolver castQXmlStreamEntityResolverToNonconst (QXmlStreamEntityResolverConst ptr') = QXmlStreamEntityResolver $ HoppyF.castPtr ptr' castQXmlStreamEntityResolverToNonconst (QXmlStreamEntityResolverConstGc fptr' ptr') = QXmlStreamEntityResolverGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QXmlStreamEntityResolver where nullptr = QXmlStreamEntityResolver HoppyF.nullPtr withCppPtr (QXmlStreamEntityResolver ptr') f' = f' ptr' withCppPtr (QXmlStreamEntityResolverGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QXmlStreamEntityResolver ptr') = ptr' toPtr (QXmlStreamEntityResolverGc _ ptr') = ptr' touchCppPtr (QXmlStreamEntityResolver _) = HoppyP.return () touchCppPtr (QXmlStreamEntityResolverGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QXmlStreamEntityResolver where delete (QXmlStreamEntityResolver ptr') = delete'QXmlStreamEntityResolver $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QXmlStreamEntityResolverConst) delete (QXmlStreamEntityResolverGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QXmlStreamEntityResolver", " object."] toGc this'@(QXmlStreamEntityResolver ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QXmlStreamEntityResolverGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QXmlStreamEntityResolver :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QXmlStreamEntityResolverGc {}) = HoppyP.return this' instance QXmlStreamEntityResolverConstPtr QXmlStreamEntityResolver where toQXmlStreamEntityResolverConst (QXmlStreamEntityResolver ptr') = QXmlStreamEntityResolverConst $ (HoppyF.castPtr :: HoppyF.Ptr QXmlStreamEntityResolver -> HoppyF.Ptr QXmlStreamEntityResolverConst) ptr' toQXmlStreamEntityResolverConst (QXmlStreamEntityResolverGc fptr' ptr') = QXmlStreamEntityResolverConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QXmlStreamEntityResolver -> HoppyF.Ptr QXmlStreamEntityResolverConst) ptr' instance QXmlStreamEntityResolverPtr QXmlStreamEntityResolver where toQXmlStreamEntityResolver = HoppyP.id class QXmlStreamEntityResolverSuper a where downToQXmlStreamEntityResolver :: a -> QXmlStreamEntityResolver class QXmlStreamEntityResolverSuperConst a where downToQXmlStreamEntityResolverConst :: a -> QXmlStreamEntityResolverConst instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QXmlStreamEntityResolver)) QXmlStreamEntityResolver where assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value' instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QXmlStreamEntityResolver)) QXmlStreamEntityResolver where decode = HoppyP.fmap QXmlStreamEntityResolver . HoppyF.peek