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 |
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
WrappedPtr TypeInfo | |
(~) AttrOpTag tag AttrSet => Constructible TypeInfo tag | |
((~) * info (ResolveTypeInfoMethod t TypeInfo), MethodInfo * info TypeInfo p) => IsLabelProxy t (TypeInfo -> p) | |
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
typeInfoReadValueTable :: MonadIO m => TypeInfo -> m (Maybe TypeValueTable) Source
typeInfoValueTable :: AttrLabelProxy "valueTable" Source
typeInfoWriteValueTable :: MonadIO m => TypeInfo -> Ptr TypeValueTable -> m () Source