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
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 typeRegisterStatic
function
(or is copied into the provided TypeInfo
structure in the
typePluginCompleteTypeInfo
). The type system will perform a deep
copy of this structure, so its memory does not need to be persistent
across invocation of typeRegisterStatic
.
- newtype TypeInfo = TypeInfo (ManagedPtr TypeInfo)
- newZeroTypeInfo :: MonadIO m => m TypeInfo
- noTypeInfo :: Maybe TypeInfo
- clearTypeInfoBaseFinalize :: MonadIO m => TypeInfo -> m ()
- getTypeInfoBaseFinalize :: MonadIO m => TypeInfo -> m (Maybe BaseFinalizeFunc)
- setTypeInfoBaseFinalize :: MonadIO m => TypeInfo -> FunPtr C_BaseFinalizeFunc -> m ()
- typeInfo_baseFinalize :: AttrLabelProxy "baseFinalize"
- clearTypeInfoBaseInit :: MonadIO m => TypeInfo -> m ()
- getTypeInfoBaseInit :: MonadIO m => TypeInfo -> m (Maybe BaseInitFunc)
- setTypeInfoBaseInit :: MonadIO m => TypeInfo -> FunPtr C_BaseInitFunc -> m ()
- typeInfo_baseInit :: AttrLabelProxy "baseInit"
- clearTypeInfoClassData :: MonadIO m => TypeInfo -> m ()
- getTypeInfoClassData :: MonadIO m => TypeInfo -> m (Ptr ())
- setTypeInfoClassData :: MonadIO m => TypeInfo -> Ptr () -> m ()
- typeInfo_classData :: AttrLabelProxy "classData"
- clearTypeInfoClassFinalize :: MonadIO m => TypeInfo -> m ()
- getTypeInfoClassFinalize :: MonadIO m => TypeInfo -> m (Maybe ClassFinalizeFunc)
- setTypeInfoClassFinalize :: MonadIO m => TypeInfo -> FunPtr C_ClassFinalizeFunc -> m ()
- typeInfo_classFinalize :: AttrLabelProxy "classFinalize"
- clearTypeInfoClassInit :: MonadIO m => TypeInfo -> m ()
- getTypeInfoClassInit :: MonadIO m => TypeInfo -> m (Maybe ClassInitFunc)
- setTypeInfoClassInit :: MonadIO m => TypeInfo -> FunPtr C_ClassInitFunc -> m ()
- typeInfo_classInit :: AttrLabelProxy "classInit"
- getTypeInfoClassSize :: MonadIO m => TypeInfo -> m Word16
- setTypeInfoClassSize :: MonadIO m => TypeInfo -> Word16 -> m ()
- typeInfo_classSize :: AttrLabelProxy "classSize"
- clearTypeInfoInstanceInit :: MonadIO m => TypeInfo -> m ()
- getTypeInfoInstanceInit :: MonadIO m => TypeInfo -> m (Maybe InstanceInitFunc)
- setTypeInfoInstanceInit :: MonadIO m => TypeInfo -> FunPtr C_InstanceInitFunc -> m ()
- typeInfo_instanceInit :: AttrLabelProxy "instanceInit"
- getTypeInfoInstanceSize :: MonadIO m => TypeInfo -> m Word16
- setTypeInfoInstanceSize :: MonadIO m => TypeInfo -> Word16 -> m ()
- typeInfo_instanceSize :: AttrLabelProxy "instanceSize"
- getTypeInfoNPreallocs :: MonadIO m => TypeInfo -> m Word16
- setTypeInfoNPreallocs :: MonadIO m => TypeInfo -> Word16 -> m ()
- typeInfo_nPreallocs :: AttrLabelProxy "nPreallocs"
- clearTypeInfoValueTable :: MonadIO m => TypeInfo -> m ()
- getTypeInfoValueTable :: MonadIO m => TypeInfo -> m (Maybe TypeValueTable)
- setTypeInfoValueTable :: MonadIO m => TypeInfo -> Ptr TypeValueTable -> m ()
- typeInfo_valueTable :: AttrLabelProxy "valueTable"
Exported types
Constructors
TypeInfo (ManagedPtr TypeInfo) |
Instances
WrappedPtr TypeInfo # | |
(~) AttrOpTag tag AttrSet => Constructible TypeInfo tag # | |
((~) * info (ResolveTypeInfoMethod t TypeInfo), MethodInfo * info TypeInfo p) => IsLabel t (TypeInfo -> p) # | |
((~) * info (ResolveTypeInfoMethod t TypeInfo), MethodInfo * info TypeInfo p) => IsLabelProxy t (TypeInfo -> p) # | |
HasAttributeList * TypeInfo # | |
type AttributeList TypeInfo # | |
newZeroTypeInfo :: MonadIO m => m TypeInfo #
Construct a TypeInfo
struct initialized to zero.
noTypeInfo :: Maybe TypeInfo #
Properties
baseFinalize
clearTypeInfoBaseFinalize :: MonadIO m => TypeInfo -> m () #
getTypeInfoBaseFinalize :: MonadIO m => TypeInfo -> m (Maybe BaseFinalizeFunc) #
setTypeInfoBaseFinalize :: MonadIO m => TypeInfo -> FunPtr C_BaseFinalizeFunc -> m () #
typeInfo_baseFinalize :: AttrLabelProxy "baseFinalize" #
baseInit
clearTypeInfoBaseInit :: MonadIO m => TypeInfo -> m () #
getTypeInfoBaseInit :: MonadIO m => TypeInfo -> m (Maybe BaseInitFunc) #
setTypeInfoBaseInit :: MonadIO m => TypeInfo -> FunPtr C_BaseInitFunc -> m () #
typeInfo_baseInit :: AttrLabelProxy "baseInit" #
classData
clearTypeInfoClassData :: MonadIO m => TypeInfo -> m () #
getTypeInfoClassData :: MonadIO m => TypeInfo -> m (Ptr ()) #
setTypeInfoClassData :: MonadIO m => TypeInfo -> Ptr () -> m () #
typeInfo_classData :: AttrLabelProxy "classData" #
classFinalize
clearTypeInfoClassFinalize :: MonadIO m => TypeInfo -> m () #
getTypeInfoClassFinalize :: MonadIO m => TypeInfo -> m (Maybe ClassFinalizeFunc) #
setTypeInfoClassFinalize :: MonadIO m => TypeInfo -> FunPtr C_ClassFinalizeFunc -> m () #
typeInfo_classFinalize :: AttrLabelProxy "classFinalize" #
classInit
clearTypeInfoClassInit :: MonadIO m => TypeInfo -> m () #
getTypeInfoClassInit :: MonadIO m => TypeInfo -> m (Maybe ClassInitFunc) #
setTypeInfoClassInit :: MonadIO m => TypeInfo -> FunPtr C_ClassInitFunc -> m () #
typeInfo_classInit :: AttrLabelProxy "classInit" #
classSize
getTypeInfoClassSize :: MonadIO m => TypeInfo -> m Word16 #
setTypeInfoClassSize :: MonadIO m => TypeInfo -> Word16 -> m () #
typeInfo_classSize :: AttrLabelProxy "classSize" #
instanceInit
clearTypeInfoInstanceInit :: MonadIO m => TypeInfo -> m () #
getTypeInfoInstanceInit :: MonadIO m => TypeInfo -> m (Maybe InstanceInitFunc) #
setTypeInfoInstanceInit :: MonadIO m => TypeInfo -> FunPtr C_InstanceInitFunc -> m () #
typeInfo_instanceInit :: AttrLabelProxy "instanceInit" #
instanceSize
getTypeInfoInstanceSize :: MonadIO m => TypeInfo -> m Word16 #
setTypeInfoInstanceSize :: MonadIO m => TypeInfo -> Word16 -> m () #
typeInfo_instanceSize :: AttrLabelProxy "instanceSize" #
nPreallocs
getTypeInfoNPreallocs :: MonadIO m => TypeInfo -> m Word16 #
setTypeInfoNPreallocs :: MonadIO m => TypeInfo -> Word16 -> m () #
typeInfo_nPreallocs :: AttrLabelProxy "nPreallocs" #
valueTable
clearTypeInfoValueTable :: MonadIO m => TypeInfo -> m () #
getTypeInfoValueTable :: MonadIO m => TypeInfo -> m (Maybe TypeValueTable) #
setTypeInfoValueTable :: MonadIO m => TypeInfo -> Ptr TypeValueTable -> m () #
typeInfo_valueTable :: AttrLabelProxy "valueTable" #