--- configure.ac	2006/07/04 14:58:14	1.1
+++ configure.ac	2006/07/04 15:08:39
@@ -335,6 +335,7 @@ dnl libnautilus-burn devel deps
 PKG_CHECK_MODULES(LIBNAUTILUS_BURN, libnautilus-burn >= 2.13, lnb13=yes, lnb13=no)
 if test "x$lnb13" = "xyes"; then
 	LNB_SOVERSION=3
+	AC_DEFINE(HAVE_LIBNAUTILUS_BURN_3, 1, [Define if libnautilus-burn is version 2.13 or later])
 else
 	PKG_CHECK_MODULES(LIBNAUTILUS_BURN, libnautilus-burn >= 2.12, lnb12=yes, lnb12=no)
 	if test "x$lnb12" = "xyes"; then
--- config.h.in	2006/07/04 15:12:14	1.1
+++ config.h.in	2006/07/04 15:12:19
@@ -24,6 +24,9 @@
 /* Define if your <locale.h> file defines LC_MESSAGES. */
 #undef HAVE_LC_MESSAGES
 
+/* Define if libnautilus-burn is version 2.13 or later */
+#undef HAVE_LIBNAUTILUS_BURN_3
+
 /* Define to 1 if you have the <locale.h> header file. */
 #undef HAVE_LOCALE_H
 
--- burn-sharp/glue.c	2006/07/04 14:56:53	1.1
+++ burn-sharp/glue.c	2006/07/04 15:31:59
@@ -1,6 +1,10 @@
 
 #include <nautilus-burn-recorder.h>
 
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif /* HAVE_CONFIG_H */
+
 struct NautilusBurnRecorderTrack *
 nautilus_burn_glue_create_track (const char *filename,
 				 NautilusBurnRecorderTrackType type)
@@ -23,35 +27,59 @@ nautilus_burn_glue_create_track (const c
 char *
 nautilus_burn_glue_drive_get_id (NautilusBurnDrive *drive)
 {
+#ifndef HAVE_LIBNAUTILUS_BURN_3
 	return g_strdup (drive->cdrecord_id);
+#else /* HAVE_LIBNAUTILUS_BURN_3 */
+	return g_strdup (nautilus_burn_drive_get_device (drive));
+#endif /* HAVE_LIBNAUTILUS_BURN_3 */
 }
 
 NautilusBurnDriveType
 nautilus_burn_glue_drive_get_type (NautilusBurnDrive *drive)
 {
+#ifndef HAVE_LIBNAUTILUS_BURN_3
 	return drive->type;
+#else /* HAVE_LIBNAUTILUS_BURN_3 */
+	return nautilus_burn_drive_get_drive_type (drive);
+#endif /* HAVE_LIBNAUTILUS_BURN_3 */
 }
 
 char *
 nautilus_burn_glue_drive_get_display_name (NautilusBurnDrive *drive)
 {
+#ifndef HAVE_LIBNAUTILUS_BURN_3
 	return g_strdup (drive->display_name);
+#else /* HAVE_LIBNAUTILUS_BURN_3 */
+	return nautilus_burn_drive_get_name_for_display (drive);
+#endif /* HAVE_LIBNAUTILUS_BURN_3 */
 }
 
 int
 nautilus_burn_glue_drive_get_max_read_speed (NautilusBurnDrive *drive)
 {
+#ifndef HAVE_LIBNAUTILUS_BURN_3
 	return drive->max_speed_read;
+#else /* HAVE_LIBNAUTILUS_BURN_3 */
+	return nautilus_burn_drive_get_max_speed_read (drive);
+#endif /* HAVE_LIBNAUTILUS_BURN_3 */
 }
 
 int
 nautilus_burn_glue_drive_get_max_write_speed (NautilusBurnDrive *drive)
 {
+#ifndef HAVE_LIBNAUTILUS_BURN_3
 	return drive->max_speed_write;
+#else /* HAVE_LIBNAUTILUS_BURN_3 */
+	return nautilus_burn_drive_get_max_speed_write (drive);
+#endif /* HAVE_LIBNAUTILUS_BURN_3 */
 }
 
 char *
 nautilus_burn_glue_drive_get_device (NautilusBurnDrive *drive)
 {
+#ifndef HAVE_LIBNAUTILUS_BURN_3
 	return g_strdup (drive->device);
+#else /* HAVE_LIBNAUTILUS_BURN_3 */
+	return g_strdup (nautilus_burn_drive_get_device (drive));
+#endif /* HAVE_LIBNAUTILUS_BURN_3 */
 }
