| Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
|---|---|
| License | LGPL-2.1 |
| Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
| Safe Haskell | None |
| Language | Haskell2010 |
GI.GObject.Structs.TypeInfo
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().
- newtype TypeInfo = TypeInfo (ForeignPtr TypeInfo)
- newZeroTypeInfo :: MonadIO m => m TypeInfo
- noTypeInfo :: Maybe TypeInfo
- clearTypeInfoClassData :: MonadIO m => TypeInfo -> m ()
- getTypeInfoClassData :: MonadIO m => TypeInfo -> m (Ptr ())
- setTypeInfoClassData :: MonadIO m => TypeInfo -> Ptr () -> m ()
- typeInfoClassData :: AttrLabelProxy "classData"
- getTypeInfoClassSize :: MonadIO m => TypeInfo -> m Word16
- setTypeInfoClassSize :: MonadIO m => TypeInfo -> Word16 -> m ()
- typeInfoClassSize :: AttrLabelProxy "classSize"
- getTypeInfoInstanceSize :: MonadIO m => TypeInfo -> m Word16
- setTypeInfoInstanceSize :: MonadIO m => TypeInfo -> Word16 -> m ()
- typeInfoInstanceSize :: AttrLabelProxy "instanceSize"
- getTypeInfoNPreallocs :: MonadIO m => TypeInfo -> m Word16
- setTypeInfoNPreallocs :: MonadIO m => TypeInfo -> Word16 -> m ()
- typeInfoNPreallocs :: AttrLabelProxy "nPreallocs"
- clearTypeInfoValueTable :: MonadIO m => TypeInfo -> m ()
- getTypeInfoValueTable :: MonadIO m => TypeInfo -> m (Maybe TypeValueTable)
- setTypeInfoValueTable :: MonadIO m => TypeInfo -> Ptr TypeValueTable -> m ()
- typeInfoValueTable :: AttrLabelProxy "valueTable"
Exported types
Constructors
| TypeInfo (ForeignPtr TypeInfo) |
Instances
| WrappedPtr TypeInfo Source # | |
| (~) AttrOpTag tag AttrSet => Constructible TypeInfo tag Source # | |
| ((~) * info (ResolveTypeInfoMethod t TypeInfo), MethodInfo * info TypeInfo p) => IsLabel t (TypeInfo -> p) Source # | |
| ((~) * info (ResolveTypeInfoMethod t TypeInfo), MethodInfo * info TypeInfo p) => IsLabelProxy t (TypeInfo -> p) Source # | |
| HasAttributeList * TypeInfo Source # | |
| type AttributeList TypeInfo Source # | |
Properties
ClassData
clearTypeInfoClassData :: MonadIO m => TypeInfo -> m () Source #
typeInfoClassData :: AttrLabelProxy "classData" Source #
ClassSize
typeInfoClassSize :: AttrLabelProxy "classSize" Source #
InstanceSize
typeInfoInstanceSize :: AttrLabelProxy "instanceSize" Source #
NPreallocs
typeInfoNPreallocs :: AttrLabelProxy "nPreallocs" Source #
ValueTable
clearTypeInfoValueTable :: MonadIO m => TypeInfo -> m () Source #
getTypeInfoValueTable :: MonadIO m => TypeInfo -> m (Maybe TypeValueTable) Source #
setTypeInfoValueTable :: MonadIO m => TypeInfo -> Ptr TypeValueTable -> m () Source #
typeInfoValueTable :: AttrLabelProxy "valueTable" Source #