gedit r6463 - in branches/new_plugins: . gedit plugin-loaders plugin-loaders/c plugin-loaders/python plugins/filebrowser



Author: jessevdk
Date: Wed Aug 27 10:25:40 2008
New Revision: 6463
URL: http://svn.gnome.org/viewvc/gedit?rev=6463&view=rev

Log:
Abstracted c plugin loader as pluggable module
Fixed interface implementation in filebrowser


Added:
   branches/new_plugins/plugin-loaders/
   branches/new_plugins/plugin-loaders/Makefile.am
   branches/new_plugins/plugin-loaders/c/
   branches/new_plugins/plugin-loaders/c/Makefile.am
   branches/new_plugins/plugin-loaders/c/cloader.gedit-plugin-loader.desktop.in
   branches/new_plugins/plugin-loaders/c/gedit-plugin-loader-c.c
      - copied, changed from r6462, /branches/new_plugins/gedit/gedit-plugin-loader-c.c
   branches/new_plugins/plugin-loaders/c/gedit-plugin-loader-c.h
      - copied, changed from r6462, /branches/new_plugins/gedit/gedit-plugin-loader-c.h
   branches/new_plugins/plugin-loaders/python/
Removed:
   branches/new_plugins/gedit/gedit-plugin-loader-c.c
   branches/new_plugins/gedit/gedit-plugin-loader-c.h
Modified:
   branches/new_plugins/configure.ac
   branches/new_plugins/gedit/Makefile.am
   branches/new_plugins/gedit/gedit-object-module.h
   branches/new_plugins/gedit/gedit-plugin-info.c
   branches/new_plugins/gedit/gedit-plugin-info.h
   branches/new_plugins/gedit/gedit-plugin-loader.h
   branches/new_plugins/gedit/gedit-plugin.h
   branches/new_plugins/gedit/gedit-plugins-engine.c
   branches/new_plugins/plugins/filebrowser/gedit-file-browser-store.c

Modified: branches/new_plugins/configure.ac
==============================================================================
--- branches/new_plugins/configure.ac	(original)
+++ branches/new_plugins/configure.ac	Wed Aug 27 10:25:40 2008
@@ -348,6 +348,9 @@
 PLUGIN_LIBTOOL_FLAGS="-module -avoid-version"
 AC_SUBST(PLUGIN_LIBTOOL_FLAGS)
 
