Re: [anjuta-devel] libpeas



Hi Johannes,

Le 23/08/2010 14:32, Johannes Schmid a écrit :
Libpeas could replace at lot of code in libanjuta and not only the
loaders.

Indeed, the normal way to use libpeas is to replace not AnjutaPlugin code in libanjuta not only the loader but I think this is not possible without some changes in Anjuta interfaces design.


For the issue you mention in the documentation I had contact
with the author and here is a solution for some of that:
https://bugzilla.gnome.org/show_bug.cgi?id=627338

I think this bug fix doesn't change the main issue. This allows to call an interface function in a more natural way but I think it doesn't change inside. I means peas_activatable_activate doesn't call the interface function but goes through a wrapper that probably transform the arguments before calling the interface function of the object defined in the plugin.

By design, libpeas doesn't provide an access to the real GObject classes defined in plugins, so you cannot implement a real GObject in a plugin. You can only call function on this object. But you can do much more things with a real GObject, derive it, add properties, connect a signal...

Anjuta plugin system doesn't have such limitation. There is no difference between an GObject defined in a plugin or in libanjuta. This is working with plugins in python too.

I'm not completely sure, but I think this possibility is already used in Anjuta. By example, the document manager probably call g_object_unref on editor object created by scintilla of sourceview plugin.

With libpeas, I think it will not be possible, you will probably have to add a special free_editor function that is doing it. So we can use libpeas but it's something different than our current plugin system.

Regards,

Sébastien



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]