### Struct

# GObject TypeInterface

since: 2.0

#### Description

    struct GTypeInterface {
      /* No available fields */
    }

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

Available since: 2.0

#### Functions

###### g_type_interface_add_prerequisite

Adds `prerequisite_type` to the list of prerequisites of `interface_type`. This means that any type implementing `interface_type` must also implement `prerequisite_type`. 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.

since: 2.0

###### g_type_interface_get_plugin

Returns the `GTypePlugin` structure for the dynamic interface `interface_type` which has been added to `instance_type`, or `NULL` if `interface_type` has not been added to `instance_type` or does not have a `GTypePlugin` structure. See g_type_add_interface_dynamic().

since: 2.0

###### g_type_interface_instantiatable_prerequisite

Returns the most specific instantiatable prerequisite of an interface type. If the interface type has no instantiatable prerequisite, `G_TYPE_INVALID` is returned.

since: 2.68

###### g_type_interface_peek

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

since: 2.0

###### g_type_interface_prerequisites

Returns the prerequisites of an interfaces type.

since: 2.2

#### Instance methods

###### g_type_interface_peek_parent

Returns the corresponding `GTypeInterface` structure of the parent type of the instance type to which `g_iface` belongs. This is useful when deriving the implementation of an interface from the parent type and then possibly overriding some methods.

since: 2.0