gi-gobject-2.0.2: GObject bindings

CopyrightWill Thompson, Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria (garetxe@gmail.com)
Safe HaskellNone
LanguageHaskell2010

GI.GObject.Structs.TypeInfo

Contents

Description

This structure is used to provide the type system with the information required to initialize and destruct (finalize) a type's class and its instances.

The initialized structure is passed to the g_type_register_static() function (or is copied into the provided #GTypeInfo structure in the g_type_plugin_complete_type_info()). The type system will perform a deep copy of this structure, so its memory does not need to be persistent across invocation of g_type_register_static().

Synopsis

Exported types

newtype TypeInfo Source #

Constructors

TypeInfo (ForeignPtr TypeInfo) 

Instances

WrappedPtr TypeInfo Source # 

Methods

wrappedPtrCalloc :: IO (Ptr TypeInfo)

wrappedPtrCopy :: Ptr TypeInfo -> IO (Ptr TypeInfo)

wrappedPtrFree :: Maybe (FunPtr (Ptr TypeInfo -> IO ()))

(~) AttrOpTag tag AttrSet => Constructible TypeInfo tag Source # 

Methods

new :: MonadIO m => (ForeignPtr TypeInfo -> TypeInfo) -> [AttrOp TypeInfo tag] -> m TypeInfo

((~) * info (ResolveTypeInfoMethod t TypeInfo), MethodInfo * info TypeInfo p) => IsLabel t (TypeInfo -> p) Source # 

Methods

fromLabel :: Proxy# Symbol t -> TypeInfo -> p

((~) * info (ResolveTypeInfoMethod t TypeInfo), MethodInfo * info TypeInfo p) => IsLabelProxy t (TypeInfo -> p) Source # 

Methods

fromLabelProxy :: Proxy Symbol t -> TypeInfo -> p

type AttributeList TypeInfo Source # 
type AttributeList TypeInfo

newZeroTypeInfo :: MonadIO m => m TypeInfo Source #

Construct a TypeInfo struct initialized to zero.

Properties

ClassData

typeInfoClassData :: AttrLabelProxy "classData" Source #

typeInfoClearClassData :: MonadIO m => TypeInfo -> m () Source #

typeInfoReadClassData :: MonadIO m => TypeInfo -> m (Ptr ()) Source #

typeInfoWriteClassData :: MonadIO m => TypeInfo -> Ptr () -> m () Source #

ClassSize

typeInfoClassSize :: AttrLabelProxy "classSize" Source #

typeInfoReadClassSize :: MonadIO m => TypeInfo -> m Word16 Source #

typeInfoWriteClassSize :: MonadIO m => TypeInfo -> Word16 -> m () Source #

InstanceSize

typeInfoInstanceSize :: AttrLabelProxy "instanceSize" Source #

typeInfoReadInstanceSize :: MonadIO m => TypeInfo -> m Word16 Source #

typeInfoWriteInstanceSize :: MonadIO m => TypeInfo -> Word16 -> m () Source #

NPreallocs

typeInfoNPreallocs :: AttrLabelProxy "nPreallocs" Source #

typeInfoReadNPreallocs :: MonadIO m => TypeInfo -> m Word16 Source #

typeInfoWriteNPreallocs :: MonadIO m => TypeInfo -> Word16 -> m () Source #

ValueTable

typeInfoClearValueTable :: MonadIO m => TypeInfo -> m () Source #

typeInfoValueTable :: AttrLabelProxy "valueTable" Source #

typeInfoWriteValueTable :: MonadIO m => TypeInfo -> Ptr TypeValueTable -> m () Source #