| Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
|---|---|
| License | LGPL-2.1 |
| Maintainer | Iñaki García Etxebarria |
| Safe Haskell | None |
| Language | Haskell2010 |
GI.GObject.Structs.TypeInterface
Description
An opaque structure used as the base of all interface types.
Synopsis
- 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
- typeInterfacePeekParent :: (HasCallStack, MonadIO m) => TypeInterface -> m TypeInterface
- typeInterfacePrerequisites :: (HasCallStack, MonadIO m) => GType -> m [GType]
Exported types
newtype TypeInterface Source #
Memory-managed wrapper type.
Constructors
| TypeInterface (ManagedPtr TypeInterface) |
Instances
| Eq TypeInterface Source # | |
Defined in GI.GObject.Structs.TypeInterface Methods (==) :: TypeInterface -> TypeInterface -> Bool # (/=) :: TypeInterface -> TypeInterface -> Bool # | |
| WrappedPtr TypeInterface Source # | |
Defined in GI.GObject.Structs.TypeInterface Methods wrappedPtrCalloc :: IO (Ptr TypeInterface) # | |
| tag ~ 'AttrSet => Constructible TypeInterface tag Source # | |
Defined in GI.GObject.Structs.TypeInterface Methods new :: MonadIO m => (ManagedPtr TypeInterface -> TypeInterface) -> [AttrOp TypeInterface tag] -> m TypeInterface # | |
newZeroTypeInterface :: MonadIO m => m TypeInterface Source #
Construct a TypeInterface struct initialized to zero.
noTypeInterface :: Maybe TypeInterface Source #
A convenience alias for Nothing :: Maybe TypeInterface.
Methods
Overloaded methods
addPrerequisite
typeInterfaceAddPrerequisite Source #
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
typeInterfaceGetPlugin Source #
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
typeInterfacePeekParent Source #
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
typeInterfacePrerequisites Source #
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