{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-} ---------- GENERATED FILE, EDITS WILL BE LOST ---------- module Graphics.UI.Qtah.Generated.Gui.QFontDatabase ( QFontDatabaseValue (..), QFontDatabaseConstPtr (..), QFontDatabasePtr (..), addApplicationFont, QFontDatabaseConst (..), castQFontDatabaseToConst, QFontDatabase (..), castQFontDatabaseToNonconst, QFontDatabaseSuper (..), QFontDatabaseSuperConst (..), ) 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.QString as M142 import Prelude (($), (.), (=<<), (==)) import qualified Prelude as HoppyP foreign import ccall "genpop__QFontDatabase_addApplicationFont" addApplicationFont' :: HoppyF.Ptr M142.QStringConst -> HoppyP.IO HoppyFC.CInt foreign import ccall "gendel__QFontDatabase" delete'QFontDatabase :: HoppyF.Ptr QFontDatabaseConst -> HoppyP.IO () foreign import ccall "&gendel__QFontDatabase" deletePtr'QFontDatabase :: HoppyF.FunPtr (HoppyF.Ptr QFontDatabaseConst -> HoppyP.IO ()) class QFontDatabaseValue a where withQFontDatabasePtr :: a -> (QFontDatabaseConst -> HoppyP.IO b) -> HoppyP.IO b instance {-# OVERLAPPABLE #-} QFontDatabaseConstPtr a => QFontDatabaseValue a where withQFontDatabasePtr = HoppyP.flip ($) . toQFontDatabaseConst class (HoppyFHR.CppPtr this) => QFontDatabaseConstPtr this where toQFontDatabaseConst :: this -> QFontDatabaseConst class (QFontDatabaseConstPtr this) => QFontDatabasePtr this where toQFontDatabase :: this -> QFontDatabase addApplicationFont :: (M142.QStringValue arg'1) => (arg'1) -> (HoppyP.IO HoppyP.Int) addApplicationFont arg'1 = M142.withQStringPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> ( HoppyP.return . HoppyFHR.coerceIntegral ) =<< (addApplicationFont' arg'1') data QFontDatabaseConst = QFontDatabaseConst (HoppyF.Ptr QFontDatabaseConst) | QFontDatabaseConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QFontDatabaseConst) deriving (HoppyP.Show) instance HoppyP.Eq QFontDatabaseConst where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QFontDatabaseConst where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQFontDatabaseToConst :: QFontDatabase -> QFontDatabaseConst castQFontDatabaseToConst (QFontDatabase ptr') = QFontDatabaseConst $ HoppyF.castPtr ptr' castQFontDatabaseToConst (QFontDatabaseGc fptr' ptr') = QFontDatabaseConstGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QFontDatabaseConst where nullptr = QFontDatabaseConst HoppyF.nullPtr withCppPtr (QFontDatabaseConst ptr') f' = f' ptr' withCppPtr (QFontDatabaseConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QFontDatabaseConst ptr') = ptr' toPtr (QFontDatabaseConstGc _ ptr') = ptr' touchCppPtr (QFontDatabaseConst _) = HoppyP.return () touchCppPtr (QFontDatabaseConstGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QFontDatabaseConst where delete (QFontDatabaseConst ptr') = delete'QFontDatabase ptr' delete (QFontDatabaseConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QFontDatabaseConst", " object."] toGc this'@(QFontDatabaseConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QFontDatabaseConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QFontDatabase :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QFontDatabaseConstGc {}) = HoppyP.return this' instance QFontDatabaseConstPtr QFontDatabaseConst where toQFontDatabaseConst = HoppyP.id data QFontDatabase = QFontDatabase (HoppyF.Ptr QFontDatabase) | QFontDatabaseGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QFontDatabase) deriving (HoppyP.Show) instance HoppyP.Eq QFontDatabase where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QFontDatabase where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQFontDatabaseToNonconst :: QFontDatabaseConst -> QFontDatabase castQFontDatabaseToNonconst (QFontDatabaseConst ptr') = QFontDatabase $ HoppyF.castPtr ptr' castQFontDatabaseToNonconst (QFontDatabaseConstGc fptr' ptr') = QFontDatabaseGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QFontDatabase where nullptr = QFontDatabase HoppyF.nullPtr withCppPtr (QFontDatabase ptr') f' = f' ptr' withCppPtr (QFontDatabaseGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QFontDatabase ptr') = ptr' toPtr (QFontDatabaseGc _ ptr') = ptr' touchCppPtr (QFontDatabase _) = HoppyP.return () touchCppPtr (QFontDatabaseGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QFontDatabase where delete (QFontDatabase ptr') = delete'QFontDatabase $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QFontDatabaseConst) delete (QFontDatabaseGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QFontDatabase", " object."] toGc this'@(QFontDatabase ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QFontDatabaseGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QFontDatabase :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QFontDatabaseGc {}) = HoppyP.return this' instance QFontDatabaseConstPtr QFontDatabase where toQFontDatabaseConst (QFontDatabase ptr') = QFontDatabaseConst $ (HoppyF.castPtr :: HoppyF.Ptr QFontDatabase -> HoppyF.Ptr QFontDatabaseConst) ptr' toQFontDatabaseConst (QFontDatabaseGc fptr' ptr') = QFontDatabaseConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QFontDatabase -> HoppyF.Ptr QFontDatabaseConst) ptr' instance QFontDatabasePtr QFontDatabase where toQFontDatabase = HoppyP.id class QFontDatabaseSuper a where downToQFontDatabase :: a -> QFontDatabase class QFontDatabaseSuperConst a where downToQFontDatabaseConst :: a -> QFontDatabaseConst instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QFontDatabase)) QFontDatabase where assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value' instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QFontDatabase)) QFontDatabase where decode = HoppyP.fmap QFontDatabase . HoppyF.peek