{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-} ---------- GENERATED FILE, EDITS WILL BE LOST ---------- module Graphics.UI.Qtah.Generated.Core.QXmlStreamAttribute ( QXmlStreamAttributeValue (..), QXmlStreamAttributeConstPtr (..), isDefault, eQ, nE, QXmlStreamAttributePtr (..), aSSIGN, QXmlStreamAttributeConst (..), castQXmlStreamAttributeToConst, QXmlStreamAttribute (..), castQXmlStreamAttributeToNonconst, new, newWithQualifiedNameAndValue, newWithNamespaceUriAndNameAndValue, newCopy, QXmlStreamAttributeSuper (..), QXmlStreamAttributeSuperConst (..), ) where import Control.Monad ((>=>)) 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.QString as M142 import Prelude (($), (.), (/=), (=<<), (==), (>>)) import qualified Prelude as HoppyP foreign import ccall "genpop__QXmlStreamAttribute_new" new' :: HoppyP.IO (HoppyF.Ptr QXmlStreamAttribute) foreign import ccall "genpop__QXmlStreamAttribute_newWithQualifiedNameAndValue" newWithQualifiedNameAndValue' :: HoppyF.Ptr M142.QStringConst -> HoppyF.Ptr M142.QStringConst -> HoppyP.IO (HoppyF.Ptr QXmlStreamAttribute) foreign import ccall "genpop__QXmlStreamAttribute_newWithNamespaceUriAndNameAndValue" newWithNamespaceUriAndNameAndValue' :: HoppyF.Ptr M142.QStringConst -> HoppyF.Ptr M142.QStringConst -> HoppyF.Ptr M142.QStringConst -> HoppyP.IO (HoppyF.Ptr QXmlStreamAttribute) foreign import ccall "genpop__QXmlStreamAttribute_newCopy" newCopy' :: HoppyF.Ptr QXmlStreamAttributeConst -> HoppyP.IO (HoppyF.Ptr QXmlStreamAttribute) foreign import ccall "genpop__QXmlStreamAttribute_isDefault" isDefault' :: HoppyF.Ptr QXmlStreamAttributeConst -> HoppyP.IO HoppyFC.CBool foreign import ccall "genpop__QXmlStreamAttribute_EQ" eQ' :: HoppyF.Ptr QXmlStreamAttributeConst -> HoppyF.Ptr QXmlStreamAttributeConst -> HoppyP.IO HoppyFC.CBool foreign import ccall "genpop__QXmlStreamAttribute_NE" nE' :: HoppyF.Ptr QXmlStreamAttributeConst -> HoppyF.Ptr QXmlStreamAttributeConst -> HoppyP.IO HoppyFC.CBool foreign import ccall "genpop__QXmlStreamAttribute_ASSIGN" aSSIGN' :: HoppyF.Ptr QXmlStreamAttribute -> HoppyF.Ptr QXmlStreamAttributeConst -> HoppyP.IO (HoppyF.Ptr QXmlStreamAttribute) foreign import ccall "gendel__QXmlStreamAttribute" delete'QXmlStreamAttribute :: HoppyF.Ptr QXmlStreamAttributeConst -> HoppyP.IO () foreign import ccall "&gendel__QXmlStreamAttribute" deletePtr'QXmlStreamAttribute :: HoppyF.FunPtr (HoppyF.Ptr QXmlStreamAttributeConst -> HoppyP.IO ()) class QXmlStreamAttributeValue a where withQXmlStreamAttributePtr :: a -> (QXmlStreamAttributeConst -> HoppyP.IO b) -> HoppyP.IO b instance {-# OVERLAPPABLE #-} QXmlStreamAttributeConstPtr a => QXmlStreamAttributeValue a where withQXmlStreamAttributePtr = HoppyP.flip ($) . toQXmlStreamAttributeConst class (HoppyFHR.CppPtr this) => QXmlStreamAttributeConstPtr this where toQXmlStreamAttributeConst :: this -> QXmlStreamAttributeConst isDefault :: (QXmlStreamAttributeValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Bool) isDefault arg'1 = withQXmlStreamAttributePtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> ( (HoppyP.return . (/= 0)) ) =<< (isDefault' arg'1') eQ :: (QXmlStreamAttributeValue this, QXmlStreamAttributeValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO HoppyP.Bool) eQ arg'1 arg'2 = withQXmlStreamAttributePtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> withQXmlStreamAttributePtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' -> ( (HoppyP.return . (/= 0)) ) =<< (eQ' arg'1' arg'2') nE :: (QXmlStreamAttributeValue this, QXmlStreamAttributeValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO HoppyP.Bool) nE arg'1 arg'2 = withQXmlStreamAttributePtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> withQXmlStreamAttributePtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' -> ( (HoppyP.return . (/= 0)) ) =<< (nE' arg'1' arg'2') class (QXmlStreamAttributeConstPtr this) => QXmlStreamAttributePtr this where toQXmlStreamAttribute :: this -> QXmlStreamAttribute aSSIGN :: (QXmlStreamAttributePtr this, QXmlStreamAttributeValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO QXmlStreamAttribute) aSSIGN arg'1 arg'2 = HoppyFHR.withCppPtr (toQXmlStreamAttribute arg'1) $ \arg'1' -> withQXmlStreamAttributePtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' -> HoppyP.fmap QXmlStreamAttribute (aSSIGN' arg'1' arg'2') data QXmlStreamAttributeConst = QXmlStreamAttributeConst (HoppyF.Ptr QXmlStreamAttributeConst) | QXmlStreamAttributeConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QXmlStreamAttributeConst) deriving (HoppyP.Show) instance HoppyP.Eq QXmlStreamAttributeConst where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QXmlStreamAttributeConst where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQXmlStreamAttributeToConst :: QXmlStreamAttribute -> QXmlStreamAttributeConst castQXmlStreamAttributeToConst (QXmlStreamAttribute ptr') = QXmlStreamAttributeConst $ HoppyF.castPtr ptr' castQXmlStreamAttributeToConst (QXmlStreamAttributeGc fptr' ptr') = QXmlStreamAttributeConstGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QXmlStreamAttributeConst where nullptr = QXmlStreamAttributeConst HoppyF.nullPtr withCppPtr (QXmlStreamAttributeConst ptr') f' = f' ptr' withCppPtr (QXmlStreamAttributeConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QXmlStreamAttributeConst ptr') = ptr' toPtr (QXmlStreamAttributeConstGc _ ptr') = ptr' touchCppPtr (QXmlStreamAttributeConst _) = HoppyP.return () touchCppPtr (QXmlStreamAttributeConstGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QXmlStreamAttributeConst where delete (QXmlStreamAttributeConst ptr') = delete'QXmlStreamAttribute ptr' delete (QXmlStreamAttributeConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QXmlStreamAttributeConst", " object."] toGc this'@(QXmlStreamAttributeConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QXmlStreamAttributeConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QXmlStreamAttribute :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QXmlStreamAttributeConstGc {}) = HoppyP.return this' instance HoppyFHR.Copyable QXmlStreamAttributeConst QXmlStreamAttribute where copy = newCopy instance QXmlStreamAttributeConstPtr QXmlStreamAttributeConst where toQXmlStreamAttributeConst = HoppyP.id data QXmlStreamAttribute = QXmlStreamAttribute (HoppyF.Ptr QXmlStreamAttribute) | QXmlStreamAttributeGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QXmlStreamAttribute) deriving (HoppyP.Show) instance HoppyP.Eq QXmlStreamAttribute where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QXmlStreamAttribute where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQXmlStreamAttributeToNonconst :: QXmlStreamAttributeConst -> QXmlStreamAttribute castQXmlStreamAttributeToNonconst (QXmlStreamAttributeConst ptr') = QXmlStreamAttribute $ HoppyF.castPtr ptr' castQXmlStreamAttributeToNonconst (QXmlStreamAttributeConstGc fptr' ptr') = QXmlStreamAttributeGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QXmlStreamAttribute where nullptr = QXmlStreamAttribute HoppyF.nullPtr withCppPtr (QXmlStreamAttribute ptr') f' = f' ptr' withCppPtr (QXmlStreamAttributeGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QXmlStreamAttribute ptr') = ptr' toPtr (QXmlStreamAttributeGc _ ptr') = ptr' touchCppPtr (QXmlStreamAttribute _) = HoppyP.return () touchCppPtr (QXmlStreamAttributeGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QXmlStreamAttribute where delete (QXmlStreamAttribute ptr') = delete'QXmlStreamAttribute $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QXmlStreamAttributeConst) delete (QXmlStreamAttributeGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QXmlStreamAttribute", " object."] toGc this'@(QXmlStreamAttribute ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QXmlStreamAttributeGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QXmlStreamAttribute :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QXmlStreamAttributeGc {}) = HoppyP.return this' instance HoppyFHR.Copyable QXmlStreamAttribute QXmlStreamAttribute where copy = newCopy instance QXmlStreamAttributeConstPtr QXmlStreamAttribute where toQXmlStreamAttributeConst (QXmlStreamAttribute ptr') = QXmlStreamAttributeConst $ (HoppyF.castPtr :: HoppyF.Ptr QXmlStreamAttribute -> HoppyF.Ptr QXmlStreamAttributeConst) ptr' toQXmlStreamAttributeConst (QXmlStreamAttributeGc fptr' ptr') = QXmlStreamAttributeConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QXmlStreamAttribute -> HoppyF.Ptr QXmlStreamAttributeConst) ptr' instance QXmlStreamAttributePtr QXmlStreamAttribute where toQXmlStreamAttribute = HoppyP.id new :: (HoppyP.IO QXmlStreamAttribute) new = HoppyP.fmap QXmlStreamAttribute (new') newWithQualifiedNameAndValue :: (M142.QStringValue arg'1, M142.QStringValue arg'2) => (arg'1) -> (arg'2) -> (HoppyP.IO QXmlStreamAttribute) newWithQualifiedNameAndValue arg'1 arg'2 = M142.withQStringPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> M142.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' -> HoppyP.fmap QXmlStreamAttribute (newWithQualifiedNameAndValue' arg'1' arg'2') newWithNamespaceUriAndNameAndValue :: (M142.QStringValue arg'1, M142.QStringValue arg'2, M142.QStringValue arg'3) => (arg'1) -> (arg'2) -> (arg'3) -> (HoppyP.IO QXmlStreamAttribute) newWithNamespaceUriAndNameAndValue arg'1 arg'2 arg'3 = M142.withQStringPtr 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.fmap QXmlStreamAttribute (newWithNamespaceUriAndNameAndValue' arg'1' arg'2' arg'3') newCopy :: (QXmlStreamAttributeValue arg'1) => (arg'1) -> (HoppyP.IO QXmlStreamAttribute) newCopy arg'1 = withQXmlStreamAttributePtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> HoppyP.fmap QXmlStreamAttribute (newCopy' arg'1') class QXmlStreamAttributeSuper a where downToQXmlStreamAttribute :: a -> QXmlStreamAttribute class QXmlStreamAttributeSuperConst a where downToQXmlStreamAttributeConst :: a -> QXmlStreamAttributeConst instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QXmlStreamAttribute)) QXmlStreamAttribute where assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value' instance QXmlStreamAttributeValue a => HoppyFHR.Assignable QXmlStreamAttribute a where assign x' y' = aSSIGN x' y' >> HoppyP.return () instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QXmlStreamAttribute)) QXmlStreamAttribute where decode = HoppyP.fmap QXmlStreamAttribute . HoppyF.peek instance HoppyFHR.Decodable QXmlStreamAttribute (QXmlStreamAttribute) where decode = HoppyFHR.decode . toQXmlStreamAttributeConst instance HoppyFHR.Decodable QXmlStreamAttributeConst (QXmlStreamAttribute) where decode = HoppyFHR.copy >=> HoppyFHR.toGc