| 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.TypeInterface
Description
An opaque structure used as the base of all interface types.
- newtype TypeInterface = TypeInterface (ManagedPtr TypeInterface)
- newZeroTypeInterface :: MonadIO m => m TypeInterface
- noTypeInterface :: Maybe TypeInterface
- typeInterfaceAddPrerequisite :: (HasCallStack, MonadIO m) => GType -> GType -> m ()
- typeInterfaceGetPlugin :: (HasCallStack, MonadIO m) => GType -> GType -> m TypePlugin
- typeInterfacePeek :: (HasCallStack, MonadIO m) => TypeClass -> GType -> m TypeInterface
- data TypeInterfacePeekParentMethodInfo
- typeInterfacePeekParent :: (HasCallStack, MonadIO m) => TypeInterface -> m TypeInterface
- typeInterfacePrerequisites :: (HasCallStack, MonadIO m) => GType -> m [GType]
Exported types
newtype TypeInterface #
Constructors
| TypeInterface (ManagedPtr TypeInterface) |
Instances
| WrappedPtr TypeInterface # | |
| (~) AttrOpTag tag AttrSet => Constructible TypeInterface tag # | |
| ((~) * info (ResolveTypeInterfaceMethod t TypeInterface), MethodInfo * info TypeInterface p) => IsLabel t (TypeInterface -> p) # | |
| ((~) * info (ResolveTypeInterfaceMethod t TypeInterface), MethodInfo * info TypeInterface p) => IsLabelProxy t (TypeInterface -> p) # | |
| HasAttributeList * TypeInterface # | |
| ((~) * signature (m TypeInterface), MonadIO m) => MethodInfo * TypeInterfacePeekParentMethodInfo TypeInterface signature # | |
| type AttributeList TypeInterface # | |
newZeroTypeInterface :: MonadIO m => m TypeInterface #
Construct a TypeInterface struct initialized to zero.
Methods
addPrerequisite
typeInterfaceAddPrerequisite #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => GType |
|
| -> GType |
|
| -> m () |
Adds prerequisiteType to the list of prerequisites of interfaceType.
This means that any type implementing interfaceType must also implement
prerequisiteType. Prerequisites can be thought of as an alternative to
interface derivation (which GType doesn't support). An interface can have
at most one instantiatable prerequisite type.
getPlugin
Arguments
| :: (HasCallStack, MonadIO m) | |
| => GType |
|
| -> GType |
|
| -> m TypePlugin | Returns: the |
Returns the TypePlugin structure for the dynamic interface
interfaceType which has been added to instanceType, or Nothing
if interfaceType has not been added to instanceType or does
not have a TypePlugin structure. See typeAddInterfaceDynamic.
peek
Arguments
| :: (HasCallStack, MonadIO m) | |
| => TypeClass |
|
| -> GType |
|
| -> m TypeInterface | Returns: the |
Returns the TypeInterface structure of an interface to which the
passed in class conforms.
peekParent
data TypeInterfacePeekParentMethodInfo #
Instances
| ((~) * signature (m TypeInterface), MonadIO m) => MethodInfo * TypeInterfacePeekParentMethodInfo TypeInterface signature # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => TypeInterface |
|
| -> m TypeInterface | Returns: the
corresponding |
Returns the corresponding TypeInterface structure of the parent type
of the instance type to which gIface belongs. This is useful when
deriving the implementation of an interface from the parent type and
then possibly overriding some methods.
prerequisites
Arguments
| :: (HasCallStack, MonadIO m) | |
| => GType |
|
| -> m [GType] | Returns: a
newly-allocated zero-terminated array of |
Returns the prerequisites of an interfaces type.
Since: 2.2