Peas.Engine.create_extension_with_properties

### Method

# Peas Enginecreate_extension_with_properties

#### Declaration [src]

    GObject*
    peas_engine_create_extension_with_properties (
      PeasEngine* engine,
      PeasPluginInfo* info,
      GType extension_type,
      guint n_properties,
      const char** prop_names,
      const GValue* prop_values
    )

#### Description [src]

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

See `peas_engine_create_extension()` for more information.

This method is renamed to `peas_engine_create_extension()` in 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_properties`

  Type: `guint`

  The length of the `prop_names` and `prop_values` array.

`prop_names`

  Type: An array of `char*`

  An array of property names.

  The length of the array is specified in the `n_properties` argument.
  The data is owned by the caller of the method.
  Each element is a NUL terminated UTF-8 string.

`prop_values`

  Type: An array of `GValue`

  An array of property values.

  The length of the array is specified in the `n_properties` argument.
  The data is owned by the caller of the method.

#### Return value

Type: `GObject`

A new instance of `GObject` which meets the prerequisites of `extension_type`, or `NULL`.

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