{- | Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte License : LGPL-2.1 Maintainer : Iñaki García Etxebarria (garetxe@gmail.com) The class of an enumeration type holds information about its possible values. -} module GI.GObject.Structs.EnumClass ( -- * Exported types EnumClass(..) , noEnumClass , -- * Properties -- ** GTypeClass enumClassReadGTypeClass , -- ** Maximum enumClassReadMaximum , -- ** Minimum enumClassReadMinimum , -- ** NValues enumClassReadNValues , -- ** Values enumClassReadValues , ) 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 EnumClass = EnumClass (ForeignPtr EnumClass) noEnumClass :: Maybe EnumClass noEnumClass = Nothing enumClassReadGTypeClass :: EnumClass -> IO TypeClass enumClassReadGTypeClass s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 0) :: IO (Ptr TypeClass) val' <- (newPtr 8 TypeClass) val return val' enumClassReadMinimum :: EnumClass -> IO Int32 enumClassReadMinimum s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 8) :: IO Int32 return val enumClassReadMaximum :: EnumClass -> IO Int32 enumClassReadMaximum s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 12) :: IO Int32 return val enumClassReadNValues :: EnumClass -> IO Word32 enumClassReadNValues s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 16) :: IO Word32 return val enumClassReadValues :: EnumClass -> IO EnumValue enumClassReadValues s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 24) :: IO (Ptr EnumValue) val' <- (newPtr 24 EnumValue) val return val'