### Method

# Peas Engine create_extensionv

#### Declaration [src]

    PeasExtension*
    peas_engine_create_extensionv (
      PeasEngine* engine,
      PeasPluginInfo* info,
      GType extension_type,
      guint n_parameters,
      GParameter* parameters
    )

#### Description [src]

If the plugin identified by `info` implements the `extension_type`, then this function will return a new instance of this implementation, wrapped in a new `PeasExtension` instance.

Otherwise, it will return `NULL`.

Since libpeas 1.22, `extension_type` can be an Abstract `GType` and not just an Interface `GType`.

See `peas_engine_create_extension()` for more information.

This method is not directly available to language bindings.

#### Parameters

`info`

  Type: `PeasPluginInfo`

  A loaded `PeasPluginInfo`.

  The data is owned by the caller of the method.

`extension_type`

  Type: `GType`

  The implemented extension `GType`.

`n_parameters`

  Type: `guint`

  The length of the `parameters` array.

`parameters`

  Type: An array of `GParameter`

  an array of `GParameter`.

  The argument can be `NULL`.
  The length of the array is specified in the `n_parameters` argument.
  The data is owned by the caller of the method.

#### Return value

Type: `PeasExtension`

A new instance of `PeasExtension` wrapping the `extension_type` instance, or `NULL`.

The caller of the method takes ownership of the returned data, and is responsible for freeing it.