+LOADER_LIBTOOL_FLAGS="-module -avoid-version"
+AC_SUBST(LOADER_LIBTOOL_FLAGS)
+
 AC_CONFIG_FILES([
 Makefile
 bindings/Makefile
@@ -365,6 +368,8 @@
 help/eu/Makefile
 help/ro/Makefile
 pixmaps/Makefile
+plugin-loaders/Makefile
+plugin-loaders/c/Makefile
 plugins/changecase/Makefile
 plugins/docinfo/Makefile
 plugins/externaltools/Makefile

Modified: branches/new_plugins/gedit/Makefile.am
==============================================================================
--- branches/new_plugins/gedit/Makefile.am	(original)
+++ branches/new_plugins/gedit/Makefile.am	Wed Aug 27 10:25:40 2008
@@ -70,7 +70,6 @@
 	gedit-local-document-saver.h	\
 	gedit-gio-document-saver.h	\
 	gedit-history-entry.h		\
-	gedit-plugin-loader-c.h		\
 	gedit-print-job.h		\
 	gedit-print-preview.h		\
 	gedit-io-error-message-area.h	\
@@ -155,7 +154,6 @@
 	gedit-plugin-info.c		\
 	gedit-plugin.c			\
 	gedit-plugin-loader.c		\
-	gedit-plugin-loader-c.c		\
 	gedit-plugin-manager.c		\
 	gedit-plugins-engine.c		\
 	gedit-prefs-manager-app.c	\

Modified: branches/new_plugins/gedit/gedit-object-module.h
==============================================================================
--- branches/new_plugins/gedit/gedit-object-module.h	(original)
+++ branches/new_plugins/gedit/gedit-object-module.h	Wed Aug 27 10:25:40 2008
@@ -87,6 +87,142 @@
 const gchar	*gedit_object_module_get_module_name		(GeditObjectModule *module);
 const gchar 	*gedit_object_module_get_type_registration 	(GeditObjectModule *module);
 
+
+/**
+ * GEDIT_OBJECT_MODULE_REGISTER_TYPE_WITH_CODE(type_registration, TypeName, type_name, PARENT_TYPE, CODE):
+ *
+ * Utility macro used to register types with additional code.
+ */
+#define GEDIT_OBJECT_MODULE_REGISTER_TYPE_WITH_CODE(type_registration, TypeName, type_name, PARENT_TYPE, CODE) \
+										\
+static GType g_define_type_id = 0;						\
+										\
+GType										\
+type_name##_get_type (void)							\
+{										\
+	return g_define_type_id;						\
+}										\
+										\
+static void     type_name##_init              (TypeName        *self);		\
+static void     type_name##_class_init        (TypeName##Class *klass);		\
+static gpointer type_name##_parent_class = NULL;				\
+static void     type_name##_class_intern_init (gpointer klass)			\
+{										\
+	type_name##_parent_class = g_type_class_peek_parent (klass);		\
+	type_name##_class_init ((TypeName##Class *) klass);			\
+}										\
+										\
+G_MODULE_EXPORT GType								\
+type_registration (GTypeModule *module)						\
+{										\
+	static const GTypeInfo our_info =					\
+	{									\
+		sizeof (TypeName##Class),					\
+		NULL, /* base_init */						\
+		NULL, /* base_finalize */					\
+		(GClassInitFunc) type_name##_class_intern_init,			\
+		NULL,								\
+		NULL, /* class_data */						\
+		sizeof (TypeName),						\
+		0, /* n_preallocs */						\
+		(GInstanceInitFunc) type_name##_init				\
+	};									\
+										\
+	g_define_type_id = g_type_module_register_type (module,			\
+					    PARENT_TYPE,			\
+					    #TypeName,				\
+					    &our_info,				\
+					    0);					\
+										\
+	CODE									\
+										\
+	return g_define_type_id;						\
+}
+
+/**
+ * GEDIT_PLUGIN_REGISTER_TYPE(TypeName, type_name):
+ * 
+ * Utility macro used to register plugins.
+ */
+#define GEDIT_OBJECT_MODULE_REGISTER_TYPE(type_registration, TypeName, type_name, PARENT_TYPE) \
+	GEDIT_OBJECT_MODULE_REGISTER_TYPE_WITH_CODE(type_registration, TypeName, type_name, PARENT_TYPE, ;)
+
+/**
+ * GEDIT_PLUGIN_DEFINE_TYPE_WITH_CODE(ObjectName, object_name, PARENT_TYPE, CODE):
+ *
+ * Utility macro used to register gobject types in plugins with additional code.
+ */
+#define GEDIT_OBJECT_MODULE_DEFINE_TYPE_WITH_CODE(ObjectName, object_name, PARENT_TYPE, CODE)	\
+										\
+static GType g_define_type_id = 0;						\
+										\
+GType										\
+object_name##_get_type (void)							\
+{										\
+	return g_define_type_id;						\
+}										\
+										\
+static void     object_name##_init              (ObjectName        *self);	\
+static void     object_name##_class_init        (ObjectName##Class *klass);	\
+static gpointer object_name##_parent_class = NULL;				\
+static void     object_name##_class_intern_init (gpointer klass)		\
+{										\
+	object_name##_parent_class = g_type_class_peek_parent (klass);		\
+	object_name##_class_init ((ObjectName##Class *) klass);			\
+}										\
+										\
+GType										\
+object_name##_register_type (GTypeModule *module)				\
+{										\
+	static const GTypeInfo our_info =					\
+	{									\
+		sizeof (ObjectName##Class),					\
+		NULL, /* base_init */						\
+		NULL, /* base_finalize */					\
+		(GClassInitFunc) object_name##_class_intern_init,		\
+		NULL,								\
+		NULL, /* class_data */						\
+		sizeof (ObjectName),						\
+		0, /* n_preallocs */						\
+		(GInstanceInitFunc) object_name##_init				\
+	};									\
+										\
+	g_define_type_id = g_type_module_register_type (module,			\
+					   	        PARENT_TYPE,		\
+					                #ObjectName,		\
+					                &our_info,		\
+					                0);			\
+										\
+	CODE									\
+										\
+	return g_define_type_id;						\
+}
+
+/**
+ * GEDIT_OBJECT_MODULE_DEFINE_TYPE(ObjectName, object_name, PARENT_TYPE):
+ *
+ * Utility macro used to register gobject types in plugins.
+ */
+#define GEDIT_OBJECT_MODULE_DEFINE_TYPE(ObjectName, object_name, PARENT_TYPE)	\
+	GEDIT_OBJECT_MODULE_DEFINE_TYPE_WITH_CODE(ObjectName, object_name, PARENT_TYPE, ;)
+
+/**
+ * GEDIT_OBJECT_MODULE_IMPLEMENT_INTERFACE(TYPE_IFACE, iface_init):
+ *
+ * Utility macro used to register interfaces for gobject types in plugins.
+ */
+#define GEDIT_OBJECT_MODULE_IMPLEMENT_INTERFACE(object_name, TYPE_IFACE, iface_init)	\
+	const GInterfaceInfo object_name##_interface_info = 			\
+	{ 									\
+		(GInterfaceInitFunc) iface_init,				\
+		NULL, 								\
+		NULL								\
+	};									\
+										\
+	g_type_module_add_interface (module, 					\
+				     g_define_type_id, 				\
+				     TYPE_IFACE, 				\
+				     &object_name##_interface_info);
 G_END_DECLS
 
 #endif

Modified: branches/new_plugins/gedit/gedit-plugin-info.c
==============================================================================
--- branches/new_plugins/gedit/gedit-plugin-info.c	(original)
+++ branches/new_plugins/gedit/gedit-plugin-info.c	Wed Aug 27 10:25:40 2008
@@ -42,10 +42,6 @@
 #include "gedit-debug.h"
 #include "gedit-plugin.h"
 
-#ifdef ENABLE_PYTHON
-#include "gedit-python-module.h"
-#endif
-
 void
 _gedit_plugin_info_ref (GeditPluginInfo *info)
 {

Modified: branches/new_plugins/gedit/gedit-plugin-info.h
==============================================================================
--- branches/new_plugins/gedit/gedit-plugin-info.h	(original)
+++ branches/new_plugins/gedit/gedit-plugin-info.h	Wed Aug 27 10:25:40 2008
@@ -33,7 +33,6 @@
 #define __GEDIT_PLUGIN_INFO_H__
 
 #include <glib-object.h>
-#include "gedit-module.h"
 
 G_BEGIN_DECLS
 

Modified: branches/new_plugins/gedit/gedit-plugin-loader.h
==============================================================================
--- branches/new_plugins/gedit/gedit-plugin-loader.h	(original)
+++ branches/new_plugins/gedit/gedit-plugin-loader.h	Wed Aug 27 10:25:40 2008
@@ -57,4 +57,47 @@
 
 void gedit_plugin_loader_garbage_collect	(GeditPluginLoader 	*loader);
 
+/**
+ * GEDIT_PLUGIN_LOADER_REGISTER_TYPE_WITH_CODE(PluginLoaderName, plugin_loader_name, CODE):
+ *
+ * Utility macro used to register plugins with additional code.
+ */
+#define GEDIT_PLUGIN_LOADER_REGISTER_TYPE_WITH_CODE(PluginLoaderName, plugin_loader_name, CODE) \
+	GEDIT_OBJECT_MODULE_REGISTER_TYPE_WITH_CODE (register_gedit_plugin_loader,	\
+						     PluginLoaderName,			\
+						     plugin_loader_name,		\
+						     G_TYPE_OBJECT,			\
+						     GEDIT_OBJECT_MODULE_IMPLEMENT_INTERFACE (cplugin_loader_iface, GEDIT_TYPE_PLUGIN_LOADER, gedit_plugin_loader_iface_init);	\
+						     CODE)
+/**
+ * GEDIT_PLUGIN_LOADER_REGISTER_TYPE(PluginName, plugin_name):
+ * 
+ * Utility macro used to register plugins.
+ */
+#define GEDIT_PLUGIN_LOADER_REGISTER_TYPE(PluginName, plugin_name)		\
+	GEDIT_PLUGIN_LOADER_REGISTER_TYPE_WITH_CODE(PluginName, plugin_name, ;)
+
+/**
+ * GEDIT_PLUGIN_LOADER_DEFINE_TYPE_WITH_CODE(ObjectName, object_name, PARENT_TYPE, CODE):
+ *
+ * Utility macro used to register gobject types in plugins with additional code.
+ */
+#define GEDIT_PLUGIN_LOADER_DEFINE_TYPE_WITH_CODE GEDIT_OBJECT_MODULE_DEFINE_TYPE_WITH_CODE
+
+/**
+ * GEDIT_PLUGIN_LOADER_DEFINE_TYPE(ObjectName, object_name, PARENT_TYPE):
+ *
+ * Utility macro used to register gobject types in plugins.
+ */
+#define GEDIT_PLUGIN_LOADER_DEFINE_TYPE(ObjectName, object_name, PARENT_TYPE)	\
+	GEDIT_PLUGIN_LOADER_DEFINE_TYPE_WITH_CODE(ObjectName, object_name, PARENT_TYPE, ;)
+
+/**
+ * GEDIT_PLUGIN_LOADER_IMPLEMENT_INTERFACE(TYPE_IFACE, iface_init):
+ *
+ * Utility macro used to register interfaces for gobject types in plugins.
+ */
+#define GEDIT_PLUGIN_LOADER_IMPLEMENT_INTERFACE(object_name, TYPE_IFACE, iface_init)	\
+	GEDIT_OBJECT_MODULE_IMPLEMENT_INTERFACE(object_name, TYPE_IFACE, iface_init)
+
 #endif /* __GEDIT_PLUGIN_LOADER_H__ */

Modified: branches/new_plugins/gedit/gedit-plugin.h
==============================================================================
--- branches/new_plugins/gedit/gedit-plugin.h	(original)
+++ branches/new_plugins/gedit/gedit-plugin.h	Wed Aug 27 10:25:40 2008
@@ -35,6 +35,7 @@
 
 #include <gedit/gedit-window.h>
 #include <gedit/gedit-debug.h>
+#include <gedit/gedit-object-module.h>
 
 /* TODO: add a .h file that includes all the .h files normally needed to
  * develop a plugin */ 
@@ -118,56 +119,15 @@
  * Utility macro used to register plugins with additional code.
  */
 #define GEDIT_PLUGIN_REGISTER_TYPE_WITH_CODE(PluginName, plugin_name, CODE)	\
-										\
-static GType plugin_name##_type = 0;						\
-										\
-GType										\
-plugin_name##_get_type (void)							\
-{										\
-	return plugin_name##_type;						\
-}										\
-										\
-static void     plugin_name##_init              (PluginName        *self);	\
-static void     plugin_name##_class_init        (PluginName##Class *klass);	\
-static gpointer plugin_name##_parent_class = NULL;				\
-static void     plugin_name##_class_intern_init (gpointer klass)		\
-{										\
-	plugin_name##_parent_class = g_type_class_peek_parent (klass);		\
-	plugin_name##_class_init ((PluginName##Class *) klass);			\
-}										\
-										\
-G_MODULE_EXPORT GType								\
-register_gedit_plugin (GTypeModule *module)					\
-{										\
-	static const GTypeInfo our_info =					\
-	{									\
-		sizeof (PluginName##Class),					\
-		NULL, /* base_init */						\
-		NULL, /* base_finalize */					\
-		(GClassInitFunc) plugin_name##_class_intern_init,		\
-		NULL,								\
-		NULL, /* class_data */						\
-		sizeof (PluginName),						\
-		0, /* n_preallocs */						\
-		(GInstanceInitFunc) plugin_name##_init				\
-	};									\
-										\
-	gedit_debug_message (DEBUG_PLUGINS, "Registering " #PluginName);	\
-										\
+	GEDIT_OBJECT_MODULE_REGISTER_TYPE_WITH_CODE (register_gedit_plugin,	\
+						     PluginName,		\
+						     plugin_name,		\
+						     GEDIT_TYPE_PLUGIN,		\
 	/* Initialise the i18n stuff */						\
 	bindtextdomain (GETTEXT_PACKAGE, GEDIT_LOCALEDIR);			\
 	bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");			\
 										\
-	plugin_name##_type = g_type_module_register_type (module,		\
-					    GEDIT_TYPE_PLUGIN,			\
-					    #PluginName,			\
-					    &our_info,				\
-					    0);					\
-										\
-	CODE									\
-										\
-	return plugin_name##_type;						\
-}
+						     CODE)
 
 /**
  * GEDIT_PLUGIN_REGISTER_TYPE(PluginName, plugin_name):
@@ -182,53 +142,7 @@
  *
  * Utility macro used to register gobject types in plugins with additional code.
  */
-#define GEDIT_PLUGIN_DEFINE_TYPE_WITH_CODE(ObjectName, object_name, PARENT_TYPE, CODE)	\
-										\
-static GType g_define_type_id = 0;						\
-										\
-GType										\
-object_name##_get_type (void)							\
-{										\
-	return g_define_type_id;						\
-}										\
-										\
-static void     object_name##_init              (ObjectName        *self);	\
-static void     object_name##_class_init        (ObjectName##Class *klass);	\
-static gpointer object_name##_parent_class = NULL;				\
-static void     object_name##_class_intern_init (gpointer klass)		\
-{										\
-	object_name##_parent_class = g_type_class_peek_parent (klass);		\
-	object_name##_class_init ((ObjectName##Class *) klass);			\
-}										\
-										\
-GType										\
-object_name##_register_type (GTypeModule *module)					\
-{										\
-	static const GTypeInfo our_info =					\
-	{									\
-		sizeof (ObjectName##Class),					\
-		NULL, /* base_init */						\
-		NULL, /* base_finalize */					\
-		(GClassInitFunc) object_name##_class_intern_init,		\
-		NULL,								\
-		NULL, /* class_data */						\
-		sizeof (ObjectName),						\
-		0, /* n_preallocs */						\
-		(GInstanceInitFunc) object_name##_init				\
-	};									\
-										\
-	gedit_debug_message (DEBUG_PLUGINS, "Registering " #ObjectName);	\
-										\
-	g_define_type_id = g_type_module_register_type (module,			\
-					   	        PARENT_TYPE,		\
-					                #ObjectName,		\
-					                &our_info,		\
-					                0);			\
-										\
-	CODE									\
-										\
-	return g_define_type_id;						\
-}
+#define GEDIT_PLUGIN_DEFINE_TYPE_WITH_CODE GEDIT_OBJECT_MODULE_DEFINE_TYPE_WITH_CODE
 
 /**
  * GEDIT_PLUGIN_DEFINE_TYPE(ObjectName, object_name, PARENT_TYPE):
@@ -244,17 +158,7 @@
  * Utility macro used to register interfaces for gobject types in plugins.
  */
 #define GEDIT_PLUGIN_IMPLEMENT_INTERFACE(object_name, TYPE_IFACE, iface_init)	\
-	const GInterfaceInfo object_name##_interface_info = 			\
-	{ 									\
-		(GInterfaceInitFunc) iface_init,				\
-		NULL, 								\
-		NULL								\
-	};									\
-										\
-	g_type_module_add_interface (module, 					\
-				     g_define_type_id, 				\
-				     TYPE_IFACE, 				\
-				     &object_name##_interface_info);		\
+	GEDIT_OBJECT_MODULE_IMPLEMENT_INTERFACE(object_name, TYPE_IFACE, iface_init)
 
 G_END_DECLS
 

Modified: branches/new_plugins/gedit/gedit-plugins-engine.c
==============================================================================
--- branches/new_plugins/gedit/gedit-plugins-engine.c	(original)
+++ branches/new_plugins/gedit/gedit-plugins-engine.c	Wed Aug 27 10:25:40 2008
@@ -44,7 +44,6 @@
 #include "gedit-app.h"
 #include "gedit-plugin-loader.h"
 #include "gedit-object-module.h"
-#include "gedit-plugin-loader-c.h"
 
 #define USER_GEDIT_LOCATION ".gnome2/gedit/"
 
@@ -324,9 +323,6 @@
 						       equal_downcase,
 						       (GDestroyNotify)g_free,
 						       (GDestroyNotify)loader_destroy);
-
-	/* add a c loader by default */
-	add_loader (engine, "c", GEDIT_PLUGIN_LOADER (gedit_plugin_loader_c_new ()), NULL);
 }
 
 void
@@ -462,7 +458,7 @@
 	}
 	
 	path = g_path_get_dirname (filename);
-	module = gedit_object_module_new (str, path, "gedit_plugin_loader_register");
+	module = gedit_object_module_new (str, path, "register_gedit_plugin_loader");
 	
 	g_free (path);
 	g_free (str);

Added: branches/new_plugins/plugin-loaders/Makefile.am
==============================================================================
--- (empty file)
+++ branches/new_plugins/plugin-loaders/Makefile.am	Wed Aug 27 10:25:40 2008
@@ -0,0 +1,5 @@
+SUBDIRS = c
+
+if ENABLE_PYTHON
+SUBDIRS += python
+endif

Added: branches/new_plugins/plugin-loaders/c/Makefile.am
==============================================================================
--- (empty file)
+++ branches/new_plugins/plugin-loaders/c/Makefile.am	Wed Aug 27 10:25:40 2008
@@ -0,0 +1,37 @@
+# C plugin loader
+
+loaderdir = $(libdir)/gedit-2/plugin-loaders
+
+INCLUDES = \
+	-I$(top_srcdir) 						\
+	$(GEDIT_CFLAGS) 						\
+	$(WARN_CFLAGS)							\
+	$(DISABLE_DEPRECATED_CFLAGS)					\
+	-DGEDIT_LOCALEDIR=\""$(prefix)/$(DATADIRNAME)/locale"\"
+
+loader_LTLIBRARIES = libcloader.la
+
+NOINST_H_FILES = \
+	gedit-plugin-loader-c.h
+
+libcloader_la_SOURCES = \
+	gedit-plugin-loader-c.c 	\
+	$(NOINST_H_FILES)
+
+libcloader_la_LDFLAGS = $(LOADER_LIBTOOL_FLAGS)
+libcloader_la_LIBADD = $(GEDIT_LIBS)
+
+loader_in_files = cloader.gedit-plugin-loader.desktop.in
+
+%.gedit-plugin-loader: %.gedit-plugin-loader.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache
+
+loader_DATA = $(loader_in_files:.gedit-plugin-loader.desktop.in=.gedit-plugin-loader)
+
+EXTRA_DIST = \
+	$(loader_in_files)
+
+CLEANFILES = \
+	$(loader_DATA)
+
+DISTCLEANFILES = \
+	$(loader_DATA)

Added: branches/new_plugins/plugin-loaders/c/cloader.gedit-plugin-loader.desktop.in
==============================================================================
--- (empty file)
+++ branches/new_plugins/plugin-loaders/c/cloader.gedit-plugin-loader.desktop.in	Wed Aug 27 10:25:40 2008
@@ -0,0 +1,4 @@
+[Gedit Plugin Loader]
+Loader=C
+Module=cloader
+Copyright=Copyright  2008 Jesse van den Kieboom

Copied: branches/new_plugins/plugin-loaders/c/gedit-plugin-loader-c.c (from r6462, /branches/new_plugins/gedit/gedit-plugin-loader-c.c)
==============================================================================
--- /branches/new_plugins/gedit/gedit-plugin-loader-c.c	(original)
+++ branches/new_plugins/plugin-loaders/c/gedit-plugin-loader-c.c	Wed Aug 27 10:25:40 2008
@@ -10,12 +10,7 @@
 
 static void gedit_plugin_loader_iface_init (gpointer g_iface, gpointer iface_data);
 
-G_DEFINE_TYPE_EXTENDED (GeditPluginLoaderC, 
-			gedit_plugin_loader_c, 
-			G_TYPE_OBJECT,
-			0,
-			G_IMPLEMENT_INTERFACE (GEDIT_TYPE_PLUGIN_LOADER,
-					       gedit_plugin_loader_iface_init))
+GEDIT_PLUGIN_LOADER_REGISTER_TYPE (GeditPluginLoaderC, gedit_plugin_loader_c);
 
 static GeditPlugin *
 gedit_plugin_loader_iface_load (GeditPluginLoader *loader,

Copied: branches/new_plugins/plugin-loaders/c/gedit-plugin-loader-c.h (from r6462, /branches/new_plugins/gedit/gedit-plugin-loader-c.h)
==============================================================================
--- /branches/new_plugins/gedit/gedit-plugin-loader-c.h	(original)
+++ branches/new_plugins/plugin-loaders/c/gedit-plugin-loader-c.h	Wed Aug 27 10:25:40 2008
@@ -30,6 +30,9 @@
 GType gedit_plugin_loader_c_get_type (void) G_GNUC_CONST;
 GeditPluginLoaderC *gedit_plugin_loader_c_new(void);
 
+/* All the loaders must implement this function */
+G_MODULE_EXPORT GType register_gedit_plugin_loader (GTypeModule * module);
+
 G_END_DECLS
 
 #endif /* __GEDIT_PLUGIN_LOADER_C_H__ */

Modified: branches/new_plugins/plugins/filebrowser/gedit-file-browser-store.c
==============================================================================
--- branches/new_plugins/plugins/filebrowser/gedit-file-browser-store.c	(original)
+++ branches/new_plugins/plugins/filebrowser/gedit-file-browser-store.c	Wed Aug 27 10:25:40 2008
@@ -188,10 +188,12 @@
 
 GEDIT_PLUGIN_DEFINE_TYPE_WITH_CODE (GeditFileBrowserStore, gedit_file_browser_store,
 			G_TYPE_OBJECT,
-			G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_MODEL,
-					       gedit_file_browser_store_iface_init)
-			G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_DRAG_SOURCE,
-					       gedit_file_browser_store_drag_source_init))
+			GEDIT_PLUGIN_IMPLEMENT_INTERFACE (gedit_file_browser_store_tree_model,
+							  GTK_TYPE_TREE_MODEL,
+							  gedit_file_browser_store_iface_init)
+			GEDIT_PLUGIN_IMPLEMENT_INTERFACE (gedit_file_browser_store_drag_source,
+							  GTK_TYPE_TREE_DRAG_SOURCE,
+							  gedit_file_browser_store_drag_source_init))
 
 /* Properties */
 enum {



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