### Class

# Peas Engine

#### Description [src]

    class Peas.Engine : GObject.Object
    {
      /* No available fields */
    }

The `PeasEngine` structure contains only private data and should only be accessed using the provided API.

#### Hierarchy

#### Ancestors

- GObject

#### Constructors

###### peas_engine_new

Return a new instance of `PeasEngine`.

###### peas_engine_new_with_nonglobal_loaders

Return a new instance of `PeasEngine` which will use non-global plugin loaders instead of the default global ones.

since: 1.14

#### Functions

###### peas_engine_get_default

Return the existing instance of `PeasEngine` or a subclass of it.

#### Instance methods

###### peas_engine_add_search_path

Appends a search path to the list of paths where to look for plugins.

###### peas_engine_create_extension

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`.

###### peas_engine_create_extension_valist

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`.

###### peas_engine_create_extension_with_properties

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: 1.24

###### peas_engine_create_extensionv

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.

###### peas_engine_enable_loader

Enable a loader, enables a loader for plugins.

###### peas_engine_garbage_collect

Triggers garbage collection on all the loaders currently owned by the `PeasEngine`.

###### peas_engine_get_loaded_plugins

Returns the list of the names of all the loaded plugins.

###### peas_engine_get_plugin_info

Gets the `PeasPluginInfo` corresponding with `plugin_name`, or `NULL` if `plugin_name` was not found.

###### peas_engine_get_plugin_list

Returns the list of `PeasPluginInfo` known to the engine.

###### peas_engine_load_plugin

Loads the plugin corresponding to `info` if it’s not currently loaded.

###### peas_engine_prepend_search_path

Prepends a search path to the list of paths where to look for plugins.

since: 1.6

###### peas_engine_provides_extension

Returns if `info` provides an extension for `extension_type`.

###### peas_engine_rescan_plugins

Rescan all the registered directories to find new or updated plugins.

###### peas_engine_set_loaded_plugins

Sets the list of loaded plugins for `engine`.

###### peas_engine_unload_plugin

Unloads the plugin corresponding to `info`.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

#### Properties

###### Peas.Engine:loaded-plugins

The list of loaded plugins.

###### Peas.Engine:nonglobal-loaders

If non-global plugin loaders should be used.

since: 1.14

###### Peas.Engine:plugin-list

The list of found plugins.

#### Signals

###### Peas.Engine::load-plugin

The load-plugin signal is emitted when a plugin is being loaded.

###### Peas.Engine::unload-plugin

The unload-plugin signal is emitted when a plugin is being unloaded.

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct PeasEngineClass {
      GObjectClass parent_class;
      void (* load_plugin) (
        PeasEngine* engine,
        PeasPluginInfo* info
      );
      void (* unload_plugin) (
        PeasEngine* engine,
        PeasPluginInfo* info
      );

    }

Class structure for `PeasEngine`.

###### Class members

`parent_class: GObjectClass`

  The parent class.

`load_plugin: void (* load_plugin) ( PeasEngine* engine, PeasPluginInfo* info )`

  Signal class handler for the `PeasEngine::load-plugin` signal.

`unload_plugin: void (* unload_plugin) ( PeasEngine* engine, PeasPluginInfo* info )`

  Signal class handler for the `PeasEngine::unload-plugin` signal.

#### Virtual methods

###### Peas.EngineClass.load_plugin

Signal class handler for the `PeasEngine::load-plugin` signal.

###### Peas.EngineClass.unload_plugin

Signal class handler for the `PeasEngine::unload-plugin` signal.