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 [[email protected]] 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 [[email protected]] and not just an Interface [[email protected]].
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. |
a new instance of Extension wrapping the |