| 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
- typeInfoClassData :: AttrLabelProxy "classData"
- typeInfoClearClassData :: MonadIO m => TypeInfo -> m ()
- typeInfoReadClassData :: MonadIO m => TypeInfo -> m (Ptr ())
- typeInfoWriteClassData :: MonadIO m => TypeInfo -> Ptr () -> m ()
- typeInfoClassSize :: AttrLabelProxy "classSize"
- typeInfoReadClassSize :: MonadIO m => TypeInfo -> m Word16
- typeInfoWriteClassSize :: MonadIO m => TypeInfo -> Word16 -> m ()
- typeInfoInstanceSize :: AttrLabelProxy "instanceSize"
- typeInfoReadInstanceSize :: MonadIO m => TypeInfo -> m Word16
- typeInfoWriteInstanceSize :: MonadIO m => TypeInfo -> Word16 -> m ()
- typeInfoNPreallocs :: AttrLabelProxy "nPreallocs"
- typeInfoReadNPreallocs :: MonadIO m => TypeInfo -> m Word16
- typeInfoWriteNPreallocs :: MonadIO m => TypeInfo -> Word16 -> m ()
- typeInfoClearValueTable :: MonadIO m => TypeInfo -> m ()
- typeInfoReadValueTable :: MonadIO m => TypeInfo -> m (Maybe TypeValueTable)
- typeInfoValueTable :: AttrLabelProxy "valueTable"
- typeInfoWriteValueTable :: MonadIO m => TypeInfo -> Ptr TypeValueTable -> m ()
Exported types
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 # | |
| type AttributeList TypeInfo Source # | |
newZeroTypeInfo :: MonadIO m => m TypeInfo Source #
Construct a TypeInfo struct initialized to zero.
noTypeInfo :: Maybe TypeInfo Source #
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 #
typeInfoReadValueTable :: MonadIO m => TypeInfo -> m (Maybe TypeValueTable) Source #
typeInfoValueTable :: AttrLabelProxy "valueTable" Source #
typeInfoWriteValueTable :: MonadIO m => TypeInfo -> Ptr TypeValueTable -> m () Source #