brasero r2211 - in trunk: . libbrasero-burn libbrasero-burn/plugins/cdrdao libbrasero-burn/plugins/cdrkit libbrasero-burn/plugins/cdrtools libbrasero-burn/plugins/checksum libbrasero-burn/plugins/dvdauthor libbrasero-burn/plugins/dvdcss libbrasero-burn/plugins/growisofs libbrasero-burn/plugins/libburnia libbrasero-burn/plugins/local-track libbrasero-burn/plugins/transcode libbrasero-burn/plugins/vcdimager src



Author: philippr
Date: Sun Apr  5 12:20:44 2009
New Revision: 2211
URL: http://svn.gnome.org/viewvc/brasero?rev=2211&view=rev

Log:
2009-04-05  Philippe Rouquier  <bonfire-app wanadoo fr>

	Split and renamed burn-plugin.h header (as we may want to export it)

	* libbrasero-burn/Makefile.am:
	* libbrasero-burn/brasero-caps-burn.c:
	* libbrasero-burn/brasero-caps-session.c:
	* libbrasero-burn/brasero-plugin-information.h:
	* libbrasero-burn/brasero-plugin.h:
	* libbrasero-burn/burn-basics.c:
	* libbrasero-burn/burn-caps.c:
	* libbrasero-burn/burn-caps.h:
	* libbrasero-burn/burn-debug.h:
	* libbrasero-burn/burn-job.c:
	* libbrasero-burn/burn-plugin-manager.c:
	* libbrasero-burn/burn-plugin-private.h:
	* libbrasero-burn/burn-plugin.c:
	* libbrasero-burn/burn-plugin.h:
	* libbrasero-burn/plugins/cdrdao/burn-cdrdao.c:
	* libbrasero-burn/plugins/cdrdao/burn-toc2cue.c:
	* libbrasero-burn/plugins/cdrkit/burn-genisoimage.c:
	* libbrasero-burn/plugins/cdrkit/burn-readom.c:
	* libbrasero-burn/plugins/cdrkit/burn-wodim.c:
	* libbrasero-burn/plugins/cdrtools/burn-cdrecord.c:
	* libbrasero-burn/plugins/cdrtools/burn-mkisofs.c:
	* libbrasero-burn/plugins/cdrtools/burn-readcd.c:
	* libbrasero-burn/plugins/checksum/burn-checksum-files.c:
	* libbrasero-burn/plugins/checksum/burn-checksum-image.c:
	* libbrasero-burn/plugins/dvdauthor/burn-dvdauthor.c:
	* libbrasero-burn/plugins/dvdcss/burn-dvdcss.c:
	* libbrasero-burn/plugins/growisofs/burn-dvd-rw-format.c:
	* libbrasero-burn/plugins/growisofs/burn-growisofs.c:
	* libbrasero-burn/plugins/libburnia/burn-libburn.c:
	* libbrasero-burn/plugins/libburnia/burn-libisofs.c:
	* libbrasero-burn/plugins/local-track/burn-local-image.c:
	* libbrasero-burn/plugins/local-track/burn-uri.c:
	* libbrasero-burn/plugins/transcode/burn-normalize.c:
	* libbrasero-burn/plugins/transcode/burn-transcode.c:
	* libbrasero-burn/plugins/transcode/burn-vob.c:
	* libbrasero-burn/plugins/vcdimager/burn-vcdimager.c:
	* src/brasero-plugin-manager-ui.c:
	* src/brasero-plugin-option.c:


Added:
   trunk/libbrasero-burn/brasero-plugin-information.h
      - copied, changed from r2210, /trunk/libbrasero-burn/burn-plugin-private.h
   trunk/libbrasero-burn/brasero-plugin-registration.h
   trunk/libbrasero-burn/brasero-plugin.h
      - copied, changed from r2210, /trunk/libbrasero-burn/burn-plugin.h
Removed:
   trunk/libbrasero-burn/burn-plugin-private.h
   trunk/libbrasero-burn/burn-plugin.h
Modified:
   trunk/ChangeLog
   trunk/libbrasero-burn/Makefile.am
   trunk/libbrasero-burn/brasero-caps-burn.c
   trunk/libbrasero-burn/brasero-caps-session.c
   trunk/libbrasero-burn/burn-basics.c
   trunk/libbrasero-burn/burn-caps.c
   trunk/libbrasero-burn/burn-caps.h
   trunk/libbrasero-burn/burn-debug.h
   trunk/libbrasero-burn/burn-job.c
   trunk/libbrasero-burn/burn-plugin-manager.c
   trunk/libbrasero-burn/burn-plugin.c
   trunk/libbrasero-burn/plugins/cdrdao/burn-cdrdao.c
   trunk/libbrasero-burn/plugins/cdrdao/burn-toc2cue.c
   trunk/libbrasero-burn/plugins/cdrkit/burn-genisoimage.c
   trunk/libbrasero-burn/plugins/cdrkit/burn-readom.c
   trunk/libbrasero-burn/plugins/cdrkit/burn-wodim.c
   trunk/libbrasero-burn/plugins/cdrtools/burn-cdrecord.c
   trunk/libbrasero-burn/plugins/cdrtools/burn-mkisofs.c
   trunk/libbrasero-burn/plugins/cdrtools/burn-readcd.c
   trunk/libbrasero-burn/plugins/checksum/burn-checksum-files.c
   trunk/libbrasero-burn/plugins/checksum/burn-checksum-image.c
   trunk/libbrasero-burn/plugins/dvdauthor/burn-dvdauthor.c
   trunk/libbrasero-burn/plugins/dvdcss/burn-dvdcss.c
   trunk/libbrasero-burn/plugins/growisofs/burn-dvd-rw-format.c
   trunk/libbrasero-burn/plugins/growisofs/burn-growisofs.c
   trunk/libbrasero-burn/plugins/libburnia/burn-libburn.c
   trunk/libbrasero-burn/plugins/libburnia/burn-libisofs.c
   trunk/libbrasero-burn/plugins/local-track/burn-local-image.c
   trunk/libbrasero-burn/plugins/local-track/burn-uri.c
   trunk/libbrasero-burn/plugins/transcode/burn-normalize.c
   trunk/libbrasero-burn/plugins/transcode/burn-transcode.c
   trunk/libbrasero-burn/plugins/transcode/burn-vob.c
   trunk/libbrasero-burn/plugins/vcdimager/burn-vcdimager.c
   trunk/src/brasero-plugin-manager-ui.c
   trunk/src/brasero-plugin-option.c

Modified: trunk/libbrasero-burn/Makefile.am
==============================================================================
--- trunk/libbrasero-burn/Makefile.am	(original)
+++ trunk/libbrasero-burn/Makefile.am	Sun Apr  5 12:20:44 2009
@@ -77,9 +77,7 @@
 	burn-image-format.h                 \
 	burn-job.h                 \
 	burn-mkisofs-base.h                 \
-	burn-plugin.h                 \
 	burn-plugin-manager.h                 \
-	burn-plugin-private.h                 \
 	burn-process.h                 \
 	brasero-session.h                 \
 	burn-task.h                 \
@@ -151,7 +149,10 @@
 	brasero-caps-plugin.c                 \
 	brasero-caps-burn.c                 \
 	brasero-caps-session.c                 \
-	brasero-caps-burn.h
+	brasero-caps-burn.h                 \
+	brasero-plugin.h                 \
+	brasero-plugin-information.h                 \
+	brasero-plugin-registration.h
 
 EXTRA_DIST =			\
 	libbrasero-marshal.list

Modified: trunk/libbrasero-burn/brasero-caps-burn.c
==============================================================================
--- trunk/libbrasero-burn/brasero-caps-burn.c	(original)
+++ trunk/libbrasero-burn/brasero-caps-burn.c	Sun Apr  5 12:20:44 2009
@@ -40,7 +40,7 @@
 #include "brasero-caps-burn.h"
 #include "burn-caps.h"
 #include "burn-debug.h"
-#include "burn-plugin-private.h"
+#include "brasero-plugin-information.h"
 #include "burn-task.h"
 
 /**

Modified: trunk/libbrasero-burn/brasero-caps-session.c
==============================================================================
--- trunk/libbrasero-burn/brasero-caps-session.c	(original)
+++ trunk/libbrasero-burn/brasero-caps-session.c	Sun Apr  5 12:20:44 2009
@@ -39,7 +39,8 @@
 
 #include "burn-caps.h"
 #include "burn-debug.h"
-#include "burn-plugin-private.h"
+#include "brasero-plugin.h"
+#include "brasero-plugin-information.h"
 
 #define BRASERO_BURN_CAPS_SHOULD_BLANK(media_MACRO, flags_MACRO)		\
 	((media_MACRO & BRASERO_MEDIUM_UNFORMATTED) ||				\

Copied: trunk/libbrasero-burn/brasero-plugin-information.h (from r2210, /trunk/libbrasero-burn/burn-plugin-private.h)
==============================================================================
--- /trunk/libbrasero-burn/burn-plugin-private.h	(original)
+++ trunk/libbrasero-burn/brasero-plugin-information.h	Sun Apr  5 12:20:44 2009
@@ -28,27 +28,17 @@
  * 	Boston, MA  02110-1301, USA.
  */
  
-#ifndef _BURN_PLUGIN_PRIVATE_H
-#define _BURN_PLUGIN_PRIVATE_H
+#ifndef _BURN_PLUGIN_REGISTRATION_H
+#define _BURN_PLUGIN_REGISTRATION_H
 
 #include <glib.h>
 #include <glib-object.h>
 
-#include "burn-basics.h"
 #include "brasero-session.h"
-#include "burn-plugin.h"
+#include "brasero-plugin.h"
 
 G_BEGIN_DECLS
 
-struct _BraseroPluginChoicePair {
-	gchar *string;
-	guint value;
-};
-typedef struct _BraseroPluginChoicePair BraseroPluginChoicePair;
-
-BraseroPlugin *
-brasero_plugin_new (const gchar *path);
-
 void
 brasero_plugin_set_active (BraseroPlugin *plugin, gboolean active);
 
@@ -164,11 +154,17 @@
 gint
 brasero_plugin_conf_option_int_get_max (BraseroPluginConfOption *option);
 
+
+struct _BraseroPluginChoicePair {
+	gchar *string;
+	guint value;
+};
+typedef struct _BraseroPluginChoicePair BraseroPluginChoicePair;
+
 GSList *
 brasero_plugin_conf_option_choice_get (BraseroPluginConfOption *option);
 
 G_END_DECLS
 
-#endif /* _BURN_PLUGIN_PRIVATE_H */
-
+#endif
  

