packages feed

gi-gobject-0.2.46.13: GI/GObject/Unions/Value_Data_Union_.hs


{- |
Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License    : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}

module GI.GObject.Unions.Value_Data_Union_
    ( 

-- * Exported types
    Value_Data_Union_(..)                   ,
    newZeroValue_Data_Union_                ,
    noValue_Data_Union_                     ,


 -- * Properties
-- ** VDouble
    value_Data_Union_ReadVDouble            ,


-- ** VFloat
    value_Data_Union_ReadVFloat             ,


-- ** VInt
    value_Data_Union_ReadVInt               ,


-- ** VInt64
    value_Data_Union_ReadVInt64             ,


-- ** VLong
    value_Data_Union_ReadVLong              ,


-- ** VPointer
    value_Data_Union_ReadVPointer           ,


-- ** VUint
    value_Data_Union_ReadVUint              ,


-- ** VUint64
    value_Data_Union_ReadVUint64            ,


-- ** VUlong
    value_Data_Union_ReadVUlong             ,




    ) where

import Prelude ()
import Data.GI.Base.ShortPrelude

import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map

import GI.GObject.Types
import GI.GObject.Callbacks

newtype Value_Data_Union_ = Value_Data_Union_ (ForeignPtr Value_Data_Union_)
-- | Construct a `Value_Data_Union_` struct initialized to zero.
newZeroValue_Data_Union_ :: MonadIO m => m Value_Data_Union_
newZeroValue_Data_Union_ = liftIO $ callocBytes 8 >>= wrapPtr Value_Data_Union_

noValue_Data_Union_ :: Maybe Value_Data_Union_
noValue_Data_Union_ = Nothing

value_Data_Union_ReadVInt :: Value_Data_Union_ -> IO Int32
value_Data_Union_ReadVInt s = withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 0) :: IO Int32
    return val

value_Data_Union_ReadVUint :: Value_Data_Union_ -> IO Word32
value_Data_Union_ReadVUint s = withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 0) :: IO Word32
    return val

value_Data_Union_ReadVLong :: Value_Data_Union_ -> IO Int64
value_Data_Union_ReadVLong s = withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 0) :: IO Int64
    return val

value_Data_Union_ReadVUlong :: Value_Data_Union_ -> IO Word64
value_Data_Union_ReadVUlong s = withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 0) :: IO Word64
    return val

value_Data_Union_ReadVInt64 :: Value_Data_Union_ -> IO Int64
value_Data_Union_ReadVInt64 s = withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 0) :: IO Int64
    return val

value_Data_Union_ReadVUint64 :: Value_Data_Union_ -> IO Word64
value_Data_Union_ReadVUint64 s = withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 0) :: IO Word64
    return val

value_Data_Union_ReadVFloat :: Value_Data_Union_ -> IO Float
value_Data_Union_ReadVFloat s = withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 0) :: IO CFloat
    let val' = realToFrac val
    return val'

value_Data_Union_ReadVDouble :: Value_Data_Union_ -> IO Double
value_Data_Union_ReadVDouble s = withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 0) :: IO CDouble
    let val' = realToFrac val
    return val'

value_Data_Union_ReadVPointer :: Value_Data_Union_ -> IO (Ptr ())
value_Data_Union_ReadVPointer s = withManagedPtr s $ \ptr -> do
    val <- peek (ptr `plusPtr` 0) :: IO (Ptr ())
    return val

type family ResolveValue_Data_Union_Method (t :: Symbol) (o :: *) :: * where
    ResolveValue_Data_Union_Method l o = MethodResolutionFailed l o

instance (info ~ ResolveValue_Data_Union_Method t Value_Data_Union_, MethodInfo info Value_Data_Union_ p) => IsLabelProxy t (Value_Data_Union_ -> p) where
    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)

#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveValue_Data_Union_Method t Value_Data_Union_, MethodInfo info Value_Data_Union_ p) => IsLabel t (Value_Data_Union_ -> p) where
    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
#endif