{-# LINE 1 "lib/Data/GI/CodeGen/GType.hsc" #-}
module Data.GI.CodeGen.GType
( GType
, gtypeIsA
, gtypeIsBoxed
) where
import Foreign.C
import System.IO.Unsafe (unsafePerformIO)
import Data.GI.Base.BasicTypes (CGType, GType(..))
foreign import ccall unsafe "g_type_is_a" g_type_is_a ::
CGType -> CGType -> IO CInt
gtypeIsA :: GType -> GType -> Bool
gtypeIsA :: GType -> GType -> Bool
gtypeIsA (GType CGType
gtype) (GType CGType
is_a) = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) (CInt -> Bool) -> CInt -> Bool
forall a b. (a -> b) -> a -> b
$
IO CInt -> CInt
forall a. IO a -> a
unsafePerformIO (IO CInt -> CInt) -> IO CInt -> CInt
forall a b. (a -> b) -> a -> b
$ CGType -> CGType -> IO CInt
g_type_is_a CGType
gtype CGType
is_a
gtypeBoxed :: GType
gtypeBoxed :: GType
gtypeBoxed = CGType -> GType
GType CGType
72
{-# LINE 22 "lib/Data/GI/CodeGen/GType.hsc" #-}
gtypeIsBoxed :: GType -> Bool
gtypeIsBoxed :: GType -> Bool
gtypeIsBoxed GType
gtype = GType -> GType -> Bool
gtypeIsA GType
gtype GType
gtypeBoxed