Added: trunk/libbrasero-burn/brasero-plugin-registration.h
==============================================================================
--- (empty file)
+++ trunk/libbrasero-burn/brasero-plugin-registration.h	Sun Apr  5 12:20:44 2009
@@ -0,0 +1,551 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
+/*
+ * Libbrasero-burn
+ * Copyright (C) Philippe Rouquier 2005-2009 <bonfire-app wanadoo fr>
+ *
+ * Libbrasero-burn is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * The Libbrasero-burn authors hereby grant permission for non-GPL compatible
+ * GStreamer plugins to be used and distributed together with GStreamer
+ * and Libbrasero-burn. This permission is above and beyond the permissions granted
+ * by the GPL license by which Libbrasero-burn is covered. If you modify this code
+ * you may extend this exception to your version of the code, but you are not
+ * obligated to do so. If you do not wish to do so, delete this exception
+ * statement from your version.
+ * 
+ * Libbrasero-burn is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Library General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to:
+ * 	The Free Software Foundation, Inc.,
+ * 	51 Franklin Street, Fifth Floor
+ * 	Boston, MA  02110-1301, USA.
+ */
+
+#ifndef _BURN_PLUGIN_H_REGISTRATION_
+#define _BURN_PLUGIN_H_REGISTRATION_
+
+#include <glib.h>
+
+#include "brasero-medium.h"
+
+#include "brasero-enums.h"
+#include "brasero-track.h"
+#include "brasero-track-stream.h"
+#include "brasero-track-data.h"
+#include "brasero-plugin.h"
+
+G_BEGIN_DECLS
+
+#define BRASERO_PLUGIN_BURN_FLAG_MASK	(BRASERO_BURN_FLAG_DUMMY|		\
+					 BRASERO_BURN_FLAG_MULTI|		\
+					 BRASERO_BURN_FLAG_DAO|			\
+					 BRASERO_BURN_FLAG_RAW|			\
+					 BRASERO_BURN_FLAG_BURNPROOF|		\
+					 BRASERO_BURN_FLAG_OVERBURN|		\
+					 BRASERO_BURN_FLAG_NOGRACE|		\
+					 BRASERO_BURN_FLAG_APPEND|		\
+					 BRASERO_BURN_FLAG_MERGE)
+
+#define BRASERO_PLUGIN_IMAGE_FLAG_MASK	(BRASERO_BURN_FLAG_APPEND|		\
+					 BRASERO_BURN_FLAG_MERGE)
+
+#define BRASERO_PLUGIN_BLANK_FLAG_MASK	(BRASERO_BURN_FLAG_NOGRACE|		\
+					 BRASERO_BURN_FLAG_FAST_BLANK)
+
+/**
+ * These are the functions a plugin must implement
+ */
+
+GType brasero_plugin_register_caps (BraseroPlugin *plugin, gchar **error);
+
+void
+brasero_plugin_define (BraseroPlugin *plugin,
+		       const gchar *name,
+		       const gchar *description,
+		       const gchar *author,
+		       guint priority);
+void
+brasero_plugin_set_compulsory (BraseroPlugin *self,
+			       gboolean compulsory);
+
+void
+brasero_plugin_register_group (BraseroPlugin *plugin,
+			       const gchar *name);
+
+typedef enum {
+	BRASERO_PLUGIN_IO_NONE			= 0,
+	BRASERO_PLUGIN_IO_ACCEPT_PIPE		= 1,
+	BRASERO_PLUGIN_IO_ACCEPT_FILE		= 1 << 1,
+} BraseroPluginIOFlag;
+
+GSList *
+brasero_caps_image_new (BraseroPluginIOFlag flags,
+			BraseroImageFormat format);
+
+GSList *
+brasero_caps_audio_new (BraseroPluginIOFlag flags,
+			BraseroStreamFormat format);
+
+GSList *
+brasero_caps_data_new (BraseroImageFS fs_type);
+
+GSList *
+brasero_caps_disc_new (BraseroMedia media);
+
+GSList *
+brasero_caps_checksum_new (BraseroChecksumType checksum);
+
+void
+brasero_plugin_link_caps (BraseroPlugin *plugin,
+			  GSList *outputs,
+			  GSList *inputs);
+
+void
+brasero_plugin_blank_caps (BraseroPlugin *plugin,
+			   GSList *caps);
+
+/**
+ * This function is important since not only does it set the flags but it also 
+ * tells brasero which types of media are supported. So even if a plugin doesn't
+ * support any flag, use it to tell brasero which media are supported.
+ * That's only needed if the plugin supports burn/blank operations.
+ */
+void
+brasero_plugin_set_flags (BraseroPlugin *plugin,
+			  BraseroMedia media,
+			  BraseroBurnFlag supported,
+			  BraseroBurnFlag compulsory);
+void
+brasero_plugin_set_blank_flags (BraseroPlugin *self,
+				BraseroMedia media,
+				BraseroBurnFlag supported,
+				BraseroBurnFlag compulsory);
+
+void
+brasero_plugin_process_caps (BraseroPlugin *plugin,
+			     GSList *caps);
+
+void
+brasero_plugin_set_process_flags (BraseroPlugin *plugin,
+				  BraseroPluginProcessFlag flags);
+
+void
+brasero_plugin_check_caps (BraseroPlugin *plugin,
+			   BraseroChecksumType type,
+			   GSList *caps);
+
+/**
+ * Plugin configure options
+ */
+
+BraseroPluginConfOption *
+brasero_plugin_conf_option_new (const gchar *key,
+				const gchar *description,
+				BraseroPluginConfOptionType type);
+
+BraseroBurnResult
+brasero_plugin_add_conf_option (BraseroPlugin *plugin,
+				BraseroPluginConfOption *option);
+
+BraseroBurnResult
+brasero_plugin_conf_option_bool_add_suboption (BraseroPluginConfOption *option,
+					       BraseroPluginConfOption *suboption);
+
+BraseroBurnResult
+brasero_plugin_conf_option_int_set_range (BraseroPluginConfOption *option,
+					  gint min,
+					  gint max);
+
+BraseroBurnResult
+brasero_plugin_conf_option_choice_add (BraseroPluginConfOption *option,
+				       const gchar *string,
+				       gint value);
+
+/**
+ * Boiler plate for plugin definition to save the hassle of definition.
+ * To be put at the beginning of the .c file.
+ */
+typedef GType	(* BraseroPluginRegisterType)	(BraseroPlugin *plugin, gchar **error);
+
+#define BRASERO_PLUGIN_BOILERPLATE(PluginName, plugin_name, PARENT_NAME, ParentName) \
+typedef struct {								\
+	ParentName parent;							\
+} PluginName;									\
+										\
+typedef struct {								\
+	ParentName##Class parent_class;						\
+} PluginName##Class;								\
+										\
+static GType plugin_name##_type = 0;						\
+										\
+static GType									\
+plugin_name##_get_type (void)							\
+{										\
+	return plugin_name##_type;						\
+}										\
+										\
+static void plugin_name##_class_init (PluginName##Class *klass);		\
+static void plugin_name##_init (PluginName *sp);				\
+static void plugin_name##_finalize (GObject *object);				\
+static BraseroBurnResult plugin_name##_export_caps (BraseroPlugin *plugin, gchar **error);	\
+										\
+G_MODULE_EXPORT GType								\
+brasero_plugin_register (BraseroPlugin *plugin, gchar **error)			\
+{										\
+	if (brasero_plugin_get_gtype (plugin) == G_TYPE_NONE) {			\
+		BraseroBurnResult result;					\
+		result = plugin_name##_export_caps (plugin, error);		\
+		if (result != BRASERO_BURN_OK)					\
+			return G_TYPE_NONE;					\
+	}									\
+	static const GTypeInfo our_info = {					\
+		sizeof (PluginName##Class),					\
+		NULL,								\
+		NULL,								\
+		(GClassInitFunc)plugin_name##_class_init,			\
+		NULL,								\
+		NULL,								\
+		sizeof (PluginName),						\
+		0,								\
+		(GInstanceInitFunc)plugin_name##_init,				\
+	};									\
+	plugin_name##_type = g_type_module_register_type (G_TYPE_MODULE (plugin),		\
+							  PARENT_NAME,		\
+							  G_STRINGIFY (PluginName),		\
+							  &our_info,		\
+							  0);			\
+	return plugin_name##_type;						\
+}
+
+#define BRASERO_PLUGIN_ADD_STANDARD_CDR_FLAGS(plugin_MACRO, unsupported_MACRO)	\
+	/* Use DAO for first session since AUDIO need it to write CD-TEXT */	\
+	brasero_plugin_set_flags (plugin_MACRO,					\
+				  BRASERO_MEDIUM_CD|				\
+				  BRASERO_MEDIUM_WRITABLE|			\
+				  BRASERO_MEDIUM_BLANK,				\
+				  (BRASERO_BURN_FLAG_DAO|			\
+				  BRASERO_BURN_FLAG_MULTI|			\
+				  BRASERO_BURN_FLAG_BURNPROOF|			\
+				  BRASERO_BURN_FLAG_OVERBURN|			\
+				  BRASERO_BURN_FLAG_DUMMY|			\
+				  BRASERO_BURN_FLAG_NOGRACE) &			\
+				  (~unsupported_MACRO),				\
+				  BRASERO_BURN_FLAG_NONE);			\
+	/* This is a CDR with data data can be merged or at least appended */	\
+	brasero_plugin_set_flags (plugin_MACRO,					\
+				  BRASERO_MEDIUM_CD|				\
+				  BRASERO_MEDIUM_WRITABLE|			\
+				  BRASERO_MEDIUM_APPENDABLE|			\
+				  BRASERO_MEDIUM_HAS_AUDIO|			\
+				  BRASERO_MEDIUM_HAS_DATA,			\
+				  (BRASERO_BURN_FLAG_APPEND|			\
+				  BRASERO_BURN_FLAG_MERGE|			\
+				  BRASERO_BURN_FLAG_BURNPROOF|			\
+				  BRASERO_BURN_FLAG_OVERBURN|			\
+				  BRASERO_BURN_FLAG_MULTI|			\
+				  BRASERO_BURN_FLAG_DUMMY|			\
+				  BRASERO_BURN_FLAG_NOGRACE) &			\
+				  (~unsupported_MACRO),				\
+				  BRASERO_BURN_FLAG_APPEND);
+
+#define BRASERO_PLUGIN_ADD_STANDARD_CDRW_FLAGS(plugin_MACRO, unsupported_MACRO)			\
+	/* Use DAO for first session since AUDIO needs it to write CD-TEXT */	\
+	brasero_plugin_set_flags (plugin_MACRO,					\
+				  BRASERO_MEDIUM_CD|				\
+				  BRASERO_MEDIUM_REWRITABLE|			\
+				  BRASERO_MEDIUM_BLANK,				\
+				  (BRASERO_BURN_FLAG_DAO|			\
+				  BRASERO_BURN_FLAG_MULTI|			\
+				  BRASERO_BURN_FLAG_BURNPROOF|			\
+				  BRASERO_BURN_FLAG_OVERBURN|			\
+				  BRASERO_BURN_FLAG_DUMMY|			\
+				  BRASERO_BURN_FLAG_NOGRACE) &			\
+				  (~unsupported_MACRO),				\
+				  BRASERO_BURN_FLAG_NONE);			\
+	/* It is a CDRW we want the CD to be either blanked before or appended	\
+	 * that's why we set MERGE as compulsory. That way if the CD is not 	\
+	 * MERGED we force the blank before writing to avoid appending sessions	\
+	 * endlessly until there is no free space. */				\
+	brasero_plugin_set_flags (plugin_MACRO,					\
+				  BRASERO_MEDIUM_CD|				\
+				  BRASERO_MEDIUM_REWRITABLE|			\
+				  BRASERO_MEDIUM_APPENDABLE|			\
+				  BRASERO_MEDIUM_HAS_AUDIO|			\
+				  BRASERO_MEDIUM_HAS_DATA,			\
+				  (BRASERO_BURN_FLAG_APPEND|			\
+				  BRASERO_BURN_FLAG_MERGE|			\
+				  BRASERO_BURN_FLAG_BURNPROOF|			\
+				  BRASERO_BURN_FLAG_OVERBURN|			\
+				  BRASERO_BURN_FLAG_MULTI|			\
+				  BRASERO_BURN_FLAG_DUMMY|			\
+				  BRASERO_BURN_FLAG_NOGRACE) &			\
+				  (~unsupported_MACRO),				\
+				  BRASERO_BURN_FLAG_MERGE);
+
+#define BRASERO_PLUGIN_ADD_STANDARD_DVDR_FLAGS(plugin_MACRO, unsupported_MACRO)			\
+	/* DAO and MULTI are exclusive */					\
+	brasero_plugin_set_flags (plugin_MACRO,					\
+				  BRASERO_MEDIUM_DVDR|				\
+				  BRASERO_MEDIUM_DUAL_L|			\
+				  BRASERO_MEDIUM_JUMP|				\
+				  BRASERO_MEDIUM_BLANK,				\
+				  (BRASERO_BURN_FLAG_DAO|			\
+				  BRASERO_BURN_FLAG_BURNPROOF|			\
+				  BRASERO_BURN_FLAG_OVERBURN|			\
+				  BRASERO_BURN_FLAG_DUMMY|			\
+				  BRASERO_BURN_FLAG_NOGRACE) &			\
+				  (~unsupported_MACRO),				\
+				  BRASERO_BURN_FLAG_NONE);			\
+	brasero_plugin_set_flags (plugin_MACRO,					\
+				  BRASERO_MEDIUM_DVDR|				\
+				  BRASERO_MEDIUM_DUAL_L|			\
+				  BRASERO_MEDIUM_JUMP|				\
+				  BRASERO_MEDIUM_BLANK,				\
+				  (BRASERO_BURN_FLAG_BURNPROOF|			\
+				  BRASERO_BURN_FLAG_OVERBURN|			\
+				  BRASERO_BURN_FLAG_MULTI|			\
+				  BRASERO_BURN_FLAG_DUMMY|			\
+				  BRASERO_BURN_FLAG_NOGRACE) &			\
+				  (~unsupported_MACRO),				\
+				  BRASERO_BURN_FLAG_NONE);			\
+	/* This is a DVDR with data; data can be merged or at least appended */	\
+	brasero_plugin_set_flags (plugin_MACRO,					\
+				  BRASERO_MEDIUM_DVDR|				\
+				  BRASERO_MEDIUM_DUAL_L|			\
+				  BRASERO_MEDIUM_JUMP|				\
+				  BRASERO_MEDIUM_APPENDABLE|			\
+				  BRASERO_MEDIUM_HAS_DATA,			\
+				  (BRASERO_BURN_FLAG_APPEND|			\
+				  BRASERO_BURN_FLAG_MERGE|			\
+				  BRASERO_BURN_FLAG_BURNPROOF|			\
+				  BRASERO_BURN_FLAG_OVERBURN|			\
+				  BRASERO_BURN_FLAG_MULTI|			\
+				  BRASERO_BURN_FLAG_DUMMY|			\
+				  BRASERO_BURN_FLAG_NOGRACE) &			\
+				  (~unsupported_MACRO),				\
+				  BRASERO_BURN_FLAG_APPEND);
+
+#define BRASERO_PLUGIN_ADD_STANDARD_DVDR_PLUS_FLAGS(plugin_MACRO, unsupported_MACRO)		\
+	/* DVD+R don't have a DUMMY mode */					\
+	brasero_plugin_set_flags (plugin_MACRO,					\
+				  BRASERO_MEDIUM_DVDR_PLUS|			\
+				  BRASERO_MEDIUM_DUAL_L|			\
+				  BRASERO_MEDIUM_BLANK,				\
+				  (BRASERO_BURN_FLAG_DAO|			\
+				  BRASERO_BURN_FLAG_BURNPROOF|			\
+				  BRASERO_BURN_FLAG_OVERBURN|			\
+				  BRASERO_BURN_FLAG_NOGRACE) &			\
+				  (~unsupported_MACRO),				\
+				  BRASERO_BURN_FLAG_NONE);			\
+	brasero_plugin_set_flags (plugin_MACRO,					\
+				  BRASERO_MEDIUM_DVDR_PLUS|			\
+				  BRASERO_MEDIUM_DUAL_L|			\
+				  BRASERO_MEDIUM_BLANK,				\
+				  (BRASERO_BURN_FLAG_BURNPROOF|			\
+				  BRASERO_BURN_FLAG_OVERBURN|			\
+				  BRASERO_BURN_FLAG_MULTI|			\
+				  BRASERO_BURN_FLAG_NOGRACE) &			\
+				  (~unsupported_MACRO),				\
+				  BRASERO_BURN_FLAG_NONE);			\
+	/* DVD+R with data: data can be merged or at least appended */		\
+	brasero_plugin_set_flags (plugin_MACRO,					\
+				  BRASERO_MEDIUM_DVDR_PLUS|			\
+				  BRASERO_MEDIUM_DUAL_L|			\
+				  BRASERO_MEDIUM_APPENDABLE|			\
+				  BRASERO_MEDIUM_HAS_DATA,			\
+				  (BRASERO_BURN_FLAG_MERGE|			\
+				  BRASERO_BURN_FLAG_APPEND|			\
+				  BRASERO_BURN_FLAG_BURNPROOF|			\
+				  BRASERO_BURN_FLAG_OVERBURN|			\
+				  BRASERO_BURN_FLAG_MULTI|			\
+				  BRASERO_BURN_FLAG_NOGRACE) &			\
+				  (~unsupported_MACRO),				\
+				  BRASERO_BURN_FLAG_APPEND);
+
+#define BRASERO_PLUGIN_ADD_STANDARD_DVDRW_FLAGS(plugin_MACRO, unsupported_MACRO)			\
+	brasero_plugin_set_flags (plugin_MACRO,					\
+				  BRASERO_MEDIUM_DVDRW|				\
+				  BRASERO_MEDIUM_UNFORMATTED|			\
+				  BRASERO_MEDIUM_BLANK,				\
+				  (BRASERO_BURN_FLAG_DAO|			\
+				  BRASERO_BURN_FLAG_BURNPROOF|			\
+				  BRASERO_BURN_FLAG_OVERBURN|			\
+				  BRASERO_BURN_FLAG_DUMMY|			\
+				  BRASERO_BURN_FLAG_NOGRACE) &			\
+				  (~unsupported_MACRO),				\
+				  BRASERO_BURN_FLAG_NONE);			\
+	brasero_plugin_set_flags (plugin_MACRO,					\
+				  BRASERO_MEDIUM_DVDRW|				\
+				  BRASERO_MEDIUM_BLANK,				\
+				  (BRASERO_BURN_FLAG_BURNPROOF|			\
+				  BRASERO_BURN_FLAG_OVERBURN|			\
+				  BRASERO_BURN_FLAG_MULTI|			\
+				  BRASERO_BURN_FLAG_DUMMY|			\
+				  BRASERO_BURN_FLAG_NOGRACE) &			\
+				  (~unsupported_MACRO),				\
+				  BRASERO_BURN_FLAG_NONE);			\
+	/* This is a DVDRW we want the DVD to be either blanked before or	\
+	 * appended that's why we set MERGE as compulsory. That way if the DVD	\
+	 * is not MERGED we force the blank before writing to avoid appending	\
+	 * sessions endlessly until there is no free space. */			\
+	brasero_plugin_set_flags (plugin_MACRO,					\
+				  BRASERO_MEDIUM_DVDRW|				\
+				  BRASERO_MEDIUM_APPENDABLE|			\
+				  BRASERO_MEDIUM_HAS_DATA,			\
+				  (BRASERO_BURN_FLAG_MERGE|			\
+				  BRASERO_BURN_FLAG_APPEND|			\
+				  BRASERO_BURN_FLAG_BURNPROOF|			\
+				  BRASERO_BURN_FLAG_OVERBURN|			\
+				  BRASERO_BURN_FLAG_MULTI|			\
+				  BRASERO_BURN_FLAG_DUMMY|			\
+				  BRASERO_BURN_FLAG_NOGRACE) &			\
+				  (~unsupported_MACRO),				\
+				  BRASERO_BURN_FLAG_MERGE);
+
+/**
+ * These kind of media don't support:
+ * - BURNPROOF
+ * - DAO
+ * - APPEND
+ * since they don't behave and are not written in the same way.
+ * They also can't be closed so MULTI is compulsory.
+ */
+#define BRASERO_PLUGIN_ADD_STANDARD_DVDRW_PLUS_FLAGS(plugin_MACRO, unsupported_MACRO)		\
+	brasero_plugin_set_flags (plugin_MACRO,					\
+				  BRASERO_MEDIUM_DVDRW_PLUS|			\
+				  BRASERO_MEDIUM_DUAL_L|			\
+				  BRASERO_MEDIUM_UNFORMATTED|			\
+				  BRASERO_MEDIUM_BLANK,				\
+				  (BRASERO_BURN_FLAG_MULTI|			\
+				  BRASERO_BURN_FLAG_OVERBURN|			\
+				  BRASERO_BURN_FLAG_NOGRACE) &			\
+				  (~unsupported_MACRO),				\
+				  BRASERO_BURN_FLAG_MULTI);			\
+	brasero_plugin_set_flags (plugin_MACRO,					\
+				  BRASERO_MEDIUM_DVDRW_PLUS|			\
+				  BRASERO_MEDIUM_DUAL_L|			\
+				  BRASERO_MEDIUM_APPENDABLE|			\
+				  BRASERO_MEDIUM_CLOSED|			\
+				  BRASERO_MEDIUM_HAS_DATA,			\
+				  (BRASERO_BURN_FLAG_MULTI|			\
+				  BRASERO_BURN_FLAG_OVERBURN|			\
+				  BRASERO_BURN_FLAG_NOGRACE|			\
+				  BRASERO_BURN_FLAG_MERGE) &			\
+				  (~unsupported_MACRO),				\
+				  BRASERO_BURN_FLAG_MULTI);
+
+/**
+ * The above statement apply to these as well. There is no longer dummy mode
+ * NOTE: there is no such thing as a DVD-RW DL.
+ */
+#define BRASERO_PLUGIN_ADD_STANDARD_DVDRW_RESTRICTED_FLAGS(plugin_MACRO, unsupported_MACRO)	\
+	brasero_plugin_set_flags (plugin_MACRO,					\
+				  BRASERO_MEDIUM_DVD|				\
+				  BRASERO_MEDIUM_RESTRICTED|			\
+				  BRASERO_MEDIUM_REWRITABLE|			\
+				  BRASERO_MEDIUM_UNFORMATTED|			\
+				  BRASERO_MEDIUM_BLANK,				\
+				  (BRASERO_BURN_FLAG_MULTI|			\
+				  BRASERO_BURN_FLAG_OVERBURN|			\
+				  BRASERO_BURN_FLAG_NOGRACE) &			\
+				  (~unsupported_MACRO),				\
+				  BRASERO_BURN_FLAG_MULTI);			\
+	brasero_plugin_set_flags (plugin_MACRO,					\
+				  BRASERO_MEDIUM_DVD|				\
+				  BRASERO_MEDIUM_RESTRICTED|			\
+				  BRASERO_MEDIUM_REWRITABLE|			\
+				  BRASERO_MEDIUM_APPENDABLE|			\
+				  BRASERO_MEDIUM_CLOSED|			\
+				  BRASERO_MEDIUM_HAS_DATA,			\
+				  (BRASERO_BURN_FLAG_MULTI|			\
+				  BRASERO_BURN_FLAG_OVERBURN|			\
+				  BRASERO_BURN_FLAG_NOGRACE|			\
+				  BRASERO_BURN_FLAG_MERGE) &			\
+				  (~unsupported_MACRO),				\
+				  BRASERO_BURN_FLAG_MULTI);
+
+#define BRASERO_PLUGIN_ADD_STANDARD_BD_R_FLAGS(plugin_MACRO, unsupported_MACRO)			\
+	/* DAO and MULTI are exclusive */					\
+	brasero_plugin_set_flags (plugin_MACRO,					\
+				  BRASERO_MEDIUM_BDR_RANDOM|			\
+				  BRASERO_MEDIUM_BDR_SRM|			\
+				  BRASERO_MEDIUM_BDR_SRM_POW|			\
+				  BRASERO_MEDIUM_DUAL_L|			\
+				  BRASERO_MEDIUM_BLANK,				\
+				  (BRASERO_BURN_FLAG_DAO|			\
+				  BRASERO_BURN_FLAG_OVERBURN|			\
+				  BRASERO_BURN_FLAG_DUMMY|			\
+				  BRASERO_BURN_FLAG_NOGRACE) &			\
+				  (~unsupported_MACRO),				\
+				  BRASERO_BURN_FLAG_NONE);			\
+	brasero_plugin_set_flags (plugin_MACRO,					\
+				  BRASERO_MEDIUM_BDR_RANDOM|			\
+				  BRASERO_MEDIUM_BDR_SRM|			\
+				  BRASERO_MEDIUM_BDR_SRM_POW|			\
+				  BRASERO_MEDIUM_DUAL_L|			\
+				  BRASERO_MEDIUM_BLANK,				\
+				  (BRASERO_BURN_FLAG_OVERBURN|			\
+				  BRASERO_BURN_FLAG_MULTI|			\
+				  BRASERO_BURN_FLAG_DUMMY|			\
+				  BRASERO_BURN_FLAG_NOGRACE) &			\
+				  (~unsupported_MACRO),				\
+				  BRASERO_BURN_FLAG_NONE);			\
+	/* This is a DVDR with data data can be merged or at least appended */	\
+	brasero_plugin_set_flags (plugin_MACRO,					\
+				  BRASERO_MEDIUM_BDR_RANDOM|			\
+				  BRASERO_MEDIUM_BDR_SRM|			\
+				  BRASERO_MEDIUM_BDR_SRM_POW|			\
+				  BRASERO_MEDIUM_DUAL_L|			\
+				  BRASERO_MEDIUM_APPENDABLE|			\
+				  BRASERO_MEDIUM_HAS_DATA,			\
+				  (BRASERO_BURN_FLAG_APPEND|			\
+				  BRASERO_BURN_FLAG_MERGE|			\
+				  BRASERO_BURN_FLAG_OVERBURN|			\
+				  BRASERO_BURN_FLAG_MULTI|			\
+				  BRASERO_BURN_FLAG_DUMMY|			\
+				  BRASERO_BURN_FLAG_NOGRACE) &			\
+				  (~unsupported_MACRO),				\
+				  BRASERO_BURN_FLAG_APPEND);
+
+/**
+ * These kind of media don't support:
+ * - BURNPROOF
+ * - DAO
+ * - APPEND
+ * since they don't behave and are not written in the same way.
+ * They also can't be closed so MULTI is compulsory.
+ */
+#define BRASERO_PLUGIN_ADD_STANDARD_BD_RE_FLAGS(plugin_MACRO, unsupported_MACRO)			\
+	brasero_plugin_set_flags (plugin_MACRO,					\
+				  BRASERO_MEDIUM_BDRE|				\
+				  BRASERO_MEDIUM_DUAL_L|			\
+				  BRASERO_MEDIUM_UNFORMATTED|			\
+				  BRASERO_MEDIUM_BLANK,				\
+				  (BRASERO_BURN_FLAG_MULTI|			\
+				  BRASERO_BURN_FLAG_OVERBURN|			\
+				  BRASERO_BURN_FLAG_NOGRACE) &			\
+				  (~unsupported_MACRO),				\
+				  BRASERO_BURN_FLAG_MULTI);			\
+	brasero_plugin_set_flags (plugin_MACRO,					\
+				  BRASERO_MEDIUM_BDRE|				\
+				  BRASERO_MEDIUM_DUAL_L|			\
+				  BRASERO_MEDIUM_APPENDABLE|			\
+				  BRASERO_MEDIUM_CLOSED|			\
+				  BRASERO_MEDIUM_HAS_DATA,			\
+				  (BRASERO_BURN_FLAG_MULTI|			\
+				  BRASERO_BURN_FLAG_OVERBURN|			\
+				  BRASERO_BURN_FLAG_NOGRACE|			\
+				  BRASERO_BURN_FLAG_MERGE) &			\
+				  (~unsupported_MACRO),				\
+				  BRASERO_BURN_FLAG_MULTI);
+
+G_END_DECLS
+
+#endif

