]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
libvaladoc: fix plugin system to work with latest valac
authorEvan Nemerson <evan@coeus-group.com>
Thu, 6 May 2010 11:30:38 +0000 (13:30 +0200)
committerFlorian Brosch <flo.brosch@gmail.com>
Thu, 6 May 2010 11:30:38 +0000 (13:30 +0200)
src/doclets/devhelp/doclet.vala
src/doclets/gtkdoc/doclet.vala
src/doclets/htm/doclet.vala
src/doclets/valadoc.org/doclet.vala
src/doclets/xml/doclet.vala
src/libvaladoc/doclet.vala
src/libvaladoc/moduleloader.vala
src/valadoc/valadoc.vala

index 07280c3bd8c7dd93f79e30e6c9492a54b39b2e81..e06a94638e4f85ed4a67137d9fa38649c05b46b7 100755 (executable)
@@ -231,7 +231,7 @@ public class Valadoc.Devhelp.Doclet : Valadoc.Html.BasicDoclet {
 }
 
 [ModuleInit]
-public Type register_plugin () {
+public Type register_plugin (GLib.TypeModule module) {
        return typeof (Valadoc.Devhelp.Doclet);
 }
 
index d2e6e2a95a9b45c881d33a112b349bebd9e6f553..a373d98362c0e2a1ebc080d803c2c983165734dc 100644 (file)
@@ -374,7 +374,7 @@ public class Gtkdoc.Director : Valadoc.Doclet, Object {
 }
 
 [ModuleInit]
-public Type register_plugin ( ) {
+public Type register_plugin (GLib.TypeModule module) {
        return typeof ( Gtkdoc.Director );
 }
 
index a9e5176477755c232ac1478d7dcf48a21648daf4..18e56d3d11b806ef21395eb90d5cd23d344440a1 100755 (executable)
@@ -177,7 +177,7 @@ public class Valadoc.HtmlDoclet : Valadoc.Html.BasicDoclet {
 }
 
 [ModuleInit]
-public Type register_plugin ( ) {
+public Type register_plugin (GLib.TypeModule module) {
        return typeof ( Valadoc.HtmlDoclet );
 }
 
index d6c893ca905bb6c99cd90f25bf4a0874d8134cfe..af2dbffaf904590e4a99d908fd7054d8abcb7823 100755 (executable)
@@ -223,7 +223,7 @@ public class Valadoc.ValadocOrg.Doclet : Valadoc.Html.BasicDoclet {
 }
 
 [ModuleInit]
-public Type register_plugin () {
+public Type register_plugin (GLib.TypeModule module) {
        return typeof (Valadoc.ValadocOrg.Doclet);
 }
 
index 731d04a89f784693ccfe8be27d67d90adc0e0b0e..e053001d7c86104cff2f6ac8507aaada5981da20 100755 (executable)
@@ -137,6 +137,6 @@ public class Valadoc.Xml.Doclet : Api.Visitor, Valadoc.Doclet {
 }
 
 [ModuleInit]
-public Type register_plugin () {
+public Type register_plugin (GLib.TypeModule module) {
        return typeof (Valadoc.Xml.Doclet);
 }
index dc72cde4af0d382209b9cc86ae86c27333b26ae9..847e5e7e14d8db30dbec4bd923ed8b9db9cc849b 100755 (executable)
@@ -23,7 +23,7 @@
 using Gee;
 
 [CCode (has_target = false)]
-public delegate Type Valadoc.DocletRegisterFunction ( );
+public delegate Type Valadoc.DocletRegisterFunction (GLib.TypeModule module);
 
 public interface Valadoc.Doclet : GLib.Object {
        public abstract void process (Settings settings, Api.Tree tree);
index 616a1893235a512595a7c7eb189c3d48c9597d80..20519488298c87b8fca2d85c506a99c64df16bce 100755 (executable)
@@ -27,7 +27,7 @@ using Gee;
 public delegate  void Valadoc.TagletRegisterFunction (ModuleLoader loader);
 
 
-public class Valadoc.ModuleLoader : Object {
+public class Valadoc.ModuleLoader : TypeModule {
        public Doclet doclet;
 
        public HashMap<string, GLib.Type> taglets = new HashMap<string, Type> (GLib.str_hash, GLib.str_equal);
@@ -35,22 +35,21 @@ public class Valadoc.ModuleLoader : Object {
        private Module docletmodule;
        private Type doclettype;
 
-       public bool load (string path) {
-               bool tmp = this.load_doclet (path);
-               if (tmp == false) {
-                       return false;
-               }
+       public override bool load () {
                return true;
        }
 
+       public override void unload() {
+       }
+
        public Content.Taglet? create_taglet (string keyword) {
                return (taglets.has_key (keyword))? (Content.Taglet) GLib.Object.new (taglets.get (keyword)) : null;
        }
 
-       private bool load_doclet (string path) {
+       public bool load_doclet (string path) {
                void* function;
 
-               docletmodule = Module.open (Module.build_path (path, "libdoclet"), ModuleFlags.BIND_LAZY);
+               docletmodule = Module.open (Module.build_path (path, "libdoclet"), ModuleFlags.BIND_LAZY | ModuleFlags.BIND_LOCAL);
                if (docletmodule == null) {
                        return false;
                }
@@ -61,7 +60,7 @@ public class Valadoc.ModuleLoader : Object {
                }
 
                Valadoc.DocletRegisterFunction doclet_register_function = (Valadoc.DocletRegisterFunction) function;
-               doclettype = doclet_register_function ();
+               doclettype = doclet_register_function (this);
                this.doclet = (Doclet)GLib.Object.new (doclettype);
                return true;
        }
index fa421341b30f4566a7d5b8544f5acbd98eedeac2..a0be66b235802295f8824c2a66847b9f104c7be2 100755 (executable)
@@ -182,7 +182,7 @@ public class ValaDoc : Object {
 
                ModuleLoader modules = new ModuleLoader ();
                Taglets.init (modules);
-               bool tmp = modules.load (fulldirpath);
+               bool tmp = modules.load_doclet (fulldirpath);
                if (tmp == false) {
                        reporter.simple_error ("failed to load plugin");
                        return quit (reporter);