qtah-qt5-0.8.0: src/Graphics/UI/Qtah/Generated/Core/QSaveFile.hs
{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-}
---------- GENERATED FILE, EDITS WILL BE LOST ----------
module Graphics.UI.Qtah.Generated.Core.QSaveFile (
castQSaveFileToQFileDevice,
castQFileDeviceToQSaveFile,
castQSaveFileToQIODevice,
castQIODeviceToQSaveFile,
castQSaveFileToQObject,
castQObjectToQSaveFile,
QSaveFileValue (..),
QSaveFileConstPtr (..),
directWriteFallback,
QSaveFilePtr (..),
cancelWriting,
commit,
setDirectWriteFallback,
setFileName,
QSaveFileConst (..),
castQSaveFileToConst,
QSaveFile (..),
castQSaveFileToNonconst,
newWithNameAndParent,
new,
newWithParent,
newWithName,
QSaveFileSuper (..),
QSaveFileSuperConst (..),
) 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.QFileDevice as M38
import qualified Graphics.UI.Qtah.Generated.Core.QIODevice as M48
import qualified Graphics.UI.Qtah.Generated.Core.QObject as M94
import qualified Graphics.UI.Qtah.Generated.Core.QString as M142
import Prelude (($), (.), (/=), (=<<), (==), (>>=))
import qualified Prelude as HoppyP
foreign import ccall "genpop__QSaveFile_newWithNameAndParent" newWithNameAndParent' :: HoppyF.Ptr M142.QStringConst -> HoppyF.Ptr M94.QObject -> HoppyP.IO (HoppyF.Ptr QSaveFile)
foreign import ccall "genpop__QSaveFile_new" new' :: HoppyP.IO (HoppyF.Ptr QSaveFile)
foreign import ccall "genpop__QSaveFile_newWithParent" newWithParent' :: HoppyF.Ptr M94.QObject -> HoppyP.IO (HoppyF.Ptr QSaveFile)
foreign import ccall "genpop__QSaveFile_newWithName" newWithName' :: HoppyF.Ptr M142.QStringConst -> HoppyP.IO (HoppyF.Ptr QSaveFile)
foreign import ccall "genpop__QSaveFile_cancelWriting" cancelWriting' :: HoppyF.Ptr QSaveFile -> HoppyP.IO ()
foreign import ccall "genpop__QSaveFile_commit" commit' :: HoppyF.Ptr QSaveFile -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QSaveFile_directWriteFallback" directWriteFallback' :: HoppyF.Ptr QSaveFileConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QSaveFile_setDirectWriteFallback" setDirectWriteFallback' :: HoppyF.Ptr QSaveFile -> HoppyFC.CBool -> HoppyP.IO ()
foreign import ccall "genpop__QSaveFile_setFileName" setFileName' :: HoppyF.Ptr QSaveFile -> HoppyF.Ptr M142.QStringConst -> HoppyP.IO ()
foreign import ccall "gencast__QSaveFile__QFileDevice" castQSaveFileToQFileDevice :: HoppyF.Ptr QSaveFileConst -> HoppyF.Ptr M38.QFileDeviceConst
foreign import ccall "gencast__QFileDevice__QSaveFile" castQFileDeviceToQSaveFile :: HoppyF.Ptr M38.QFileDeviceConst -> HoppyF.Ptr QSaveFileConst
foreign import ccall "gencast__QSaveFile__QIODevice" castQSaveFileToQIODevice :: HoppyF.Ptr QSaveFileConst -> HoppyF.Ptr M48.QIODeviceConst
foreign import ccall "gencast__QIODevice__QSaveFile" castQIODeviceToQSaveFile :: HoppyF.Ptr M48.QIODeviceConst -> HoppyF.Ptr QSaveFileConst
foreign import ccall "gencast__QSaveFile__QObject" castQSaveFileToQObject :: HoppyF.Ptr QSaveFileConst -> HoppyF.Ptr M94.QObjectConst
foreign import ccall "gencast__QObject__QSaveFile" castQObjectToQSaveFile :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr QSaveFileConst
foreign import ccall "gendel__QSaveFile" delete'QSaveFile :: HoppyF.Ptr QSaveFileConst -> HoppyP.IO ()
foreign import ccall "&gendel__QSaveFile" deletePtr'QSaveFile :: HoppyF.FunPtr (HoppyF.Ptr QSaveFileConst -> HoppyP.IO ())
class QSaveFileValue a where
withQSaveFilePtr :: a -> (QSaveFileConst -> HoppyP.IO b) -> HoppyP.IO b
instance {-# OVERLAPPABLE #-} QSaveFileConstPtr a => QSaveFileValue a where
withQSaveFilePtr = HoppyP.flip ($) . toQSaveFileConst
class (M38.QFileDeviceConstPtr this) => QSaveFileConstPtr this where
toQSaveFileConst :: this -> QSaveFileConst
directWriteFallback :: (QSaveFileValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Bool)
directWriteFallback arg'1 =
withQSaveFilePtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
(HoppyP.return . (/= 0))
) =<<
(directWriteFallback' arg'1')
class (QSaveFileConstPtr this, M38.QFileDevicePtr this) => QSaveFilePtr this where
toQSaveFile :: this -> QSaveFile
cancelWriting :: (QSaveFilePtr this) => (this) {- ^ this -} -> (HoppyP.IO ())
cancelWriting arg'1 =
HoppyFHR.withCppPtr (toQSaveFile arg'1) $ \arg'1' ->
(cancelWriting' arg'1')
commit :: (QSaveFilePtr this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Bool)
commit arg'1 =
HoppyFHR.withCppPtr (toQSaveFile arg'1) $ \arg'1' ->
(
(HoppyP.return . (/= 0))
) =<<
(commit' arg'1')
setDirectWriteFallback :: (QSaveFilePtr this) => (this) {- ^ this -} -> (HoppyP.Bool) -> (HoppyP.IO ())
setDirectWriteFallback arg'1 arg'2 =
HoppyFHR.withCppPtr (toQSaveFile arg'1) $ \arg'1' ->
(
\x -> HoppyP.return $ if x then 1 else 0
) arg'2 >>= \arg'2' ->
(setDirectWriteFallback' arg'1' arg'2')
setFileName :: (QSaveFilePtr this, M142.QStringValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO ())
setFileName arg'1 arg'2 =
HoppyFHR.withCppPtr (toQSaveFile arg'1) $ \arg'1' ->
M142.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
(setFileName' arg'1' arg'2')
data QSaveFileConst =
QSaveFileConst (HoppyF.Ptr QSaveFileConst)
| QSaveFileConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QSaveFileConst)
deriving (HoppyP.Show)
instance HoppyP.Eq QSaveFileConst where
x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y
instance HoppyP.Ord QSaveFileConst where
compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)
castQSaveFileToConst :: QSaveFile -> QSaveFileConst
castQSaveFileToConst (QSaveFile ptr') = QSaveFileConst $ HoppyF.castPtr ptr'
castQSaveFileToConst (QSaveFileGc fptr' ptr') = QSaveFileConstGc fptr' $ HoppyF.castPtr ptr'
instance HoppyFHR.CppPtr QSaveFileConst where
nullptr = QSaveFileConst HoppyF.nullPtr
withCppPtr (QSaveFileConst ptr') f' = f' ptr'
withCppPtr (QSaveFileConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
toPtr (QSaveFileConst ptr') = ptr'
toPtr (QSaveFileConstGc _ ptr') = ptr'
touchCppPtr (QSaveFileConst _) = HoppyP.return ()
touchCppPtr (QSaveFileConstGc fptr' _) = HoppyF.touchForeignPtr fptr'
instance HoppyFHR.Deletable QSaveFileConst where
delete (QSaveFileConst ptr') = delete'QSaveFile ptr'
delete (QSaveFileConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QSaveFileConst", " object."]
toGc this'@(QSaveFileConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QSaveFileConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QSaveFile :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
toGc this'@(QSaveFileConstGc {}) = HoppyP.return this'
instance QSaveFileConstPtr QSaveFileConst where
toQSaveFileConst = HoppyP.id
instance M38.QFileDeviceConstPtr QSaveFileConst where
toQFileDeviceConst (QSaveFileConst ptr') = M38.QFileDeviceConst $ castQSaveFileToQFileDevice ptr'
toQFileDeviceConst (QSaveFileConstGc fptr' ptr') = M38.QFileDeviceConstGc fptr' $ castQSaveFileToQFileDevice ptr'
instance M48.QIODeviceConstPtr QSaveFileConst where
toQIODeviceConst (QSaveFileConst ptr') = M48.QIODeviceConst $ castQSaveFileToQIODevice ptr'
toQIODeviceConst (QSaveFileConstGc fptr' ptr') = M48.QIODeviceConstGc fptr' $ castQSaveFileToQIODevice ptr'
instance M94.QObjectConstPtr QSaveFileConst where
toQObjectConst (QSaveFileConst ptr') = M94.QObjectConst $ castQSaveFileToQObject ptr'
toQObjectConst (QSaveFileConstGc fptr' ptr') = M94.QObjectConstGc fptr' $ castQSaveFileToQObject ptr'
data QSaveFile =
QSaveFile (HoppyF.Ptr QSaveFile)
| QSaveFileGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QSaveFile)
deriving (HoppyP.Show)
instance HoppyP.Eq QSaveFile where
x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y
instance HoppyP.Ord QSaveFile where
compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)
castQSaveFileToNonconst :: QSaveFileConst -> QSaveFile
castQSaveFileToNonconst (QSaveFileConst ptr') = QSaveFile $ HoppyF.castPtr ptr'
castQSaveFileToNonconst (QSaveFileConstGc fptr' ptr') = QSaveFileGc fptr' $ HoppyF.castPtr ptr'
instance HoppyFHR.CppPtr QSaveFile where
nullptr = QSaveFile HoppyF.nullPtr
withCppPtr (QSaveFile ptr') f' = f' ptr'
withCppPtr (QSaveFileGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
toPtr (QSaveFile ptr') = ptr'
toPtr (QSaveFileGc _ ptr') = ptr'
touchCppPtr (QSaveFile _) = HoppyP.return ()
touchCppPtr (QSaveFileGc fptr' _) = HoppyF.touchForeignPtr fptr'
instance HoppyFHR.Deletable QSaveFile where
delete (QSaveFile ptr') = delete'QSaveFile $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QSaveFileConst)
delete (QSaveFileGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QSaveFile", " object."]
toGc this'@(QSaveFile ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QSaveFileGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QSaveFile :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
toGc this'@(QSaveFileGc {}) = HoppyP.return this'
instance QSaveFileConstPtr QSaveFile where
toQSaveFileConst (QSaveFile ptr') = QSaveFileConst $ (HoppyF.castPtr :: HoppyF.Ptr QSaveFile -> HoppyF.Ptr QSaveFileConst) ptr'
toQSaveFileConst (QSaveFileGc fptr' ptr') = QSaveFileConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QSaveFile -> HoppyF.Ptr QSaveFileConst) ptr'
instance QSaveFilePtr QSaveFile where
toQSaveFile = HoppyP.id
instance M38.QFileDeviceConstPtr QSaveFile where
toQFileDeviceConst (QSaveFile ptr') = M38.QFileDeviceConst $ castQSaveFileToQFileDevice $ (HoppyF.castPtr :: HoppyF.Ptr QSaveFile -> HoppyF.Ptr QSaveFileConst) ptr'
toQFileDeviceConst (QSaveFileGc fptr' ptr') = M38.QFileDeviceConstGc fptr' $ castQSaveFileToQFileDevice $ (HoppyF.castPtr :: HoppyF.Ptr QSaveFile -> HoppyF.Ptr QSaveFileConst) ptr'
instance M38.QFileDevicePtr QSaveFile where
toQFileDevice (QSaveFile ptr') = M38.QFileDevice $ (HoppyF.castPtr :: HoppyF.Ptr M38.QFileDeviceConst -> HoppyF.Ptr M38.QFileDevice) $ castQSaveFileToQFileDevice $ (HoppyF.castPtr :: HoppyF.Ptr QSaveFile -> HoppyF.Ptr QSaveFileConst) ptr'
toQFileDevice (QSaveFileGc fptr' ptr') = M38.QFileDeviceGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M38.QFileDeviceConst -> HoppyF.Ptr M38.QFileDevice) $ castQSaveFileToQFileDevice $ (HoppyF.castPtr :: HoppyF.Ptr QSaveFile -> HoppyF.Ptr QSaveFileConst) ptr'
instance M48.QIODeviceConstPtr QSaveFile where
toQIODeviceConst (QSaveFile ptr') = M48.QIODeviceConst $ castQSaveFileToQIODevice $ (HoppyF.castPtr :: HoppyF.Ptr QSaveFile -> HoppyF.Ptr QSaveFileConst) ptr'
toQIODeviceConst (QSaveFileGc fptr' ptr') = M48.QIODeviceConstGc fptr' $ castQSaveFileToQIODevice $ (HoppyF.castPtr :: HoppyF.Ptr QSaveFile -> HoppyF.Ptr QSaveFileConst) ptr'
instance M48.QIODevicePtr QSaveFile where
toQIODevice (QSaveFile ptr') = M48.QIODevice $ (HoppyF.castPtr :: HoppyF.Ptr M48.QIODeviceConst -> HoppyF.Ptr M48.QIODevice) $ castQSaveFileToQIODevice $ (HoppyF.castPtr :: HoppyF.Ptr QSaveFile -> HoppyF.Ptr QSaveFileConst) ptr'
toQIODevice (QSaveFileGc fptr' ptr') = M48.QIODeviceGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M48.QIODeviceConst -> HoppyF.Ptr M48.QIODevice) $ castQSaveFileToQIODevice $ (HoppyF.castPtr :: HoppyF.Ptr QSaveFile -> HoppyF.Ptr QSaveFileConst) ptr'
instance M94.QObjectConstPtr QSaveFile where
toQObjectConst (QSaveFile ptr') = M94.QObjectConst $ castQSaveFileToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QSaveFile -> HoppyF.Ptr QSaveFileConst) ptr'
toQObjectConst (QSaveFileGc fptr' ptr') = M94.QObjectConstGc fptr' $ castQSaveFileToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QSaveFile -> HoppyF.Ptr QSaveFileConst) ptr'
instance M94.QObjectPtr QSaveFile where
toQObject (QSaveFile ptr') = M94.QObject $ (HoppyF.castPtr :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr M94.QObject) $ castQSaveFileToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QSaveFile -> HoppyF.Ptr QSaveFileConst) ptr'
toQObject (QSaveFileGc fptr' ptr') = M94.QObjectGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr M94.QObject) $ castQSaveFileToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QSaveFile -> HoppyF.Ptr QSaveFileConst) ptr'
newWithNameAndParent :: (M142.QStringValue arg'1, M94.QObjectPtr arg'2) => (arg'1) -> (arg'2) -> (HoppyP.IO QSaveFile)
newWithNameAndParent arg'1 arg'2 =
M142.withQStringPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyFHR.withCppPtr (M94.toQObject arg'2) $ \arg'2' ->
HoppyP.fmap QSaveFile
(newWithNameAndParent' arg'1' arg'2')
new :: (HoppyP.IO QSaveFile)
new =
HoppyP.fmap QSaveFile
(new')
newWithParent :: (M94.QObjectPtr arg'1) => (arg'1) -> (HoppyP.IO QSaveFile)
newWithParent arg'1 =
HoppyFHR.withCppPtr (M94.toQObject arg'1) $ \arg'1' ->
HoppyP.fmap QSaveFile
(newWithParent' arg'1')
newWithName :: (M142.QStringValue arg'1) => (arg'1) -> (HoppyP.IO QSaveFile)
newWithName arg'1 =
M142.withQStringPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap QSaveFile
(newWithName' arg'1')
class QSaveFileSuper a where
downToQSaveFile :: a -> QSaveFile
instance QSaveFileSuper M38.QFileDevice where
downToQSaveFile = castQSaveFileToNonconst . cast' . M38.castQFileDeviceToConst
where
cast' (M38.QFileDeviceConst ptr') = QSaveFileConst $ castQFileDeviceToQSaveFile ptr'
cast' (M38.QFileDeviceConstGc fptr' ptr') = QSaveFileConstGc fptr' $ castQFileDeviceToQSaveFile ptr'
instance QSaveFileSuper M48.QIODevice where
downToQSaveFile = castQSaveFileToNonconst . cast' . M48.castQIODeviceToConst
where
cast' (M48.QIODeviceConst ptr') = QSaveFileConst $ castQIODeviceToQSaveFile ptr'
cast' (M48.QIODeviceConstGc fptr' ptr') = QSaveFileConstGc fptr' $ castQIODeviceToQSaveFile ptr'
instance QSaveFileSuper M94.QObject where
downToQSaveFile = castQSaveFileToNonconst . cast' . M94.castQObjectToConst
where
cast' (M94.QObjectConst ptr') = QSaveFileConst $ castQObjectToQSaveFile ptr'
cast' (M94.QObjectConstGc fptr' ptr') = QSaveFileConstGc fptr' $ castQObjectToQSaveFile ptr'
class QSaveFileSuperConst a where
downToQSaveFileConst :: a -> QSaveFileConst
instance QSaveFileSuperConst M38.QFileDeviceConst where
downToQSaveFileConst = cast'
where
cast' (M38.QFileDeviceConst ptr') = QSaveFileConst $ castQFileDeviceToQSaveFile ptr'
cast' (M38.QFileDeviceConstGc fptr' ptr') = QSaveFileConstGc fptr' $ castQFileDeviceToQSaveFile ptr'
instance QSaveFileSuperConst M48.QIODeviceConst where
downToQSaveFileConst = cast'
where
cast' (M48.QIODeviceConst ptr') = QSaveFileConst $ castQIODeviceToQSaveFile ptr'
cast' (M48.QIODeviceConstGc fptr' ptr') = QSaveFileConstGc fptr' $ castQIODeviceToQSaveFile ptr'
instance QSaveFileSuperConst M94.QObjectConst where
downToQSaveFileConst = cast'
where
cast' (M94.QObjectConst ptr') = QSaveFileConst $ castQObjectToQSaveFile ptr'
cast' (M94.QObjectConstGc fptr' ptr') = QSaveFileConstGc fptr' $ castQObjectToQSaveFile ptr'
instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QSaveFile)) QSaveFile where
assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value'
instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QSaveFile)) QSaveFile where
decode = HoppyP.fmap QSaveFile . HoppyF.peek