Copied: trunk/libbrasero-burn/brasero-plugin.h (from r2210, /trunk/libbrasero-burn/burn-plugin.h)
==============================================================================
--- /trunk/libbrasero-burn/burn-plugin.h	(original)
+++ trunk/libbrasero-burn/brasero-plugin.h	Sun Apr  5 12:20:44 2009
@@ -33,31 +33,10 @@
 
 #include <glib.h>
 #include <glib-object.h>
-
-#include "brasero-medium.h"
-#include "brasero-track.h"
-#include "brasero-track-stream.h"
-#include "brasero-track-data.h"
-#include "brasero-enums.h"
+#include <gmodule.h>
 
 G_BEGIN_DECLS
 
-#define BRASERO_PLUGIN_BURN_FLAG_MASK	(BRASERO_BURN_FLAG_DUMMY|		\
-					 BRASERO_BURN_FLAG_MULTI|		\
-					 BRASERO_BURN_FLAG_DAO|			\
-					 BRASERO_BURN_FLAG_RAW|			\
-					 BRASERO_BURN_FLAG_BURNPROOF|		\
-					 BRASERO_BURN_FLAG_OVERBURN|		\
-					 BRASERO_BURN_FLAG_NOGRACE|		\
-					 BRASERO_BURN_FLAG_APPEND|		\
-					 BRASERO_BURN_FLAG_MERGE)
-
-#define BRASERO_PLUGIN_IMAGE_FLAG_MASK	(BRASERO_BURN_FLAG_APPEND|		\
-					 BRASERO_BURN_FLAG_MERGE)
-
-#define BRASERO_PLUGIN_BLANK_FLAG_MASK	(BRASERO_BURN_FLAG_NOGRACE|		\
-					 BRASERO_BURN_FLAG_FAST_BLANK)
-
 #define BRASERO_TYPE_PLUGIN             (brasero_plugin_get_type ())
 #define BRASERO_PLUGIN(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), BRASERO_TYPE_PLUGIN, BraseroPlugin))
 #define BRASERO_PLUGIN_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass), BRASERO_TYPE_PLUGIN, BraseroPluginClass))
