aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ephy-module.c
diff options
context:
space:
mode:
authorChristian Persch <chpe@cvs.gnome.org>2005-10-21 23:31:19 +0800
committerChristian Persch <chpe@src.gnome.org>2005-10-21 23:31:19 +0800
commit8e4b79936d79e1fb33947fbfbea1f69141488790 (patch)
tree3ea3a4c212b43be8b3526d5098800a61f63b1d41 /lib/ephy-module.c
parent944263b78b78513f86b48dd74a1ba9900f05ed10 (diff)
downloadgsoc2013-epiphany-8e4b79936d79e1fb33947fbfbea1f69141488790.tar
gsoc2013-epiphany-8e4b79936d79e1fb33947fbfbea1f69141488790.tar.gz
gsoc2013-epiphany-8e4b79936d79e1fb33947fbfbea1f69141488790.tar.bz2
gsoc2013-epiphany-8e4b79936d79e1fb33947fbfbea1f69141488790.tar.lz
gsoc2013-epiphany-8e4b79936d79e1fb33947fbfbea1f69141488790.tar.xz
gsoc2013-epiphany-8e4b79936d79e1fb33947fbfbea1f69141488790.tar.zst
gsoc2013-epiphany-8e4b79936d79e1fb33947fbfbea1f69141488790.zip
Expose the extension description keyfile directly to the loaders.
2005-10-21 Christian Persch <chpe@cvs.gnome.org> * 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.
Diffstat (limited to 'lib/ephy-module.c')
-rw-r--r--lib/ephy-module.c10
1 files changed, 9 insertions, 1 deletions
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;
}