How ?! For this to work requires that the plugin registrar inherits from TypeModule.
I quickly rewrote the example but it does not work: $ valac --pkg=gmodule-2.0 --debug *.vala && ./main > main.vala:10.1-10.41: warning: unable to chain up to private base > constructor > public class PluginRegistrar : TypeModule > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > Compilation succeeded - 1 warning(s) > > (process:18546): GLib-GObject-CRITICAL **: g_object_newv: assertion > `G_TYPE_IS_OBJECT (object_type)' failed > Erreur de segmentation > And in a real application I have an error like: g_type_plugin_* invalidly modified type > With the object creation. 2010/6/10 JM <interfl...@gmx.net> > Hello Abderrahim > Thanks for reply! > I somehow got the error message in a wrong way, because I thought the > "[ModuleInit]" annotation itself needed some extra info. > Now it's working fine again. > Sorry for the hassle. > Regards > Jörn > > > > > Hi, > > > > 2010/6/10, JM <interfl...@gmx.net>: > > > Hello everybody > > > This valac commit shows that there has been some change with > > > [ModuleInit]: > > > > http://git.gnome.org/browse/vala/commit/?id=5fd7b8cebb983fccdebcd9329671d94c1e5cf826 > > > > > > The example on http://live.gnome.org/Vala/TypeModules is showing an > > > example exactly as I am using it in my application: > > > > > > [ModuleInit] > > > public Type register_plugin (TypeModule module) { > > > // types are registered automatically > > > return typeof (MyPlugin); > > > } > > > > > > Here, valac reports "error: [ModuleInit] requires a parameter of type > `GLib.TypeModule' > > > public Type init_module() {" > > > > I'm not sure I understand your problem, in the example register_plugin > > takes a TypeModule as parameter but from what I see in the error > > message, your init_module doesn't take any parameter, and that's what > > valac is saying. > > > > > > > > Can someone please tell me what the expected usage of > > > [ModuleInit] would be? > > > > a [ModuleInit] function is called by the application when a plugin is > > loaded. It should have at least a TypeModule argument so that the > > plugin types can be registered dinamically. (It generally returns the > > type of the main plugin class for the application to create an > > instance, but that's not mandatory : the application can find it out > > from e.g. the plugin description file if there is one). > > > > HTH, > > Abderrahim > > > _______________________________________________ > vala-list mailing list > vala-list@gnome.org > http://mail.gnome.org/mailman/listinfo/vala-list > -- Nicolas Joseph
module.tar.gz
Description: GNU Zip compressed data
_______________________________________________ vala-list mailing list vala-list@gnome.org http://mail.gnome.org/mailman/listinfo/vala-list