@@ -82,110 +61,17 @@
 
 GType brasero_plugin_get_type (void) G_GNUC_CONST;
 
-/**
- * These are the functions a plugin must implement
- */
-
-GType brasero_plugin_register_caps (BraseroPlugin *plugin, gchar **error);
-
-void
-brasero_plugin_define (BraseroPlugin *plugin,
-		       const gchar *name,
-		       const gchar *description,
-		       const gchar *author,
-		       guint priority);
-void
-brasero_plugin_set_compulsory (BraseroPlugin *self,
-			       gboolean compulsory);
-
-void
-brasero_plugin_register_group (BraseroPlugin *plugin,
-			       const gchar *name);
-
-typedef enum {
-	BRASERO_PLUGIN_IO_NONE			= 0,
-	BRASERO_PLUGIN_IO_ACCEPT_PIPE		= 1,
-	BRASERO_PLUGIN_IO_ACCEPT_FILE		= 1 << 1,
-} BraseroPluginIOFlag;
-
-typedef enum {
-	BRASERO_PLUGIN_RUN_NEVER		= 0,
-
-	/* pre-process initial track */
-	BRASERO_PLUGIN_RUN_PREPROCESSING	= 1,
-
-	/* run before final image/disc is created */
-	BRASERO_PLUGIN_RUN_BEFORE_TARGET	= 1 << 1,
-
-	/* run after final image/disc is created: post-processing */
-	BRASERO_PLUGIN_RUN_AFTER_TARGET		= 1 << 2,
-} BraseroPluginProcessFlag;
+BraseroPlugin *
+brasero_plugin_new (const gchar *path);
 
 GType
 brasero_plugin_get_gtype (BraseroPlugin *plugin);
 
-GSList *
-brasero_caps_image_new (BraseroPluginIOFlag flags,
-			BraseroImageFormat format);
-
-GSList *
-brasero_caps_audio_new (BraseroPluginIOFlag flags,
-			BraseroStreamFormat format);
-
-GSList *
-brasero_caps_data_new (BraseroImageFS fs_type);
-
-GSList *
-brasero_caps_disc_new (BraseroMedia media);
-
-GSList *
-brasero_caps_checksum_new (BraseroChecksumType checksum);
-
-void
-brasero_plugin_link_caps (BraseroPlugin *plugin,
-			  GSList *outputs,
-			  GSList *inputs);
-
-void
-brasero_plugin_blank_caps (BraseroPlugin *plugin,
-			   GSList *caps);
-
-/**
- * This function is important since not only does it set the flags but it also 
- * tells brasero which types of media are supported. So even if a plugin doesn't
- * support any flag, use it to tell brasero which media are supported.
- * That's only needed if the plugin supports burn/blank operations.
- */
-void
-brasero_plugin_set_flags (BraseroPlugin *plugin,
-			  BraseroMedia media,
-			  BraseroBurnFlag supported,
-			  BraseroBurnFlag compulsory);
-void
-brasero_plugin_set_blank_flags (BraseroPlugin *self,
-				BraseroMedia media,
-				BraseroBurnFlag supported,
-				BraseroBurnFlag compulsory);
-
-void
-brasero_plugin_process_caps (BraseroPlugin *plugin,
-			     GSList *caps);
-
-void
-brasero_plugin_set_process_flags (BraseroPlugin *plugin,
-				  BraseroPluginProcessFlag flags);
-
-void
-brasero_plugin_check_caps (BraseroPlugin *plugin,
-			   BraseroChecksumType type,
-			   GSList *caps);
-
 /**
  * Plugin configure options
  */
 
 typedef struct _BraseroPluginConfOption BraseroPluginConfOption;
