### Constructor

# Peas ExtensionSet new

#### Declaration [src]

    PeasExtensionSet*
    peas_extension_set_new (
      PeasEngine* engine,
      GType exten_type,
      const gchar* first_property,
      ...
    )

#### Description [src]

Create a new `PeasExtensionSet` for the `exten_type` extension type.

At any moment, the `PeasExtensionSet` will contain an extension instance for each loaded plugin which implements the `exten_type` extension type. It does so by connecting to the relevant signals from `PeasEngine`.

The property values passed to `peas_extension_set_new()` will be used for the construction of new extension instances.

If `engine` is `NULL`, then the default engine will be used.

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

See `peas_engine_create_extension()` for more information.

This constructor is not directly available to language bindings.

The implementation of this constructor is provided by `()` in language bindings.

#### Parameters

`engine`

  Type: `PeasEngine`

  A `PeasEngine`, or `NULL`.

  The argument can be `NULL`.
  The data is owned by the caller of the function.

`exten_type`

  Type: `GType`

  The extension `GType`.

`first_property`

  Type: `const gchar*`

  The name of the first property.

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

`...`

  Type: ``

  The value of the first property, followed optionally by more name/value pairs, followed by `NULL`.

#### Return value

Type: `PeasExtensionSet`

A new instance of `PeasExtensionSet`.

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