qtah-qt5-0.8.0: src/Graphics/UI/Qtah/Generated/Core/QOperatingSystemVersion.hs
{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-}
---------- GENERATED FILE, EDITS WILL BE LOST ----------
module Graphics.UI.Qtah.Generated.Core.QOperatingSystemVersion (
QOperatingSystemVersionValue (..),
QOperatingSystemVersionConstPtr (..),
majorVersion,
microVersion,
minorVersion,
name,
segmentCount,
getType,
QOperatingSystemVersionPtr (..),
current,
currentType,
QOperatingSystemVersionConst (..),
castQOperatingSystemVersionToConst,
QOperatingSystemVersion (..),
castQOperatingSystemVersionToNonconst,
new,
newWithMinor,
newWithMinorAndMicro,
newCopy,
QOperatingSystemVersionSuper (..),
QOperatingSystemVersionSuperConst (..),
QOperatingSystemVersionOSType (..),
) 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
import qualified Prelude as QtahP
foreign import ccall "genpop__QOperatingSystemVersion_new" new' :: HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr QOperatingSystemVersion)
foreign import ccall "genpop__QOperatingSystemVersion_newWithMinor" newWithMinor' :: HoppyFC.CInt -> HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr QOperatingSystemVersion)
foreign import ccall "genpop__QOperatingSystemVersion_newWithMinorAndMicro" newWithMinorAndMicro' :: HoppyFC.CInt -> HoppyFC.CInt -> HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr QOperatingSystemVersion)
foreign import ccall "genpop__QOperatingSystemVersion_newCopy" newCopy' :: HoppyF.Ptr QOperatingSystemVersionConst -> HoppyP.IO (HoppyF.Ptr QOperatingSystemVersion)
foreign import ccall "genpop__QOperatingSystemVersion_current" current' :: HoppyP.IO (HoppyF.Ptr QOperatingSystemVersionConst)
foreign import ccall "genpop__QOperatingSystemVersion_currentType" currentType' :: HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QOperatingSystemVersion_majorVersion" majorVersion' :: HoppyF.Ptr QOperatingSystemVersionConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QOperatingSystemVersion_microVersion" microVersion' :: HoppyF.Ptr QOperatingSystemVersionConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QOperatingSystemVersion_minorVersion" minorVersion' :: HoppyF.Ptr QOperatingSystemVersionConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QOperatingSystemVersion_name" name' :: HoppyF.Ptr QOperatingSystemVersionConst -> HoppyP.IO (HoppyF.Ptr M142.QStringConst)
foreign import ccall "genpop__QOperatingSystemVersion_segmentCount" segmentCount' :: HoppyF.Ptr QOperatingSystemVersionConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QOperatingSystemVersion_getType" getType' :: HoppyF.Ptr QOperatingSystemVersionConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "gendel__QOperatingSystemVersion" delete'QOperatingSystemVersion :: HoppyF.Ptr QOperatingSystemVersionConst -> HoppyP.IO ()
foreign import ccall "&gendel__QOperatingSystemVersion" deletePtr'QOperatingSystemVersion :: HoppyF.FunPtr (HoppyF.Ptr QOperatingSystemVersionConst -> HoppyP.IO ())
class QOperatingSystemVersionValue a where
withQOperatingSystemVersionPtr :: a -> (QOperatingSystemVersionConst -> HoppyP.IO b) -> HoppyP.IO b
instance {-# OVERLAPPABLE #-} QOperatingSystemVersionConstPtr a => QOperatingSystemVersionValue a where
withQOperatingSystemVersionPtr = HoppyP.flip ($) . toQOperatingSystemVersionConst
class (HoppyFHR.CppPtr this) => QOperatingSystemVersionConstPtr this where
toQOperatingSystemVersionConst :: this -> QOperatingSystemVersionConst
majorVersion :: (QOperatingSystemVersionValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Int)
majorVersion arg'1 =
withQOperatingSystemVersionPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
HoppyP.return . HoppyFHR.coerceIntegral
) =<<
(majorVersion' arg'1')
microVersion :: (QOperatingSystemVersionValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Int)
microVersion arg'1 =
withQOperatingSystemVersionPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
HoppyP.return . HoppyFHR.coerceIntegral
) =<<
(microVersion' arg'1')
minorVersion :: (QOperatingSystemVersionValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Int)
minorVersion arg'1 =
withQOperatingSystemVersionPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
HoppyP.return . HoppyFHR.coerceIntegral
) =<<
(minorVersion' arg'1')
name :: (QOperatingSystemVersionValue this) => (this) {- ^ this -} -> (HoppyP.IO QtahP.String)
name arg'1 =
withQOperatingSystemVersionPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(HoppyFHR.decodeAndDelete . M142.QStringConst) =<<
(name' arg'1')
segmentCount :: (QOperatingSystemVersionValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Int)
segmentCount arg'1 =
withQOperatingSystemVersionPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
HoppyP.return . HoppyFHR.coerceIntegral
) =<<
(segmentCount' arg'1')
getType :: (QOperatingSystemVersionValue this) => (this) {- ^ this -} -> (HoppyP.IO QOperatingSystemVersionOSType)
getType arg'1 =
withQOperatingSystemVersionPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
HoppyP.return . HoppyFHR.toCppEnum
) =<<
(getType' arg'1')
class (QOperatingSystemVersionConstPtr this) => QOperatingSystemVersionPtr this where
toQOperatingSystemVersion :: this -> QOperatingSystemVersion
current :: (HoppyP.IO QOperatingSystemVersion)
current =
(HoppyFHR.decodeAndDelete . QOperatingSystemVersionConst) =<<
(current')
currentType :: (HoppyP.IO QOperatingSystemVersionOSType)
currentType =
(
HoppyP.return . HoppyFHR.toCppEnum
) =<<
(currentType')
data QOperatingSystemVersionConst =
QOperatingSystemVersionConst (HoppyF.Ptr QOperatingSystemVersionConst)
| QOperatingSystemVersionConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QOperatingSystemVersionConst)
deriving (HoppyP.Show)
instance HoppyP.Eq QOperatingSystemVersionConst where
x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y
instance HoppyP.Ord QOperatingSystemVersionConst where
compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)
castQOperatingSystemVersionToConst :: QOperatingSystemVersion -> QOperatingSystemVersionConst
castQOperatingSystemVersionToConst (QOperatingSystemVersion ptr') = QOperatingSystemVersionConst $ HoppyF.castPtr ptr'
castQOperatingSystemVersionToConst (QOperatingSystemVersionGc fptr' ptr') = QOperatingSystemVersionConstGc fptr' $ HoppyF.castPtr ptr'
instance HoppyFHR.CppPtr QOperatingSystemVersionConst where
nullptr = QOperatingSystemVersionConst HoppyF.nullPtr
withCppPtr (QOperatingSystemVersionConst ptr') f' = f' ptr'
withCppPtr (QOperatingSystemVersionConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
toPtr (QOperatingSystemVersionConst ptr') = ptr'
toPtr (QOperatingSystemVersionConstGc _ ptr') = ptr'
touchCppPtr (QOperatingSystemVersionConst _) = HoppyP.return ()
touchCppPtr (QOperatingSystemVersionConstGc fptr' _) = HoppyF.touchForeignPtr fptr'
instance HoppyFHR.Deletable QOperatingSystemVersionConst where
delete (QOperatingSystemVersionConst ptr') = delete'QOperatingSystemVersion ptr'
delete (QOperatingSystemVersionConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QOperatingSystemVersionConst", " object."]
toGc this'@(QOperatingSystemVersionConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QOperatingSystemVersionConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QOperatingSystemVersion :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
toGc this'@(QOperatingSystemVersionConstGc {}) = HoppyP.return this'
instance HoppyFHR.Copyable QOperatingSystemVersionConst QOperatingSystemVersion where copy = newCopy
instance QOperatingSystemVersionConstPtr QOperatingSystemVersionConst where
toQOperatingSystemVersionConst = HoppyP.id
data QOperatingSystemVersion =
QOperatingSystemVersion (HoppyF.Ptr QOperatingSystemVersion)
| QOperatingSystemVersionGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QOperatingSystemVersion)
deriving (HoppyP.Show)
instance HoppyP.Eq QOperatingSystemVersion where
x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y
instance HoppyP.Ord QOperatingSystemVersion where
compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)
castQOperatingSystemVersionToNonconst :: QOperatingSystemVersionConst -> QOperatingSystemVersion
castQOperatingSystemVersionToNonconst (QOperatingSystemVersionConst ptr') = QOperatingSystemVersion $ HoppyF.castPtr ptr'
castQOperatingSystemVersionToNonconst (QOperatingSystemVersionConstGc fptr' ptr') = QOperatingSystemVersionGc fptr' $ HoppyF.castPtr ptr'
instance HoppyFHR.CppPtr QOperatingSystemVersion where
nullptr = QOperatingSystemVersion HoppyF.nullPtr
withCppPtr (QOperatingSystemVersion ptr') f' = f' ptr'
withCppPtr (QOperatingSystemVersionGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
toPtr (QOperatingSystemVersion ptr') = ptr'
toPtr (QOperatingSystemVersionGc _ ptr') = ptr'
touchCppPtr (QOperatingSystemVersion _) = HoppyP.return ()
touchCppPtr (QOperatingSystemVersionGc fptr' _) = HoppyF.touchForeignPtr fptr'
instance HoppyFHR.Deletable QOperatingSystemVersion where
delete (QOperatingSystemVersion ptr') = delete'QOperatingSystemVersion $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QOperatingSystemVersionConst)
delete (QOperatingSystemVersionGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QOperatingSystemVersion", " object."]
toGc this'@(QOperatingSystemVersion ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QOperatingSystemVersionGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QOperatingSystemVersion :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
toGc this'@(QOperatingSystemVersionGc {}) = HoppyP.return this'
instance HoppyFHR.Copyable QOperatingSystemVersion QOperatingSystemVersion where copy = newCopy
instance QOperatingSystemVersionConstPtr QOperatingSystemVersion where
toQOperatingSystemVersionConst (QOperatingSystemVersion ptr') = QOperatingSystemVersionConst $ (HoppyF.castPtr :: HoppyF.Ptr QOperatingSystemVersion -> HoppyF.Ptr QOperatingSystemVersionConst) ptr'
toQOperatingSystemVersionConst (QOperatingSystemVersionGc fptr' ptr') = QOperatingSystemVersionConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QOperatingSystemVersion -> HoppyF.Ptr QOperatingSystemVersionConst) ptr'
instance QOperatingSystemVersionPtr QOperatingSystemVersion where
toQOperatingSystemVersion = HoppyP.id
new :: (QOperatingSystemVersionOSType) -> (HoppyP.Int) -> (HoppyP.IO QOperatingSystemVersion)
new arg'1 arg'2 =
(
HoppyP.return . HoppyFHR.fromCppEnum
) arg'1 >>= \arg'1' ->
(
HoppyP.return . HoppyFHR.coerceIntegral
) arg'2 >>= \arg'2' ->
HoppyP.fmap QOperatingSystemVersion
(new' arg'1' arg'2')
newWithMinor :: (QOperatingSystemVersionOSType) -> (HoppyP.Int) -> (HoppyP.Int) -> (HoppyP.IO QOperatingSystemVersion)
newWithMinor arg'1 arg'2 arg'3 =
(
HoppyP.return . HoppyFHR.fromCppEnum
) arg'1 >>= \arg'1' ->
(
HoppyP.return . HoppyFHR.coerceIntegral
) arg'2 >>= \arg'2' ->
(
HoppyP.return . HoppyFHR.coerceIntegral
) arg'3 >>= \arg'3' ->
HoppyP.fmap QOperatingSystemVersion
(newWithMinor' arg'1' arg'2' arg'3')
newWithMinorAndMicro :: (QOperatingSystemVersionOSType) -> (HoppyP.Int) -> (HoppyP.Int) -> (HoppyP.Int) -> (HoppyP.IO QOperatingSystemVersion)
newWithMinorAndMicro arg'1 arg'2 arg'3 arg'4 =
(
HoppyP.return . HoppyFHR.fromCppEnum
) arg'1 >>= \arg'1' ->
(
HoppyP.return . HoppyFHR.coerceIntegral
) arg'2 >>= \arg'2' ->
(
HoppyP.return . HoppyFHR.coerceIntegral
) arg'3 >>= \arg'3' ->
(
HoppyP.return . HoppyFHR.coerceIntegral
) arg'4 >>= \arg'4' ->
HoppyP.fmap QOperatingSystemVersion
(newWithMinorAndMicro' arg'1' arg'2' arg'3' arg'4')
newCopy :: (QOperatingSystemVersionValue arg'1) => (arg'1) -> (HoppyP.IO QOperatingSystemVersion)
newCopy arg'1 =
withQOperatingSystemVersionPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap QOperatingSystemVersion
(newCopy' arg'1')
class QOperatingSystemVersionSuper a where
downToQOperatingSystemVersion :: a -> QOperatingSystemVersion
class QOperatingSystemVersionSuperConst a where
downToQOperatingSystemVersionConst :: a -> QOperatingSystemVersionConst
instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QOperatingSystemVersion)) QOperatingSystemVersion where
assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value'
instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QOperatingSystemVersion)) QOperatingSystemVersion where
decode = HoppyP.fmap QOperatingSystemVersion . HoppyF.peek
instance HoppyFHR.Decodable QOperatingSystemVersion (QOperatingSystemVersion) where
decode = HoppyFHR.decode . toQOperatingSystemVersionConst
instance HoppyFHR.Decodable QOperatingSystemVersionConst (QOperatingSystemVersion) where
decode =
HoppyFHR.copy >=> HoppyFHR.toGc
data QOperatingSystemVersionOSType =
Unknown
| Windows
| MacOs
| Ios
| TvOs
| WatchOs
| Android
| UnknownQOperatingSystemVersionOsType (HoppyFC.CInt)
deriving (HoppyP.Show)
instance HoppyFHR.CppEnum (HoppyFC.CInt) QOperatingSystemVersionOSType where
fromCppEnum Unknown = 0
fromCppEnum Windows = 1
fromCppEnum MacOs = 2
fromCppEnum Ios = 3
fromCppEnum TvOs = 4
fromCppEnum WatchOs = 5
fromCppEnum Android = 6
fromCppEnum (UnknownQOperatingSystemVersionOsType n) = n
toCppEnum (0) = Unknown
toCppEnum (1) = Windows
toCppEnum (2) = MacOs
toCppEnum (3) = Ios
toCppEnum (4) = TvOs
toCppEnum (5) = WatchOs
toCppEnum (6) = Android
toCppEnum n = UnknownQOperatingSystemVersionOsType n
instance HoppyP.Eq QOperatingSystemVersionOSType where
x == y = HoppyFHR.fromCppEnum x == HoppyFHR.fromCppEnum y
instance HoppyP.Ord QOperatingSystemVersionOSType where
compare x y = HoppyP.compare (HoppyFHR.fromCppEnum x) (HoppyFHR.fromCppEnum y)