{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-} ---------- GENERATED FILE, EDITS WILL BE LOST ---------- module Graphics.UI.Qtah.Generated.Core.QXmlStreamAttributes ( castQXmlStreamAttributesToQVectorQXmlStreamAttribute, QXmlStreamAttributesValue (..), QXmlStreamAttributesConstPtr (..), hasAttribute, hasAttributeWithLatin1String, hasAttributeWithNamespaceUriAndName, QXmlStreamAttributesPtr (..), appendWithNamespaceUriAndNameAndValue, appendWithQualifiedNameAndValue, QXmlStreamAttributesConst (..), castQXmlStreamAttributesToConst, QXmlStreamAttributes (..), castQXmlStreamAttributesToNonconst, new, QXmlStreamAttributesSuper (..), QXmlStreamAttributesSuperConst (..), ) 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.QLatin1String as M58 import qualified Graphics.UI.Qtah.Generated.Core.QString as M142 import qualified Graphics.UI.Qtah.Generated.Core.QVector.QXmlStreamAttribute as M228 import Prelude (($), (.), (/=), (=<<), (==)) import qualified Prelude as HoppyP foreign import ccall "genpop__QXmlStreamAttributes_new" new' :: HoppyP.IO (HoppyF.Ptr QXmlStreamAttributes) foreign import ccall "genpop__QXmlStreamAttributes_appendWithNamespaceUriAndNameAndValue" appendWithNamespaceUriAndNameAndValue' :: HoppyF.Ptr QXmlStreamAttributes -> HoppyF.Ptr M142.QStringConst -> HoppyF.Ptr M142.QStringConst -> HoppyF.Ptr M142.QStringConst -> HoppyP.IO () foreign import ccall "genpop__QXmlStreamAttributes_appendWithQualifiedNameAndValue" appendWithQualifiedNameAndValue' :: HoppyF.Ptr QXmlStreamAttributes -> HoppyF.Ptr M142.QStringConst -> HoppyF.Ptr M142.QStringConst -> HoppyP.IO () foreign import ccall "genpop__QXmlStreamAttributes_hasAttribute" hasAttribute' :: HoppyF.Ptr QXmlStreamAttributesConst -> HoppyF.Ptr M142.QStringConst -> HoppyP.IO HoppyFC.CBool foreign import ccall "genpop__QXmlStreamAttributes_hasAttributeWithLatin1String" hasAttributeWithLatin1String' :: HoppyF.Ptr QXmlStreamAttributesConst -> HoppyF.Ptr M58.QLatin1StringConst -> HoppyP.IO HoppyFC.CBool foreign import ccall "genpop__QXmlStreamAttributes_hasAttributeWithNamespaceUriAndName" hasAttributeWithNamespaceUriAndName' :: HoppyF.Ptr QXmlStreamAttributesConst -> HoppyF.Ptr M142.QStringConst -> HoppyF.Ptr M142.QStringConst -> HoppyP.IO HoppyFC.CBool foreign import ccall "gencast__QXmlStreamAttributes__QVectorQXmlStreamAttribute" castQXmlStreamAttributesToQVectorQXmlStreamAttribute :: HoppyF.Ptr QXmlStreamAttributesConst -> HoppyF.Ptr M228.QVectorQXmlStreamAttributeConst foreign import ccall "gendel__QXmlStreamAttributes" delete'QXmlStreamAttributes :: HoppyF.Ptr QXmlStreamAttributesConst -> HoppyP.IO () foreign import ccall "&gendel__QXmlStreamAttributes" deletePtr'QXmlStreamAttributes :: HoppyF.FunPtr (HoppyF.Ptr QXmlStreamAttributesConst -> HoppyP.IO ()) class QXmlStreamAttributesValue a where withQXmlStreamAttributesPtr :: a -> (QXmlStreamAttributesConst -> HoppyP.IO b) -> HoppyP.IO b instance {-# OVERLAPPABLE #-} QXmlStreamAttributesConstPtr a => QXmlStreamAttributesValue a where withQXmlStreamAttributesPtr = HoppyP.flip ($) . toQXmlStreamAttributesConst class (M228.QVectorQXmlStreamAttributeConstPtr this) => QXmlStreamAttributesConstPtr this where toQXmlStreamAttributesConst :: this -> QXmlStreamAttributesConst hasAttribute :: (QXmlStreamAttributesValue this, M142.QStringValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO HoppyP.Bool) hasAttribute arg'1 arg'2 = withQXmlStreamAttributesPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> M142.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' -> ( (HoppyP.return . (/= 0)) ) =<< (hasAttribute' arg'1' arg'2') hasAttributeWithLatin1String :: (QXmlStreamAttributesValue this, M58.QLatin1StringValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO HoppyP.Bool) hasAttributeWithLatin1String arg'1 arg'2 = withQXmlStreamAttributesPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> M58.withQLatin1StringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' -> ( (HoppyP.return . (/= 0)) ) =<< (hasAttributeWithLatin1String' arg'1' arg'2') hasAttributeWithNamespaceUriAndName :: (QXmlStreamAttributesValue this, M142.QStringValue arg'2, M142.QStringValue arg'3) => (this) {- ^ this -} -> (arg'2) -> (arg'3) -> (HoppyP.IO HoppyP.Bool) hasAttributeWithNamespaceUriAndName arg'1 arg'2 arg'3 = withQXmlStreamAttributesPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> M142.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' -> M142.withQStringPtr arg'3 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'3' -> ( (HoppyP.return . (/= 0)) ) =<< (hasAttributeWithNamespaceUriAndName' arg'1' arg'2' arg'3') class (QXmlStreamAttributesConstPtr this, M228.QVectorQXmlStreamAttributePtr this) => QXmlStreamAttributesPtr this where toQXmlStreamAttributes :: this -> QXmlStreamAttributes appendWithNamespaceUriAndNameAndValue :: (QXmlStreamAttributesPtr this, M142.QStringValue arg'2, M142.QStringValue arg'3, M142.QStringValue arg'4) => (this) {- ^ this -} -> (arg'2) -> (arg'3) -> (arg'4) -> (HoppyP.IO ()) appendWithNamespaceUriAndNameAndValue arg'1 arg'2 arg'3 arg'4 = HoppyFHR.withCppPtr (toQXmlStreamAttributes arg'1) $ \arg'1' -> M142.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' -> M142.withQStringPtr arg'3 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'3' -> M142.withQStringPtr arg'4 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'4' -> (appendWithNamespaceUriAndNameAndValue' arg'1' arg'2' arg'3' arg'4') appendWithQualifiedNameAndValue :: (QXmlStreamAttributesPtr this, M142.QStringValue arg'2, M142.QStringValue arg'3) => (this) {- ^ this -} -> (arg'2) -> (arg'3) -> (HoppyP.IO ()) appendWithQualifiedNameAndValue arg'1 arg'2 arg'3 = HoppyFHR.withCppPtr (toQXmlStreamAttributes arg'1) $ \arg'1' -> M142.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' -> M142.withQStringPtr arg'3 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'3' -> (appendWithQualifiedNameAndValue' arg'1' arg'2' arg'3') data QXmlStreamAttributesConst = QXmlStreamAttributesConst (HoppyF.Ptr QXmlStreamAttributesConst) | QXmlStreamAttributesConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QXmlStreamAttributesConst) deriving (HoppyP.Show) instance HoppyP.Eq QXmlStreamAttributesConst where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QXmlStreamAttributesConst where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQXmlStreamAttributesToConst :: QXmlStreamAttributes -> QXmlStreamAttributesConst castQXmlStreamAttributesToConst (QXmlStreamAttributes ptr') = QXmlStreamAttributesConst $ HoppyF.castPtr ptr' castQXmlStreamAttributesToConst (QXmlStreamAttributesGc fptr' ptr') = QXmlStreamAttributesConstGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QXmlStreamAttributesConst where nullptr = QXmlStreamAttributesConst HoppyF.nullPtr withCppPtr (QXmlStreamAttributesConst ptr') f' = f' ptr' withCppPtr (QXmlStreamAttributesConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QXmlStreamAttributesConst ptr') = ptr' toPtr (QXmlStreamAttributesConstGc _ ptr') = ptr' touchCppPtr (QXmlStreamAttributesConst _) = HoppyP.return () touchCppPtr (QXmlStreamAttributesConstGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QXmlStreamAttributesConst where delete (QXmlStreamAttributesConst ptr') = delete'QXmlStreamAttributes ptr' delete (QXmlStreamAttributesConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QXmlStreamAttributesConst", " object."] toGc this'@(QXmlStreamAttributesConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QXmlStreamAttributesConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QXmlStreamAttributes :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QXmlStreamAttributesConstGc {}) = HoppyP.return this' instance QXmlStreamAttributesConstPtr QXmlStreamAttributesConst where toQXmlStreamAttributesConst = HoppyP.id instance M228.QVectorQXmlStreamAttributeConstPtr QXmlStreamAttributesConst where toQVectorQXmlStreamAttributeConst (QXmlStreamAttributesConst ptr') = M228.QVectorQXmlStreamAttributeConst $ castQXmlStreamAttributesToQVectorQXmlStreamAttribute ptr' toQVectorQXmlStreamAttributeConst (QXmlStreamAttributesConstGc fptr' ptr') = M228.QVectorQXmlStreamAttributeConstGc fptr' $ castQXmlStreamAttributesToQVectorQXmlStreamAttribute ptr' data QXmlStreamAttributes = QXmlStreamAttributes (HoppyF.Ptr QXmlStreamAttributes) | QXmlStreamAttributesGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QXmlStreamAttributes) deriving (HoppyP.Show) instance HoppyP.Eq QXmlStreamAttributes where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QXmlStreamAttributes where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQXmlStreamAttributesToNonconst :: QXmlStreamAttributesConst -> QXmlStreamAttributes castQXmlStreamAttributesToNonconst (QXmlStreamAttributesConst ptr') = QXmlStreamAttributes $ HoppyF.castPtr ptr' castQXmlStreamAttributesToNonconst (QXmlStreamAttributesConstGc fptr' ptr') = QXmlStreamAttributesGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QXmlStreamAttributes where nullptr = QXmlStreamAttributes HoppyF.nullPtr withCppPtr (QXmlStreamAttributes ptr') f' = f' ptr' withCppPtr (QXmlStreamAttributesGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QXmlStreamAttributes ptr') = ptr' toPtr (QXmlStreamAttributesGc _ ptr') = ptr' touchCppPtr (QXmlStreamAttributes _) = HoppyP.return () touchCppPtr (QXmlStreamAttributesGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QXmlStreamAttributes where delete (QXmlStreamAttributes ptr') = delete'QXmlStreamAttributes $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QXmlStreamAttributesConst) delete (QXmlStreamAttributesGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QXmlStreamAttributes", " object."] toGc this'@(QXmlStreamAttributes ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QXmlStreamAttributesGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QXmlStreamAttributes :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QXmlStreamAttributesGc {}) = HoppyP.return this' instance QXmlStreamAttributesConstPtr QXmlStreamAttributes where toQXmlStreamAttributesConst (QXmlStreamAttributes ptr') = QXmlStreamAttributesConst $ (HoppyF.castPtr :: HoppyF.Ptr QXmlStreamAttributes -> HoppyF.Ptr QXmlStreamAttributesConst) ptr' toQXmlStreamAttributesConst (QXmlStreamAttributesGc fptr' ptr') = QXmlStreamAttributesConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QXmlStreamAttributes -> HoppyF.Ptr QXmlStreamAttributesConst) ptr' instance QXmlStreamAttributesPtr QXmlStreamAttributes where toQXmlStreamAttributes = HoppyP.id instance M228.QVectorQXmlStreamAttributeConstPtr QXmlStreamAttributes where toQVectorQXmlStreamAttributeConst (QXmlStreamAttributes ptr') = M228.QVectorQXmlStreamAttributeConst $ castQXmlStreamAttributesToQVectorQXmlStreamAttribute $ (HoppyF.castPtr :: HoppyF.Ptr QXmlStreamAttributes -> HoppyF.Ptr QXmlStreamAttributesConst) ptr' toQVectorQXmlStreamAttributeConst (QXmlStreamAttributesGc fptr' ptr') = M228.QVectorQXmlStreamAttributeConstGc fptr' $ castQXmlStreamAttributesToQVectorQXmlStreamAttribute $ (HoppyF.castPtr :: HoppyF.Ptr QXmlStreamAttributes -> HoppyF.Ptr QXmlStreamAttributesConst) ptr' instance M228.QVectorQXmlStreamAttributePtr QXmlStreamAttributes where toQVectorQXmlStreamAttribute (QXmlStreamAttributes ptr') = M228.QVectorQXmlStreamAttribute $ (HoppyF.castPtr :: HoppyF.Ptr M228.QVectorQXmlStreamAttributeConst -> HoppyF.Ptr M228.QVectorQXmlStreamAttribute) $ castQXmlStreamAttributesToQVectorQXmlStreamAttribute $ (HoppyF.castPtr :: HoppyF.Ptr QXmlStreamAttributes -> HoppyF.Ptr QXmlStreamAttributesConst) ptr' toQVectorQXmlStreamAttribute (QXmlStreamAttributesGc fptr' ptr') = M228.QVectorQXmlStreamAttributeGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M228.QVectorQXmlStreamAttributeConst -> HoppyF.Ptr M228.QVectorQXmlStreamAttribute) $ castQXmlStreamAttributesToQVectorQXmlStreamAttribute $ (HoppyF.castPtr :: HoppyF.Ptr QXmlStreamAttributes -> HoppyF.Ptr QXmlStreamAttributesConst) ptr' new :: (HoppyP.IO QXmlStreamAttributes) new = HoppyP.fmap QXmlStreamAttributes (new') class QXmlStreamAttributesSuper a where downToQXmlStreamAttributes :: a -> QXmlStreamAttributes class QXmlStreamAttributesSuperConst a where downToQXmlStreamAttributesConst :: a -> QXmlStreamAttributesConst instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QXmlStreamAttributes)) QXmlStreamAttributes where assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value' instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QXmlStreamAttributes)) QXmlStreamAttributes where decode = HoppyP.fmap QXmlStreamAttributes . HoppyF.peek