-
 typedef enum {
 	BRASERO_PLUGIN_OPTION_NONE	= 0,
 	BRASERO_PLUGIN_OPTION_BOOL,
@@ -194,406 +80,18 @@
 	BRASERO_PLUGIN_OPTION_CHOICE
 } BraseroPluginConfOptionType;
 
-BraseroPluginConfOption *
-brasero_plugin_conf_option_new (const gchar *key,
-				const gchar *description,
-				BraseroPluginConfOptionType type);
-
-BraseroBurnResult
-brasero_plugin_add_conf_option (BraseroPlugin *plugin,
-				BraseroPluginConfOption *option);
-
-BraseroBurnResult
-brasero_plugin_conf_option_bool_add_suboption (BraseroPluginConfOption *option,
-					       BraseroPluginConfOption *suboption);
-
-BraseroBurnResult
-brasero_plugin_conf_option_int_set_range (BraseroPluginConfOption *option,
-					  gint min,
-					  gint max);
-
-BraseroBurnResult
-brasero_plugin_conf_option_choice_add (BraseroPluginConfOption *option,
-				       const gchar *string,
-				       gint value);
-
-/**
- * Boiler plate for plugin definition to save the hassle of definition.
- * To be put at the beginning of the .c file.
- */
-typedef GType	(* BraseroPluginRegisterType)	(BraseroPlugin *plugin, gchar **error);
-
-#define BRASERO_PLUGIN_BOILERPLATE(PluginName, plugin_name, PARENT_NAME, ParentName) \
-typedef struct {								\
-	ParentName parent;							\
-} PluginName;									\
-										\
-typedef struct {								\
-	ParentName##Class parent_class;						\
-} PluginName##Class;								\
-										\
-static GType plugin_name##_type = 0;						\
-										\
-static GType									\
-plugin_name##_get_type (void)							\
-{										\
-	return plugin_name##_type;						\
-}										\
-										\
-static void plugin_name##_class_init (PluginName##Class *klass);		\
-static void plugin_name##_init (PluginName *sp);				\
-static void plugin_name##_finalize (GObject *object);				\
-static BraseroBurnResult plugin_name##_export_caps (BraseroPlugin *plugin, gchar **error);	\
-										\
-G_MODULE_EXPORT GType								\
-brasero_plugin_register (BraseroPlugin *plugin, gchar **error)			\
-{										\
-	if (brasero_plugin_get_gtype (plugin) == G_TYPE_NONE) {			\
-		BraseroBurnResult result;					\
-		result = plugin_name##_export_caps (plugin, error);		\
-		if (result != BRASERO_BURN_OK)					\
-			return G_TYPE_NONE;					\
-	}									\
-	static const GTypeInfo our_info = {					\
-		sizeof (PluginName##Class),					\
-		NULL,								\
-		NULL,								\
-		(GClassInitFunc)plugin_name##_class_init,			\
-		NULL,								\
-		NULL,								\
-		sizeof (PluginName),						\
-		0,								\
-		(GInstanceInitFunc)plugin_name##_init,				\
-	};									\
-	plugin_name##_type = g_type_module_register_type (G_TYPE_MODULE (plugin),		\
-							  PARENT_NAME,		\
-							  G_STRINGIFY (PluginName),		\
-							  &our_info,		\
-							  0);			\
-	return plugin_name##_type;						\
-}
-
-#define BRASERO_PLUGIN_ADD_STANDARD_CDR_FLAGS(plugin_MACRO, unsupported_MACRO)	\
-	/* Use DAO for first session since AUDIO need it to write CD-TEXT */	\
-	brasero_plugin_set_flags (plugin_MACRO,					\
-				  BRASERO_MEDIUM_CD|				\
-				  BRASERO_MEDIUM_WRITABLE|			\
-				  BRASERO_MEDIUM_BLANK,				\
-				  (BRASERO_BURN_FLAG_DAO|			\
-				  BRASERO_BURN_FLAG_MULTI|			\
-				  BRASERO_BURN_FLAG_BURNPROOF|			\
-				  BRASERO_BURN_FLAG_OVERBURN|			\
-				  BRASERO_BURN_FLAG_DUMMY|			\
-				  BRASERO_BURN_FLAG_NOGRACE) &			\
-				  (~unsupported_MACRO),				\
-				  BRASERO_BURN_FLAG_NONE);			\
-	/* This is a CDR with data data can be merged or at least appended */	\
-	brasero_plugin_set_flags (plugin_MACRO,					\
-				  BRASERO_MEDIUM_CD|				\
-				  BRASERO_MEDIUM_WRITABLE|			\
-				  BRASERO_MEDIUM_APPENDABLE|			\
-				  BRASERO_MEDIUM_HAS_AUDIO|			\
-				  BRASERO_MEDIUM_HAS_DATA,			\
-				  (BRASERO_BURN_FLAG_APPEND|			\
-				  BRASERO_BURN_FLAG_MERGE|			\
-				  BRASERO_BURN_FLAG_BURNPROOF|			\
-				  BRASERO_BURN_FLAG_OVERBURN|			\
-				  BRASERO_BURN_FLAG_MULTI|			\
-				  BRASERO_BURN_FLAG_DUMMY|			\
-				  BRASERO_BURN_FLAG_NOGRACE) &			\
-				  (~unsupported_MACRO),				\
-				  BRASERO_BURN_FLAG_APPEND);
-
-#define BRASERO_PLUGIN_ADD_STANDARD_CDRW_FLAGS(plugin_MACRO, unsupported_MACRO)			\
-	/* Use DAO for first session since AUDIO needs it to write CD-TEXT */	\
-	brasero_plugin_set_flags (plugin_MACRO,					\
-				  BRASERO_MEDIUM_CD|				\
-				  BRASERO_MEDIUM_REWRITABLE|			\
-				  BRASERO_MEDIUM_BLANK,				\
-				  (BRASERO_BURN_FLAG_DAO|			\
-				  BRASERO_BURN_FLAG_MULTI|			\
-				  BRASERO_BURN_FLAG_BURNPROOF|			\
-				  BRASERO_BURN_FLAG_OVERBURN|			\
-				  BRASERO_BURN_FLAG_DUMMY|			\
-				  BRASERO_BURN_FLAG_NOGRACE) &			\
-				  (~unsupported_MACRO),				\
-				  BRASERO_BURN_FLAG_NONE);			\
-	/* It is a CDRW we want the CD to be either blanked before or appended	\
-	 * that's why we set MERGE as compulsory. That way if the CD is not 	\
-	 * MERGED we force the blank before writing to avoid appending sessions	\
-	 * endlessly until there is no free space. */				\
-	brasero_plugin_set_flags (plugin_MACRO,					\
-				  BRASERO_MEDIUM_CD|				\
-				  BRASERO_MEDIUM_REWRITABLE|			\
-				  BRASERO_MEDIUM_APPENDABLE|			\
-				  BRASERO_MEDIUM_HAS_AUDIO|			\
-				  BRASERO_MEDIUM_HAS_DATA,			\
-				  (BRASERO_BURN_FLAG_APPEND|			\
-				  BRASERO_BURN_FLAG_MERGE|			\
-				  BRASERO_BURN_FLAG_BURNPROOF|			\
-				  BRASERO_BURN_FLAG_OVERBURN|			\
-				  BRASERO_BURN_FLAG_MULTI|			\
-				  BRASERO_BURN_FLAG_DUMMY|			\
-				  BRASERO_BURN_FLAG_NOGRACE) &			\
-				  (~unsupported_MACRO),				\
-				  BRASERO_BURN_FLAG_MERGE);
-
-#define BRASERO_PLUGIN_ADD_STANDARD_DVDR_FLAGS(plugin_MACRO, unsupported_MACRO)			\
-	/* DAO and MULTI are exclusive */					\
-	brasero_plugin_set_flags (plugin_MACRO,					\
-				  BRASERO_MEDIUM_DVDR|				\
-				  BRASERO_MEDIUM_DUAL_L|			\
-				  BRASERO_MEDIUM_JUMP|				\
-				  BRASERO_MEDIUM_BLANK,				\
-				  (BRASERO_BURN_FLAG_DAO|			\
-				  BRASERO_BURN_FLAG_BURNPROOF|			\
-				  BRASERO_BURN_FLAG_OVERBURN|			\
-				  BRASERO_BURN_FLAG_DUMMY|			\
-				  BRASERO_BURN_FLAG_NOGRACE) &			\
-				  (~unsupported_MACRO),				\
-				  BRASERO_BURN_FLAG_NONE);			\
-	brasero_plugin_set_flags (plugin_MACRO,					\
-				  BRASERO_MEDIUM_DVDR|				\
-				  BRASERO_MEDIUM_DUAL_L|			\
-				  BRASERO_MEDIUM_JUMP|				\
-				  BRASERO_MEDIUM_BLANK,				\
-				  (BRASERO_BURN_FLAG_BURNPROOF|			\
-				  BRASERO_BURN_FLAG_OVERBURN|			\
-				  BRASERO_BURN_FLAG_MULTI|			\
-				  BRASERO_BURN_FLAG_DUMMY|			\
-				  BRASERO_BURN_FLAG_NOGRACE) &			\
-				  (~unsupported_MACRO),				\
-				  BRASERO_BURN_FLAG_NONE);			\
-	/* This is a DVDR with data; data can be merged or at least appended */	\
-	brasero_plugin_set_flags (plugin_MACRO,					\
-				  BRASERO_MEDIUM_DVDR|				\
-				  BRASERO_MEDIUM_DUAL_L|			\
-				  BRASERO_MEDIUM_JUMP|				\
-				  BRASERO_MEDIUM_APPENDABLE|			\
-				  BRASERO_MEDIUM_HAS_DATA,			\
-				  (BRASERO_BURN_FLAG_APPEND|			\
-				  BRASERO_BURN_FLAG_MERGE|			\
-				  BRASERO_BURN_FLAG_BURNPROOF|			\
-				  BRASERO_BURN_FLAG_OVERBURN|			\
-				  BRASERO_BURN_FLAG_MULTI|			\
-				  BRASERO_BURN_FLAG_DUMMY|			\
-				  BRASERO_BURN_FLAG_NOGRACE) &			\
-				  (~unsupported_MACRO),				\
-				  BRASERO_BURN_FLAG_APPEND);
-
-#define BRASERO_PLUGIN_ADD_STANDARD_DVDR_PLUS_FLAGS(plugin_MACRO, unsupported_MACRO)		\
-	/* DVD+R don't have a DUMMY mode */					\
-	brasero_plugin_set_flags (plugin_MACRO,					\
-				  BRASERO_MEDIUM_DVDR_PLUS|			\
-				  BRASERO_MEDIUM_DUAL_L|			\
-				  BRASERO_MEDIUM_BLANK,				\
-				  (BRASERO_BURN_FLAG_DAO|			\
-				  BRASERO_BURN_FLAG_BURNPROOF|			\
-				  BRASERO_BURN_FLAG_OVERBURN|			\
-				  BRASERO_BURN_FLAG_NOGRACE) &			\
-				  (~unsupported_MACRO),				\
-				  BRASERO_BURN_FLAG_NONE);			\
-	brasero_plugin_set_flags (plugin_MACRO,					\
-				  BRASERO_MEDIUM_DVDR_PLUS|			\
-				  BRASERO_MEDIUM_DUAL_L|			\
-				  BRASERO_MEDIUM_BLANK,				\
-				  (BRASERO_BURN_FLAG_BURNPROOF|			\
-				  BRASERO_BURN_FLAG_OVERBURN|			\
-				  BRASERO_BURN_FLAG_MULTI|			\
-				  BRASERO_BURN_FLAG_NOGRACE) &			\
-				  (~unsupported_MACRO),				\
-				  BRASERO_BURN_FLAG_NONE);			\
-	/* DVD+R with data: data can be merged or at least appended */		\
-	brasero_plugin_set_flags (plugin_MACRO,					\
-				  BRASERO_MEDIUM_DVDR_PLUS|			\
-				  BRASERO_MEDIUM_DUAL_L|			\
-				  BRASERO_MEDIUM_APPENDABLE|			\
-				  BRASERO_MEDIUM_HAS_DATA,			\
-				  (BRASERO_BURN_FLAG_MERGE|			\
-				  BRASERO_BURN_FLAG_APPEND|			\
-				  BRASERO_BURN_FLAG_BURNPROOF|			\
-				  BRASERO_BURN_FLAG_OVERBURN|			\
-				  BRASERO_BURN_FLAG_MULTI|			\
-				  BRASERO_BURN_FLAG_NOGRACE) &			\
-				  (~unsupported_MACRO),				\
-				  BRASERO_BURN_FLAG_APPEND);
-
-#define BRASERO_PLUGIN_ADD_STANDARD_DVDRW_FLAGS(plugin_MACRO, unsupported_MACRO)			\
-	brasero_plugin_set_flags (plugin_MACRO,					\
-				  BRASERO_MEDIUM_DVDRW|				\
-				  BRASERO_MEDIUM_UNFORMATTED|			\
-				  BRASERO_MEDIUM_BLANK,				\
-				  (BRASERO_BURN_FLAG_DAO|			\
-				  BRASERO_BURN_FLAG_BURNPROOF|			\
-				  BRASERO_BURN_FLAG_OVERBURN|			\
-				  BRASERO_BURN_FLAG_DUMMY|			\
-				  BRASERO_BURN_FLAG_NOGRACE) &			\
-				  (~unsupported_MACRO),				\
-				  BRASERO_BURN_FLAG_NONE);			\
-	brasero_plugin_set_flags (plugin_MACRO,					\
-				  BRASERO_MEDIUM_DVDRW|				\
-				  BRASERO_MEDIUM_BLANK,				\
-				  (BRASERO_BURN_FLAG_BURNPROOF|			\
-				  BRASERO_BURN_FLAG_OVERBURN|			\
-				  BRASERO_BURN_FLAG_MULTI|			\
-				  BRASERO_BURN_FLAG_DUMMY|			\
-				  BRASERO_BURN_FLAG_NOGRACE) &			\
-				  (~unsupported_MACRO),				\
-				  BRASERO_BURN_FLAG_NONE);			\
-	/* This is a DVDRW we want the DVD to be either blanked before or	\
-	 * appended that's why we set MERGE as compulsory. That way if the DVD	\
-	 * is not MERGED we force the blank before writing to avoid appending	\
-	 * sessions endlessly until there is no free space. */			\
-	brasero_plugin_set_flags (plugin_MACRO,					\
-				  BRASERO_MEDIUM_DVDRW|				\
-				  BRASERO_MEDIUM_APPENDABLE|			\
-				  BRASERO_MEDIUM_HAS_DATA,			\
-				  (BRASERO_BURN_FLAG_MERGE|			\
-				  BRASERO_BURN_FLAG_APPEND|			\
-				  BRASERO_BURN_FLAG_BURNPROOF|			\
-				  BRASERO_BURN_FLAG_OVERBURN|			\
-				  BRASERO_BURN_FLAG_MULTI|			\
-				  BRASERO_BURN_FLAG_DUMMY|			\
-				  BRASERO_BURN_FLAG_NOGRACE) &			\
-				  (~unsupported_MACRO),				\
-				  BRASERO_BURN_FLAG_MERGE);
+typedef enum {
+	BRASERO_PLUGIN_RUN_NEVER		= 0,
 
-/**
- * These kind of media don't support:
- * - BURNPROOF
- * - DAO
- * - APPEND
- * since they don't behave and are not written in the same way.
- * They also can't be closed so MULTI is compulsory.
- */
-#define BRASERO_PLUGIN_ADD_STANDARD_DVDRW_PLUS_FLAGS(plugin_MACRO, unsupported_MACRO)		\
-	brasero_plugin_set_flags (plugin_MACRO,					\
-				  BRASERO_MEDIUM_DVDRW_PLUS|			\
-				  BRASERO_MEDIUM_DUAL_L|			\
-				  BRASERO_MEDIUM_UNFORMATTED|			\
-				  BRASERO_MEDIUM_BLANK,				\
-				  (BRASERO_BURN_FLAG_MULTI|			\
-				  BRASERO_BURN_FLAG_OVERBURN|			\
-				  BRASERO_BURN_FLAG_NOGRACE) &			\
-				  (~unsupported_MACRO),				\
-				  BRASERO_BURN_FLAG_MULTI);			\
-	brasero_plugin_set_flags (plugin_MACRO,					\
-				  BRASERO_MEDIUM_DVDRW_PLUS|			\
-				  BRASERO_MEDIUM_DUAL_L|			\
-				  BRASERO_MEDIUM_APPENDABLE|			\
-				  BRASERO_MEDIUM_CLOSED|			\
-				  BRASERO_MEDIUM_HAS_DATA,			\
-				  (BRASERO_BURN_FLAG_MULTI|			\
-				  BRASERO_BURN_FLAG_OVERBURN|			\
-				  BRASERO_BURN_FLAG_NOGRACE|			\
-				  BRASERO_BURN_FLAG_MERGE) &			\
-				  (~unsupported_MACRO),				\
-				  BRASERO_BURN_FLAG_MULTI);
+	/* pre-process initial track */
+	BRASERO_PLUGIN_RUN_PREPROCESSING	= 1,
 
-/**
- * The above statement apply to these as well. There is no longer dummy mode
- * NOTE: there is no such thing as a DVD-RW DL.
- */
-#define BRASERO_PLUGIN_ADD_STANDARD_DVDRW_RESTRICTED_FLAGS(plugin_MACRO, unsupported_MACRO)	\
-	brasero_plugin_set_flags (plugin_MACRO,					\
-				  BRASERO_MEDIUM_DVD|				\
-				  BRASERO_MEDIUM_RESTRICTED|			\
-				  BRASERO_MEDIUM_REWRITABLE|			\
-				  BRASERO_MEDIUM_UNFORMATTED|			\
-				  BRASERO_MEDIUM_BLANK,				\
-				  (BRASERO_BURN_FLAG_MULTI|			\
-				  BRASERO_BURN_FLAG_OVERBURN|			\
-				  BRASERO_BURN_FLAG_NOGRACE) &			\
-				  (~unsupported_MACRO),				\
-				  BRASERO_BURN_FLAG_MULTI);			\
-	brasero_plugin_set_flags (plugin_MACRO,					\
-				  BRASERO_MEDIUM_DVD|				\
-				  BRASERO_MEDIUM_RESTRICTED|			\
-				  BRASERO_MEDIUM_REWRITABLE|			\
-				  BRASERO_MEDIUM_APPENDABLE|			\
-				  BRASERO_MEDIUM_CLOSED|			\
-				  BRASERO_MEDIUM_HAS_DATA,			\
-				  (BRASERO_BURN_FLAG_MULTI|			\
-				  BRASERO_BURN_FLAG_OVERBURN|			\
-				  BRASERO_BURN_FLAG_NOGRACE|			\
-				  BRASERO_BURN_FLAG_MERGE) &			\
-				  (~unsupported_MACRO),				\
-				  BRASERO_BURN_FLAG_MULTI);
-
-#define BRASERO_PLUGIN_ADD_STANDARD_BD_R_FLAGS(plugin_MACRO, unsupported_MACRO)			\
-	/* DAO and MULTI are exclusive */					\
-	brasero_plugin_set_flags (plugin_MACRO,					\
-				  BRASERO_MEDIUM_BDR_RANDOM|			\
-				  BRASERO_MEDIUM_BDR_SRM|			\
-				  BRASERO_MEDIUM_BDR_SRM_POW|			\
-				  BRASERO_MEDIUM_DUAL_L|			\
-				  BRASERO_MEDIUM_BLANK,				\
-				  (BRASERO_BURN_FLAG_DAO|			\
-				  BRASERO_BURN_FLAG_OVERBURN|			\
-				  BRASERO_BURN_FLAG_DUMMY|			\
-				  BRASERO_BURN_FLAG_NOGRACE) &			\
-				  (~unsupported_MACRO),				\
-				  BRASERO_BURN_FLAG_NONE);			\
-	brasero_plugin_set_flags (plugin_MACRO,					\
-				  BRASERO_MEDIUM_BDR_RANDOM|			\
-				  BRASERO_MEDIUM_BDR_SRM|			\
-				  BRASERO_MEDIUM_BDR_SRM_POW|			\
-				  BRASERO_MEDIUM_DUAL_L|			\
-				  BRASERO_MEDIUM_BLANK,				\
-				  (BRASERO_BURN_FLAG_OVERBURN|			\
-				  BRASERO_BURN_FLAG_MULTI|			\
-				  BRASERO_BURN_FLAG_DUMMY|			\
-				  BRASERO_BURN_FLAG_NOGRACE) &			\
-				  (~unsupported_MACRO),				\
-				  BRASERO_BURN_FLAG_NONE);			\
-	/* This is a DVDR with data data can be merged or at least appended */	\
-	brasero_plugin_set_flags (plugin_MACRO,					\
-				  BRASERO_MEDIUM_BDR_RANDOM|			\
-				  BRASERO_MEDIUM_BDR_SRM|			\
-				  BRASERO_MEDIUM_BDR_SRM_POW|			\
-				  BRASERO_MEDIUM_DUAL_L|			\
-				  BRASERO_MEDIUM_APPENDABLE|			\
-				  BRASERO_MEDIUM_HAS_DATA,			\
-				  (BRASERO_BURN_FLAG_APPEND|			\
-				  BRASERO_BURN_FLAG_MERGE|			\
-				  BRASERO_BURN_FLAG_OVERBURN|			\
-				  BRASERO_BURN_FLAG_MULTI|			\
-				  BRASERO_BURN_FLAG_DUMMY|			\
-				  BRASERO_BURN_FLAG_NOGRACE) &			\
-				  (~unsupported_MACRO),				\
-				  BRASERO_BURN_FLAG_APPEND);
+	/* run before final image/disc is created */
+	BRASERO_PLUGIN_RUN_BEFORE_TARGET	= 1 << 1,
 
-/**
- * These kind of media don't support:
- * - BURNPROOF
- * - DAO
- * - APPEND
- * since they don't behave and are not written in the same way.
- * They also can't be closed so MULTI is compulsory.
- */
-#define BRASERO_PLUGIN_ADD_STANDARD_BD_RE_FLAGS(plugin_MACRO, unsupported_MACRO)			\
-	brasero_plugin_set_flags (plugin_MACRO,					\
-				  BRASERO_MEDIUM_BDRE|				\
-				  BRASERO_MEDIUM_DUAL_L|			\
-				  BRASERO_MEDIUM_UNFORMATTED|			\
-				  BRASERO_MEDIUM_BLANK,				\
-				  (BRASERO_BURN_FLAG_MULTI|			\
-				  BRASERO_BURN_FLAG_OVERBURN|			\
-				  BRASERO_BURN_FLAG_NOGRACE) &			\
-				  (~unsupported_MACRO),				\
-				  BRASERO_BURN_FLAG_MULTI);			\
-	brasero_plugin_set_flags (plugin_MACRO,					\
-				  BRASERO_MEDIUM_BDRE|				\
-				  BRASERO_MEDIUM_DUAL_L|			\
-				  BRASERO_MEDIUM_APPENDABLE|			\
-				  BRASERO_MEDIUM_CLOSED|			\
-				  BRASERO_MEDIUM_HAS_DATA,			\
-				  (BRASERO_BURN_FLAG_MULTI|			\
-				  BRASERO_BURN_FLAG_OVERBURN|			\
-				  BRASERO_BURN_FLAG_NOGRACE|			\
-				  BRASERO_BURN_FLAG_MERGE) &			\
-				  (~unsupported_MACRO),				\
-				  BRASERO_BURN_FLAG_MULTI);
+	/* run after final image/disc is created: post-processing */
+	BRASERO_PLUGIN_RUN_AFTER_TARGET		= 1 << 2,
+} BraseroPluginProcessFlag;
 
 G_END_DECLS
 

