[Geany-Devel] RFC: Proxy plugins

Dimitar Zhekov dimitar.zhekov at xxxxx
Fri May 16 17:32:28 UTC 2014


On Fri, 16 May 2014 16:59:17 +0200
Thomas Martitz <kugel at rockbox.org> wrote:

> I have a question regarding libpeas. There doesn't seem to be a public 
> (nor documented) API to add loaders. From what I can see the current 
> language support of libpeas is quite poor (only python and seed (that's 
> JS isnt it?)). Also, they don't seem to very committed to maintaining 
> their loaders[1].
> 
> I think we want to maintain the ability to add loaders on our own, 
> without depending on a 3rd party project. Especially for potentially 
> creating a compat-loader for our existing plugins. It doesn't seem 
> libpeas readily supports this. Unless I'm missing something.

The loaders (except for C) are plugins, and the build-in ones are
installed in /usr/lib/libpeas-<version>/loaders/ as .so libraries.
For example, peas-plugin-loader-python.c contains:

G_MODULE_EXPORT void
peas_register_types (PeasObjectModule *module) <-- as a regular plugin
{
  peas_object_module_register_extension_type (module,
    PEAS_TYPE_PLUGIN_LOADER,
    PEAS_TYPE_PLUGIN_LOADER_PYTHON);
}

And for the next probable question, there is no search for .py files,
instead the plugin .ini file (foo.plugin) specifies which loader should
be used (C if missing).

-- 
E-gards: Jimmy


More information about the Devel mailing list