gedit r6264 - in trunk: . gedit



Author: sfre
Date: Mon May  5 11:00:38 2008
New Revision: 6264
URL: http://svn.gnome.org/viewvc/gedit?rev=6264&view=rev

Log:
New function gedit_plugins_engine_get_plugin_info()

This function finds a plugin info in the available plugins list.


Modified:
   trunk/ChangeLog
   trunk/gedit/gedit-plugins-engine.c
   trunk/gedit/gedit-plugins-engine.h

Modified: trunk/gedit/gedit-plugins-engine.c
==============================================================================
--- trunk/gedit/gedit-plugins-engine.c	(original)
+++ trunk/gedit/gedit-plugins-engine.c	Mon May  5 11:00:38 2008
@@ -84,13 +84,6 @@
 static void	gedit_plugins_engine_deactivate_plugin_real (GeditPluginsEngine *engine,
 							     GeditPluginInfo    *info);
 
-static gint
-compare_plugin_info (GeditPluginInfo *info1,
-		     GeditPluginInfo *info2)
-{
-	return strcmp (info1->module_name, info2->module_name);
-}
-
 static void
 gedit_plugins_engine_load_dir (GeditPluginsEngine *engine,
 			       const gchar        *dir,
@@ -129,9 +122,7 @@
 
 			/* If a plugin with this name has already been loaded
 			 * drop this one (user plugins override system plugins) */
-			if (g_list_find_custom (engine->priv->plugin_list,
-						info,
-						(GCompareFunc)compare_plugin_info) != NULL)
+			if (gedit_plugins_engine_get_plugin_info (engine, info->module_name) != NULL)
 			{
 				g_warning ("Two or more plugins named '%s'. "
 					   "Only the first will be considered.\n",
@@ -331,6 +322,23 @@
 	return engine->priv->plugin_list;
 }
 
+static gint
+compare_plugin_info_and_name (GeditPluginInfo *info,
+			      const gchar *module_name)
+{
+	return strcmp (info->module_name, module_name);
+}
+
+GeditPluginInfo *
+gedit_plugins_engine_get_plugin_info (GeditPluginsEngine *engine,
+				      const gchar        *name)
+{
+	GList *l = g_list_find_custom (engine->priv->plugin_list,
+				       name,
+				       (GCompareFunc) compare_plugin_info_and_name);
+	return l == NULL ? NULL : (GeditPluginInfo *) l->data;
+}
+
 static gboolean
 load_plugin_module (GeditPluginInfo *info)
 {

Modified: trunk/gedit/gedit-plugins-engine.h
==============================================================================
--- trunk/gedit/gedit-plugins-engine.h	(original)
+++ trunk/gedit/gedit-plugins-engine.h	Mon May  5 11:00:38 2008
@@ -75,6 +75,9 @@
 
 const GList	*gedit_plugins_engine_get_plugin_list 	(GeditPluginsEngine *engine);
 
+GeditPluginInfo	*gedit_plugins_engine_get_plugin_info	(GeditPluginsEngine *engine,
+							 const gchar        *name);
+
 gboolean 	 gedit_plugins_engine_activate_plugin 	(GeditPluginsEngine *engine,
 							 GeditPluginInfo    *info);
 gboolean 	 gedit_plugins_engine_deactivate_plugin	(GeditPluginsEngine *engine,



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