From 8e4b79936d79e1fb33947fbfbea1f69141488790 Mon Sep 17 00:00:00 2001 From: Christian Persch Date: Fri, 21 Oct 2005 15:31:19 +0000 Subject: Expose the extension description keyfile directly to the loaders. 2005-10-21 Christian Persch * lib/ephy-loader.c: (ephy_loader_get_object): * lib/ephy-loader.h: * lib/ephy-module.c: (ephy_module_load), (ephy_module_new): * lib/ephy-module.h: * lib/ephy-shlib-loader.c: (impl_get_object), (ephy_shlib_loader_class_init): * src/ephy-extensions-manager.c: (free_extension_info), (ephy_extensions_manager_load_ini_string), (get_loader_for_type), (load_extension): * src/ephy-python-loader.c: (impl_get_object): Expose the extension description keyfile directly to the loaders. --- lib/ephy-module.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'lib/ephy-module.c') diff --git a/lib/ephy-module.c b/lib/ephy-module.c index 9572d2010..39bf5b35c 100644 --- a/lib/ephy-module.c +++ b/lib/ephy-module.c @@ -42,6 +42,7 @@ struct _EphyModule char *path; GType type; + guint resident : 1; }; typedef GType (*EphyModuleRegisterFunc) (GTypeModule *); @@ -139,6 +140,11 @@ ephy_module_load (GTypeModule *gmodule) return FALSE; } + if (module->resident) + { + g_module_make_resident (module->library); + } + return TRUE; } @@ -209,7 +215,8 @@ ephy_module_class_init (EphyModuleClass *class) } EphyModule * -ephy_module_new (const char *path) +ephy_module_new (const char *path, + gboolean resident) { EphyModule *result; @@ -222,6 +229,7 @@ ephy_module_new (const char *path) g_type_module_set_name (G_TYPE_MODULE (result), path); result->path = g_strdup (path); + result->resident = resident != FALSE; return result; } -- cgit v1.2.3