Depends on D1746
- Maniphest Tasks
- T3193: Add a plugin system
- rPTVed321acfa2e8: pluginmanager: Create PluginManager to handle plugins and extensions
add a pydoc about where to get elements for this list?
Do we really need this method? :) Better integrate it in __init__, it doesn't even have a pydoc :P
This is not used anywhere, and it does not do much. Do you want it?
I see you can also use http://lazka.github.io/pgi-docs/#GObject-2.0/classes/Value.html#GObject.Value.init_from_instance .. but why is this value object needed?
This one also does not do much, integrate it in __init__?
This can raise an exception! If it's missing, just don't add it as a search path?
Strange that we need to call activate/deactivate ourselves.
newline above, for consistency
Add a comment about where to get possible values for this list.
comment not useful, can be removed
If you want you could make it a plugins @property so it does not start to look like Java code :)
why is this needed?
Does not really matter, but you can also make it @static since cls is also not used.
Because that is the callback that gets executed as soon you activate a plugin. In that callback function I call to extension.activate() to execute the plugin's code that activates the plugin. Because it is handling only Peas.Activatable extension types, it makes sense to call only extension.activate(). In the case the plugin implements more interfaces (imagine they have vfuncs do_load, do_open) in that callback I would call extension.load(); extension.open(); extension.activate().
Hm, ok, so an extension is a plugin.
// For possible values see https://developer.gnome.org/libpeas/stable/PeasEngine.html#peas-engine-enable-loader