Modified: trunk/libbrasero-burn/burn-basics.c
==============================================================================
--- trunk/libbrasero-burn/burn-basics.c	(original)
+++ trunk/libbrasero-burn/burn-basics.c	Sun Apr  5 12:20:44 2009
@@ -41,7 +41,7 @@
 #include "burn-debug.h"
 #include "burn-caps.h"
 #include "burn-plugin-manager.h"
-#include "burn-plugin-private.h"
+#include "brasero-plugin-information.h"
 
 #include "brasero-drive.h"
 #include "brasero-medium-monitor.h"

Modified: trunk/libbrasero-burn/burn-caps.c
==============================================================================
--- trunk/libbrasero-burn/burn-caps.c	(original)
+++ trunk/libbrasero-burn/burn-caps.c	Sun Apr  5 12:20:44 2009
@@ -47,8 +47,8 @@
 #include "brasero-drive.h"
 #include "brasero-medium.h"
 #include "brasero-session.h"
-#include "burn-plugin.h"
-#include "burn-plugin-private.h"
+#include "brasero-plugin.h"
+#include "brasero-plugin-information.h"
 #include "burn-task.h"
 #include "burn-caps.h"
 

Modified: trunk/libbrasero-burn/burn-caps.h
==============================================================================
--- trunk/libbrasero-burn/burn-caps.h	(original)
+++ trunk/libbrasero-burn/burn-caps.h	Sun Apr  5 12:20:44 2009
@@ -36,7 +36,8 @@
 
 #include "burn-basics.h"
 #include "brasero-track.h"
