### Function

# GObject type_register_dynamic

since: 2.0

#### Declaration

    GType
    g_type_register_dynamic (
      GType parent_type,
      const gchar* type_name,
      GTypePlugin* plugin,
      GTypeFlags flags
    )

#### Description

Registers `type_name` as the name of a new dynamic type derived from `parent_type`. The type system uses the information contained in the `GTypePlugin` structure pointed to by `plugin` to manage the type and its instances (if not abstract). The value of `flags` determines the nature (e.g. abstract or not) of the type.

Available since: 2.0

#### Parameters

`parent_type`

  Type: `GType`

  Type from which this type will be derived.

`type_name`

  Type: `const gchar*`

  0-terminated string used as the name of the new type.

  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`plugin`

  Type: `GTypePlugin`

  `GTypePlugin` structure to retrieve the `GTypeInfo` from.

  The data is owned by the caller of the function.

`flags`

  Type: `GTypeFlags`

  Bitwise combination of `GTypeFlags` values.

#### Return value

Type: `GType`

The new type identifier or `G_TYPE_INVALID` if registration failed.