create_extension


Description:

public Extension create_extension (PluginInfo info, Type extension_type, ...)

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 [alias@Extension] instance.

Otherwise, it will return null.

When creating the new instance of the extension_type subtype, the provided construct properties will be passed to the extension construction handler (exactly like if you had called [ctor@GObject.Object.new] yourself).

The new extension instance produced by this function will always be returned wrapped in a Extension proxy, following the current libpeas principle of never giving you the actual object (also because it might as well *not* be an actual object).

Since libpeas 1.22, extension_type can be an Abstract [alias@GObject.Type] and not just an Interface [alias@GObject.Type].

Parameters:

this

A Engine.

info

A loaded PluginInfo.

extension_type

The implemented extension Type.

...

the value of the first property, followed optionally by more name/value pairs, followed by null.

first_property

the name of the first property.

Returns:

a new instance of Extension wrapping the extension_type instance, or null.