-#include "burn-plugin.h"
+#include "brasero-plugin.h"
+#include "brasero-plugin-registration.h"
 
 G_BEGIN_DECLS
 

Modified: trunk/libbrasero-burn/burn-debug.h
==============================================================================
--- trunk/libbrasero-burn/burn-debug.h	(original)
+++ trunk/libbrasero-burn/burn-debug.h	Sun Apr  5 12:20:44 2009
@@ -36,7 +36,7 @@
 
 #include "brasero-medium.h"
 #include "brasero-track.h"
-#include "burn-plugin.h"
+#include "brasero-plugin-registration.h"
 
 G_BEGIN_DECLS
 

Modified: trunk/libbrasero-burn/burn-job.c
==============================================================================
--- trunk/libbrasero-burn/burn-job.c	(original)
+++ trunk/libbrasero-burn/burn-job.c	Sun Apr  5 12:20:44 2009
@@ -48,7 +48,7 @@
 #include "burn-basics.h"
 #include "burn-debug.h"
 #include "brasero-session.h"
-#include "burn-plugin-private.h"
+#include "brasero-plugin-information.h"
 #include "burn-mkisofs-base.h"
 #include "burn-job.h"
 #include "burn-task-ctx.h"

Modified: trunk/libbrasero-burn/burn-plugin-manager.c
==============================================================================
--- trunk/libbrasero-burn/burn-plugin-manager.c	(original)
+++ trunk/libbrasero-burn/burn-plugin-manager.c	Sun Apr  5 12:20:44 2009
@@ -44,8 +44,8 @@
 #include "burn-basics.h"
 #include "burn-debug.h"
 #include "brasero-track.h"
-#include "burn-plugin.h"
-#include "burn-plugin-private.h"
+#include "brasero-plugin.h"
+#include "brasero-plugin-information.h"
 #include "burn-plugin-manager.h"
 
 static BraseroPluginManager *default_manager = NULL;

Modified: trunk/libbrasero-burn/burn-plugin.c
==============================================================================
--- trunk/libbrasero-burn/burn-plugin.c	(original)
+++ trunk/libbrasero-burn/burn-plugin.c	Sun Apr  5 12:20:44 2009
@@ -44,8 +44,9 @@
 
 #include "burn-basics.h"
 #include "burn-debug.h"
-#include "burn-plugin.h"
-#include "burn-plugin-private.h"
+#include "brasero-plugin.h"
+#include "brasero-plugin-information.h"
+#include "brasero-plugin-registration.h"
 #include "burn-caps.h"
 #include "brasero-media.h"
 
@@ -223,6 +224,7 @@
 /**
  * Plugin configure options
  */
