gi-gobject-2.0.22: GObject bindings
CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellNone
LanguageHaskell2010

GI.GObject.Structs.TypeInterface

Description

An opaque structure used as the base of all interface types.

Synopsis

Exported types

newZeroTypeInterface :: MonadIO m => m TypeInterface Source #

Construct a TypeInterface struct initialized to zero.

Methods

Overloaded methods

addPrerequisite

typeInterfaceAddPrerequisite Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> GType

interfaceType: GType value of an interface type

-> GType

prerequisiteType: GType value of an interface or instantiatable type

-> 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

instanceType: GType of an instantiatable type

-> GType

interfaceType: GType of an interface type

-> m TypePlugin

Returns: the TypePlugin for the dynamic interface interfaceType of instanceType

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

typeInterfacePeek Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> TypeClass

instanceClass: a TypeClass structure

-> GType

ifaceType: an interface ID which this class conforms to

-> m TypeInterface

Returns: the TypeInterface structure of ifaceType if implemented by instanceClass, Nothing otherwise

Returns the TypeInterface structure of an interface to which the passed in class conforms.

peekParent

typeInterfacePeekParent Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> TypeInterface

gIface: a TypeInterface structure

-> m TypeInterface

Returns: the corresponding TypeInterface structure of the parent type of the instance type to which gIface belongs, or Nothing if the parent type doesn't conform to the interface

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

interfaceType: an interface type

-> m [GType]

Returns: a newly-allocated zero-terminated array of GType containing the prerequisites of interfaceType

Returns the prerequisites of an interfaces type.

Since: 2.2