+
 static void
 brasero_plugin_conf_option_choice_pair_free (BraseroPluginChoicePair *pair)
 {

Modified: trunk/libbrasero-burn/plugins/cdrdao/burn-cdrdao.c
==============================================================================
--- trunk/libbrasero-burn/plugins/cdrdao/burn-cdrdao.c	(original)
+++ trunk/libbrasero-burn/plugins/cdrdao/burn-cdrdao.c	Sun Apr  5 12:20:44 2009
@@ -44,7 +44,7 @@
 #include "burn-cdrdao-common.h"
 #include "burn-cdrdao.h"
 #include "brasero-error.h"
-#include "burn-plugin.h"
+#include "brasero-plugin-registration.h"
 #include "burn-job.h"
 #include "burn-process.h"
 #include "brasero-track-disc.h"

Modified: trunk/libbrasero-burn/plugins/cdrdao/burn-toc2cue.c
==============================================================================
--- trunk/libbrasero-burn/plugins/cdrdao/burn-toc2cue.c	(original)
+++ trunk/libbrasero-burn/plugins/cdrdao/burn-toc2cue.c	Sun Apr  5 12:20:44 2009
@@ -38,7 +38,7 @@
 #include <glib/gstdio.h>
 #include <gmodule.h>
 
-#include "burn-plugin.h"
+#include "brasero-plugin-registration.h"
 #include "burn-job.h"
 #include "burn-process.h"
 #include "burn-cdrdao-common.h"

Modified: trunk/libbrasero-burn/plugins/cdrkit/burn-genisoimage.c
==============================================================================
--- trunk/libbrasero-burn/plugins/cdrkit/burn-genisoimage.c	(original)
+++ trunk/libbrasero-burn/plugins/cdrkit/burn-genisoimage.c	Sun Apr  5 12:20:44 2009
@@ -40,10 +40,9 @@
 #include <glib/gstdio.h>
 #include <gmodule.h>
 
-#include "burn-basics.h"
 #include "burn-job.h"
 #include "burn-process.h"
-#include "burn-plugin.h"
+#include "brasero-plugin-registration.h"
 #include "burn-cdrkit.h"
 #include "burn-genisoimage.h"
 #include "brasero-track-data.h"

Modified: trunk/libbrasero-burn/plugins/cdrkit/burn-readom.c
==============================================================================
--- trunk/libbrasero-burn/plugins/cdrkit/burn-readom.c	(original)
+++ trunk/libbrasero-burn/plugins/cdrkit/burn-readom.c	Sun Apr  5 12:20:44 2009
@@ -36,12 +36,11 @@
 #include <glib/gstdio.h>
 #include <gmodule.h>
 
-#include "burn-basics.h"
 #include "burn-cdrkit.h"
 #include "burn-readom.h"
 #include "burn-process.h"
 #include "burn-job.h"
-#include "burn-plugin.h"
+#include "brasero-plugin-registration.h"
 #include "brasero-tags.h"
 #include "brasero-track-disc.h"
 

Modified: trunk/libbrasero-burn/plugins/cdrkit/burn-wodim.c
==============================================================================
--- trunk/libbrasero-burn/plugins/cdrkit/burn-wodim.c	(original)
+++ trunk/libbrasero-burn/plugins/cdrkit/burn-wodim.c	Sun Apr  5 12:20:44 2009
@@ -45,10 +45,11 @@
 
 #include <gconf/gconf-client.h>
 
-#include "burn-basics.h"
+#include "brasero-units.h"
+
 #include "burn-job.h"
 #include "burn-process.h"
-#include "burn-plugin.h"
+#include "brasero-plugin-registration.h"
 #include "burn-cdrkit.h"
 #include "burn-wodim.h"
 

Modified: trunk/libbrasero-burn/plugins/cdrtools/burn-cdrecord.c
==============================================================================
--- trunk/libbrasero-burn/plugins/cdrtools/burn-cdrecord.c	(original)
+++ trunk/libbrasero-burn/plugins/cdrtools/burn-cdrecord.c	Sun Apr  5 12:20:44 2009
@@ -45,10 +45,11 @@
 
 #include <gconf/gconf-client.h>
 
-#include "burn-basics.h"
+#include "brasero-units.h"
+
 #include "burn-job.h"
 #include "burn-process.h"
-#include "burn-plugin.h"
+#include "brasero-plugin-registration.h"
 #include "burn-cdrtools.h"
 #include "burn-cdrecord.h"
 

Modified: trunk/libbrasero-burn/plugins/cdrtools/burn-mkisofs.c
==============================================================================
--- trunk/libbrasero-burn/plugins/cdrtools/burn-mkisofs.c	(original)
+++ trunk/libbrasero-burn/plugins/cdrtools/burn-mkisofs.c	Sun Apr  5 12:20:44 2009
@@ -40,11 +40,10 @@
 #include <glib/gstdio.h>
 #include <gmodule.h>
 
-#include "burn-basics.h"
 #include "burn-debug.h"
 #include "burn-job.h"
 #include "burn-process.h"
-#include "burn-plugin.h"
+#include "brasero-plugin-registration.h"
 #include "burn-cdrtools.h"
 #include "burn-mkisofs.h"
 #include "brasero-track-data.h"

Modified: trunk/libbrasero-burn/plugins/cdrtools/burn-readcd.c
==============================================================================
--- trunk/libbrasero-burn/plugins/cdrtools/burn-readcd.c	(original)
+++ trunk/libbrasero-burn/plugins/cdrtools/burn-readcd.c	Sun Apr  5 12:20:44 2009
@@ -36,12 +36,11 @@
 #include <glib/gstdio.h>
 #include <gmodule.h>
 
-#include "burn-basics.h"
 #include "burn-cdrtools.h"
 #include "burn-readcd.h"
 #include "burn-process.h"
 #include "burn-job.h"
-#include "burn-plugin.h"
+#include "brasero-plugin-registration.h"
 #include "brasero-tags.h"
 #include "brasero-track-disc.h"
 

Modified: trunk/libbrasero-burn/plugins/checksum/burn-checksum-files.c
==============================================================================
--- trunk/libbrasero-burn/plugins/checksum/burn-checksum-files.c	(original)
+++ trunk/libbrasero-burn/plugins/checksum/burn-checksum-files.c	Sun Apr  5 12:20:44 2009
@@ -44,7 +44,7 @@
 #include <gconf/gconf-client.h>
 
 #include "scsi-device.h"
-#include "burn-plugin.h"
+#include "brasero-plugin-registration.h"
 #include "burn-job.h"
 #include "burn-checksum-files.h"
 

Modified: trunk/libbrasero-burn/plugins/checksum/burn-checksum-image.c
==============================================================================
--- trunk/libbrasero-burn/plugins/checksum/burn-checksum-image.c	(original)
+++ trunk/libbrasero-burn/plugins/checksum/burn-checksum-image.c	Sun Apr  5 12:20:44 2009
@@ -45,7 +45,7 @@
 
 #include <gconf/gconf-client.h>
 
-#include "burn-plugin.h"
+#include "brasero-plugin-registration.h"
 #include "burn-job.h"
 #include "burn-checksum-image.h"
 #include "burn-volume.h"

Modified: trunk/libbrasero-burn/plugins/dvdauthor/burn-dvdauthor.c
==============================================================================
--- trunk/libbrasero-burn/plugins/dvdauthor/burn-dvdauthor.c	(original)
+++ trunk/libbrasero-burn/plugins/dvdauthor/burn-dvdauthor.c	Sun Apr  5 12:20:44 2009
@@ -40,8 +40,7 @@
 #include <libxml/xmlstring.h>
 #include <libxml/uri.h>
 
-#include "burn-basics.h"
-#include "burn-plugin.h"
+#include "brasero-plugin-registration.h"
 #include "burn-job.h"
 #include "burn-process.h"
 #include "burn-dvdauthor.h"

Modified: trunk/libbrasero-burn/plugins/dvdcss/burn-dvdcss.c
==============================================================================
--- trunk/libbrasero-burn/plugins/dvdcss/burn-dvdcss.c	(original)
+++ trunk/libbrasero-burn/plugins/dvdcss/burn-dvdcss.c	Sun Apr  5 12:20:44 2009
@@ -40,10 +40,11 @@
 #include <glib/gi18n-lib.h>
 #include <gmodule.h>
 
-#include "burn-basics.h"
+#include "brasero-units.h"
+
 #include "burn-debug.h"
 #include "burn-job.h"
-#include "burn-plugin.h"
+#include "brasero-plugin-registration.h"
 #include "burn-dvdcss.h"
 #include "burn-dvdcss-private.h"
 #include "burn-volume.h"

Modified: trunk/libbrasero-burn/plugins/growisofs/burn-dvd-rw-format.c
==============================================================================
--- trunk/libbrasero-burn/plugins/growisofs/burn-dvd-rw-format.c	(original)
+++ trunk/libbrasero-burn/plugins/growisofs/burn-dvd-rw-format.c	Sun Apr  5 12:20:44 2009
@@ -38,7 +38,8 @@
 #include <gmodule.h>
 
 #include "burn-basics.h"
-#include "burn-plugin.h"
+#include "brasero-plugin.h"
+#include "brasero-plugin-registration.h"
 #include "burn-job.h"
 #include "burn-process.h"
 #include "brasero-medium.h"

Modified: trunk/libbrasero-burn/plugins/growisofs/burn-growisofs.c
==============================================================================
--- trunk/libbrasero-burn/plugins/growisofs/burn-growisofs.c	(original)
+++ trunk/libbrasero-burn/plugins/growisofs/burn-growisofs.c	Sun Apr  5 12:20:44 2009
@@ -42,8 +42,9 @@
 
 #include <gconf/gconf-client.h> 
 
-#include "burn-basics.h"
-#include "burn-plugin.h"
+#include "brasero-units.h"
+
+#include "brasero-plugin-registration.h"
 #include "burn-job.h"
 #include "burn-process.h"
 #include "brasero-drive.h"

Modified: trunk/libbrasero-burn/plugins/libburnia/burn-libburn.c
==============================================================================
--- trunk/libbrasero-burn/plugins/libburnia/burn-libburn.c	(original)
+++ trunk/libbrasero-burn/plugins/libburnia/burn-libburn.c	Sun Apr  5 12:20:44 2009
@@ -43,10 +43,10 @@
 
 #include <libburn/libburn.h>
 
-#include "burn-basics.h"
+#include "brasero-units.h"
 #include "burn-job.h"
 #include "burn-debug.h"
-#include "burn-plugin.h"
+#include "brasero-plugin-registration.h"
 #include "burn-libburn-common.h"
 #include "burn-libburnia.h"
 #include "burn-libburn.h"

Modified: trunk/libbrasero-burn/plugins/libburnia/burn-libisofs.c
==============================================================================
--- trunk/libbrasero-burn/plugins/libburnia/burn-libisofs.c	(original)
+++ trunk/libbrasero-burn/plugins/libburnia/burn-libisofs.c	Sun Apr  5 12:20:44 2009
@@ -43,11 +43,11 @@
 #include <libisofs/libisofs.h>
 #include <libburn/libburn.h>
 
-#include "burn-basics.h"
 #include "burn-libburnia.h"
 #include "burn-libisofs.h"
 #include "burn-job.h"
-#include "burn-plugin.h"
+#include "brasero-units.h"
+#include "brasero-plugin-registration.h"
 #include "burn-libburn-common.h"
 #include "brasero-track-data.h"
 #include "brasero-track-image.h"

Modified: trunk/libbrasero-burn/plugins/local-track/burn-local-image.c
==============================================================================
--- trunk/libbrasero-burn/plugins/local-track/burn-local-image.c	(original)
+++ trunk/libbrasero-burn/plugins/local-track/burn-local-image.c	Sun Apr  5 12:20:44 2009
@@ -46,9 +46,8 @@
 
 #include <gmodule.h>
 
-#include "burn-basics.h"
 #include "burn-job.h"
-#include "burn-plugin.h"
+#include "brasero-plugin-registration.h"
 #include "burn-local-image.h"
 #include "brasero-track-image.h"
 

Modified: trunk/libbrasero-burn/plugins/local-track/burn-uri.c
==============================================================================
--- trunk/libbrasero-burn/plugins/local-track/burn-uri.c	(original)
+++ trunk/libbrasero-burn/plugins/local-track/burn-uri.c	Sun Apr  5 12:20:44 2009
@@ -37,9 +37,9 @@
 
 #include <gmodule.h>
 
-#include "burn-basics.h"
+#include "brasero-units.h"
 #include "burn-job.h"
-#include "burn-plugin.h"
+#include "brasero-plugin-registration.h"
 #include "burn-uri.h"
 
 #include "brasero-track.h"

Modified: trunk/libbrasero-burn/plugins/transcode/burn-normalize.c
==============================================================================
--- trunk/libbrasero-burn/plugins/transcode/burn-normalize.c	(original)
+++ trunk/libbrasero-burn/plugins/transcode/burn-normalize.c	Sun Apr  5 12:20:44 2009
@@ -35,7 +35,7 @@
 #include <gst/gst.h>
 
 #include "burn-job.h"
-#include "burn-plugin.h"
+#include "brasero-plugin-registration.h"
 #include "burn-normalize.h"
 
 BRASERO_PLUGIN_BOILERPLATE (BraseroNormalize, brasero_normalize, BRASERO_TYPE_JOB, BraseroJob);

Modified: trunk/libbrasero-burn/plugins/transcode/burn-transcode.c
==============================================================================
--- trunk/libbrasero-burn/plugins/transcode/burn-transcode.c	(original)
+++ trunk/libbrasero-burn/plugins/transcode/burn-transcode.c	Sun Apr  5 12:20:44 2009
@@ -44,7 +44,7 @@
 #include "brasero-medium.h"
 #include "brasero-tags.h"
 #include "burn-job.h"
-#include "burn-plugin.h"
+#include "brasero-plugin-registration.h"
 #include "burn-transcode.h"
 #include "burn-normalize.h"
 

Modified: trunk/libbrasero-burn/plugins/transcode/burn-vob.c
==============================================================================
--- trunk/libbrasero-burn/plugins/transcode/burn-vob.c	(original)
+++ trunk/libbrasero-burn/plugins/transcode/burn-vob.c	Sun Apr  5 12:20:44 2009
@@ -36,7 +36,7 @@
 
 #include "brasero-tags.h"
 #include "burn-job.h"
-#include "burn-plugin.h"
+#include "brasero-plugin-registration.h"
 #include "burn-vob.h"
 
 BRASERO_PLUGIN_BOILERPLATE (BraseroVob, brasero_vob, BRASERO_TYPE_JOB, BraseroJob);

Modified: trunk/libbrasero-burn/plugins/vcdimager/burn-vcdimager.c
==============================================================================
--- trunk/libbrasero-burn/plugins/vcdimager/burn-vcdimager.c	(original)
+++ trunk/libbrasero-burn/plugins/vcdimager/burn-vcdimager.c	Sun Apr  5 12:20:44 2009
@@ -36,8 +36,7 @@
 #include <libxml/uri.h>
 
 #include "brasero-tags.h"
-#include "burn-basics.h"
-#include "burn-plugin.h"
+#include "brasero-plugin-registration.h"
 #include "burn-job.h"
 #include "burn-process.h"
 #include "burn-vcdimager.h"

Modified: trunk/src/brasero-plugin-manager-ui.c
==============================================================================
--- trunk/src/brasero-plugin-manager-ui.c	(original)
+++ trunk/src/brasero-plugin-manager-ui.c	Sun Apr  5 12:20:44 2009
@@ -39,8 +39,8 @@
 
 #include "brasero-plugin-manager-ui.h"
 
-#include "burn-plugin.h"
-#include "burn-plugin-private.h"
+#include "brasero-plugin.h"
+#include "brasero-plugin-information.h"
 #include "burn-plugin-manager.h"
 #include "brasero-plugin-option.h"
 

Modified: trunk/src/brasero-plugin-option.c
==============================================================================
--- trunk/src/brasero-plugin-option.c	(original)
+++ trunk/src/brasero-plugin-option.c	Sun Apr  5 12:20:44 2009
@@ -33,8 +33,8 @@
 
 #include <gconf/gconf-client.h>
 
-#include "burn-plugin.h"
-#include "burn-plugin-private.h"
+#include "brasero-plugin.h"
+#include "brasero-plugin-information.h"
 #include "brasero-plugin-option.h"
 
 enum {



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