[gnome-python-desktop] Bug 569055 – add python bindings for libbrasero-media



commit c6ff32ab949c7c83e4f9ecc14576bce677ae38fa
Author: Frederic Peters <fpeters 0d be>
Date:   Sun May 3 18:16:26 2009 +0100

    Bug 569055 â?? add python bindings for libbrasero-media
---
 braseromedia/Makefile.am            |   34 ++
 braseromedia/bm_module.c            |   44 +++
 braseromedia/brasero_media.defs     |  726 +++++++++++++++++++++++++++++++++++
 braseromedia/brasero_media.override |   24 ++
 braseromedia/wscript                |   24 ++
 configure.ac                        |   18 +-
 wscript                             |    2 +
 7 files changed, 871 insertions(+), 1 deletions(-)

diff --git a/braseromedia/Makefile.am b/braseromedia/Makefile.am
new file mode 100644
index 0000000..3b25649
--- /dev/null
+++ b/braseromedia/Makefile.am
@@ -0,0 +1,34 @@
+INCLUDES = $(PYTHON_INCLUDES)
+
+defsdir = $(datadir)/pygtk/2.0/defs
+defs_DATA = brasero_media.defs
+EXTRA_DIST = $(defs_DATA)
+
+pkgpythondir = $(pyexecdir)/gtk-2.0
+pkgpyexecdir = $(pyexecdir)/gtk-2.0
+
+# braseromedia binding
+pkgpyexec_LTLIBRARIES = braseromedia.la
+braseromedia_la_CFLAGS = $(BRASEROMEDIA_CFLAGS)
+braseromedia_la_LDFLAGS = -module -avoid-version -export-symbols-regex initbraseromedia
+braseromedia_la_LIBADD = $(BRASEROMEDIA_LIBS)
+braseromedia_la_SOURCES = bm_module.c
+
+nodist_braseromedia_la_SOURCES = brasero_media.c
+CLEANFILES = brasero_media.c
+EXTRA_DIST += brasero_media.override  
+brasero_media.c: brasero_media.defs brasero_media.override
+
+.defs.c:
+	(cd $(srcdir) \
+	 && $(PYGTK_CODEGEN) \
+	    --override $*.override \
+	    --py_ssize_t-clean \
+	    --register $(PYGTK_DEFSDIR)/gtk-types.defs \
+	    --register $(PYGTK_DEFSDIR)/gdk-types.defs \
+	    --prefix $* $*.defs) > gen-$*.c \
+	&& cp gen-$*.c $*.c \
+	&& rm -f gen-$*.c
+
+EXTRA_DIST += wscript
+
diff --git a/braseromedia/bm_module.c b/braseromedia/bm_module.c
new file mode 100644
index 0000000..a17e7a1
--- /dev/null
+++ b/braseromedia/bm_module.c
@@ -0,0 +1,44 @@
+/* 
+ * Copyright (C) 2009 Frederic PEters <fpeters 0d be>
+ *
+ * This program 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.
+ *
+ * This program 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 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * Authors: Frederic Peters <fpeters 0d be>
+ */
+
+#include <Python.h>
+#include <pygobject.h>
+#include <brasero-media.h>
+
+void brasero_media_register_classes (PyObject *d);
+void brasero_media_add_constants(PyObject *module, const gchar *strip_prefix);
+extern PyMethodDef brasero_media_functions[];
+
+DL_EXPORT(void)
+initbraseromedia(void)
+{
+	PyObject *m, *d;
+	
+	init_pygobject ();
+	
+	m = Py_InitModule ("braseromedia", brasero_media_functions);
+	d = PyModule_GetDict (m);
+	if (PyErr_Occurred())
+		return;
+	
+	/* init auto-gened classes */
+	brasero_media_register_classes (d);
+	brasero_media_add_constants (m, "BRASERO_MEDIA_");
+}
diff --git a/braseromedia/brasero_media.defs b/braseromedia/brasero_media.defs
new file mode 100644
index 0000000..b519555
--- /dev/null
+++ b/braseromedia/brasero_media.defs
@@ -0,0 +1,726 @@
+;; -*- scheme -*-
+; boxed definitions ...
+
+; interface definitions ...
+
+; object definitions ...
+
+(define-object Drive
+  (in-module "Brasero")
+  (parent "GObject")
+  (c-name "BraseroDrive")
+  (gtype-id "BRASERO_TYPE_DRIVE")
+)
+
+(define-object DriveSelection
+  (in-module "Brasero")
+  (parent "GtkComboBox")
+  (c-name "BraseroDriveSelection")
+  (gtype-id "BRASERO_TYPE_DRIVE_SELECTION")
+)
+
+(define-object Medium
+  (in-module "Brasero")
+  (parent "GObject")
+  (c-name "BraseroMedium")
+  (gtype-id "BRASERO_TYPE_MEDIUM")
+)
+
+(define-object MediumMonitor
+  (in-module "Brasero")
+  (parent "GObject")
+  (c-name "BraseroMediumMonitor")
+  (gtype-id "BRASERO_TYPE_MEDIUM_MONITOR")
+)
+
+(define-object MediumSelection
+  (in-module "Brasero")
+  (parent "GtkComboBox")
+  (c-name "BraseroMediumSelection")
+  (gtype-id "BRASERO_TYPE_MEDIUM_SELECTION")
+)
+
+(define-object Volume
+  (in-module "Brasero")
+  (parent "BraseroMedium")
+  (c-name "BraseroVolume")
+  (gtype-id "BRASERO_TYPE_VOLUME")
+)
+
+; pointer definitions ...
+
+;; Enumerations and Flags ...
+
+;; Untyped enumerations and flags ...
+
+(define-flags MediaType
+  (in-module "Brasero")
+  (c-name "BraseroMediaType")
+  (values
+    '("none" "BRASERO_MEDIA_TYPE_NONE")
+    '("file" "BRASERO_MEDIA_TYPE_FILE")
+    '("data" "BRASERO_MEDIA_TYPE_DATA")
+    '("audio" "BRASERO_MEDIA_TYPE_AUDIO")
+    '("writable" "BRASERO_MEDIA_TYPE_WRITABLE")
+    '("rewritable" "BRASERO_MEDIA_TYPE_REWRITABLE")
+    '("any-in-burner" "BRASERO_MEDIA_TYPE_ANY_IN_BURNER")
+    '("all-but-file" "BRASERO_MEDIA_TYPE_ALL_BUT_FILE")
+    '("all" "BRASERO_MEDIA_TYPE_ALL")
+  )
+)
+
+(define-flags DriveType
+  (in-module "Brasero")
+  (c-name "BraseroDriveType")
+  (values
+    '("none" "BRASERO_DRIVE_TYPE_NONE")
+    '("file" "BRASERO_DRIVE_TYPE_FILE")
+    '("writer" "BRASERO_DRIVE_TYPE_WRITER")
+    '("reader" "BRASERO_DRIVE_TYPE_READER")
+    '("all-but-file" "BRASERO_DRIVE_TYPE_ALL_BUT_FILE")
+    '("all" "BRASERO_DRIVE_TYPE_ALL")
+  )
+)
+
+(define-enum MediaError
+  (in-module "Brasero")
+  (c-name "BraseroMediaError")
+  (values
+    '("none" "BRASERO_MEDIA_ERROR_NONE")
+    '("general" "BRASERO_MEDIA_ERROR_GENERAL")
+    '("image-invalid" "BRASERO_MEDIA_ERROR_IMAGE_INVALID")
+  )
+)
+
+(define-flags Media
+  (in-module "Brasero")
+  (c-name "BraseroMedia")
+  (values
+    '("unsupported" "BRASERO_MEDIUM_UNSUPPORTED")
+    '("busy" "BRASERO_MEDIUM_BUSY")
+    '("none" "BRASERO_MEDIUM_NONE")
+    '("file" "BRASERO_MEDIUM_FILE")
+    '("cd" "BRASERO_MEDIUM_CD")
+    '("dvd" "BRASERO_MEDIUM_DVD")
+    '("bd" "BRASERO_MEDIUM_BD")
+    '("dual-l" "BRASERO_MEDIUM_DUAL_L")
+    '("ram" "BRASERO_MEDIUM_RAM")
+    '("plus" "BRASERO_MEDIUM_PLUS")
+    '("sequential" "BRASERO_MEDIUM_SEQUENTIAL")
+    '("restricted" "BRASERO_MEDIUM_RESTRICTED")
+    '("jump" "BRASERO_MEDIUM_JUMP")
+    '("random" "BRASERO_MEDIUM_RANDOM")
+    '("srm" "BRASERO_MEDIUM_SRM")
+    '("pow" "BRASERO_MEDIUM_POW")
+    '("rewritable" "BRASERO_MEDIUM_REWRITABLE")
+    '("writable" "BRASERO_MEDIUM_WRITABLE")
+    '("rom" "BRASERO_MEDIUM_ROM")
+    '("blank" "BRASERO_MEDIUM_BLANK")
+    '("closed" "BRASERO_MEDIUM_CLOSED")
+    '("appendable" "BRASERO_MEDIUM_APPENDABLE")
+    '("unformatted" "BRASERO_MEDIUM_UNFORMATTED")
+    '("protected" "BRASERO_MEDIUM_PROTECTED")
+    '("has-data" "BRASERO_MEDIUM_HAS_DATA")
+    '("has-audio" "BRASERO_MEDIUM_HAS_AUDIO")
+  )
+)
+
+(define-flags DriveCaps
+  (in-module "Brasero")
+  (c-name "BraseroDriveCaps")
+  (values
+    '("none" "BRASERO_DRIVE_CAPS_NONE")
+    '("cdr" "BRASERO_DRIVE_CAPS_CDR")
+    '("cdrw" "BRASERO_DRIVE_CAPS_CDRW")
+    '("dvdr" "BRASERO_DRIVE_CAPS_DVDR")
+    '("dvdrw" "BRASERO_DRIVE_CAPS_DVDRW")
+    '("dvdr-plus" "BRASERO_DRIVE_CAPS_DVDR_PLUS")
+    '("dvdrw-plus" "BRASERO_DRIVE_CAPS_DVDRW_PLUS")
+    '("dvdr-plus-dl" "BRASERO_DRIVE_CAPS_DVDR_PLUS_DL")
+    '("dvdrw-plus-dl" "BRASERO_DRIVE_CAPS_DVDRW_PLUS_DL")
+    '("dvdram" "BRASERO_DRIVE_CAPS_DVDRAM")
+    '("bdr" "BRASERO_DRIVE_CAPS_BDR")
+    '("bdrw" "BRASERO_DRIVE_CAPS_BDRW")
+  )
+)
+
+
+;; From brasero-drive-selection.h
+
+(define-function brasero_drive_selection_get_type
+  (c-name "brasero_drive_selection_get_type")
+  (return-type "GType")
+)
+
+(define-function brasero_drive_selection_new
+  (c-name "brasero_drive_selection_new")
+  (is-constructor-of "BraseroDriveSelection")
+  (return-type "GtkWidget*")
+)
+
+(define-method get_active
+  (of-object "BraseroDriveSelection")
+  (c-name "brasero_drive_selection_get_active")
+  (return-type "BraseroDrive*")
+)
+
+(define-method set_active
+  (of-object "BraseroDriveSelection")
+  (c-name "brasero_drive_selection_set_active")
+  (return-type "gboolean")
+  (parameters
+    '("BraseroDrive*" "drive")
+  )
+)
+
+(define-method show_type
+  (of-object "BraseroDriveSelection")
+  (c-name "brasero_drive_selection_show_type")
+  (return-type "none")
+  (parameters
+    '("BraseroDriveType" "type")
+  )
+)
+
+(define-virtual drive_changed
+  (of-object "BraseroDriveSelection")
+  (return-type "none")
+  (parameters
+    '("BraseroDrive*" "drive")
+  )
+)
+
+
+
+;; From brasero-drive.h
+
+(define-function brasero_drive_get_type
+  (c-name "brasero_drive_get_type")
+  (return-type "GType")
+)
+
+(define-method reprobe
+  (of-object "BraseroDrive")
+  (c-name "brasero_drive_reprobe")
+  (return-type "none")
+)
+
+(define-method get_medium
+  (of-object "BraseroDrive")
+  (c-name "brasero_drive_get_medium")
+  (return-type "BraseroMedium*")
+)
+
+(define-method get_gdrive
+  (of-object "BraseroDrive")
+  (c-name "brasero_drive_get_gdrive")
+  (return-type "GDrive*")
+)
+
+(define-method get_udi
+  (of-object "BraseroDrive")
+  (c-name "brasero_drive_get_udi")
+  (return-type "const-gchar*")
+)
+
+(define-method is_fake
+  (of-object "BraseroDrive")
+  (c-name "brasero_drive_is_fake")
+  (return-type "gboolean")
+)
+
+(define-method get_display_name
+  (of-object "BraseroDrive")
+  (c-name "brasero_drive_get_display_name")
+  (return-type "gchar*")
+)
+
+(define-method get_device
+  (of-object "BraseroDrive")
+  (c-name "brasero_drive_get_device")
+  (return-type "const-gchar*")
+)
+
+(define-method get_block_device
+  (of-object "BraseroDrive")
+  (c-name "brasero_drive_get_block_device")
+  (return-type "const-gchar*")
+)
+
+(define-method get_bus_target_lun_string
+  (of-object "BraseroDrive")
+  (c-name "brasero_drive_get_bus_target_lun_string")
+  (return-type "gchar*")
+)
+
+(define-method get_caps
+  (of-object "BraseroDrive")
+  (c-name "brasero_drive_get_caps")
+  (return-type "BraseroDriveCaps")
+)
+
+(define-method can_write
+  (of-object "BraseroDrive")
+  (c-name "brasero_drive_can_write")
+  (return-type "gboolean")
+)
+
+(define-method can_eject
+  (of-object "BraseroDrive")
+  (c-name "brasero_drive_can_eject")
+  (return-type "gboolean")
+)
+
+(define-method eject
+  (of-object "BraseroDrive")
+  (c-name "brasero_drive_eject")
+  (return-type "gboolean")
+  (parameters
+    '("gboolean" "wait")
+    '("GError**" "error")
+  )
+)
+
+(define-method is_door_open
+  (of-object "BraseroDrive")
+  (c-name "brasero_drive_is_door_open")
+  (return-type "gboolean")
+)
+
+(define-method can_use_exclusively
+  (of-object "BraseroDrive")
+  (c-name "brasero_drive_can_use_exclusively")
+  (return-type "gboolean")
+)
+
+(define-method lock
+  (of-object "BraseroDrive")
+  (c-name "brasero_drive_lock")
+  (return-type "gboolean")
+  (parameters
+    '("const-gchar*" "reason")
+    '("gchar**" "reason_for_failure")
+  )
+)
+
+(define-method unlock
+  (of-object "BraseroDrive")
+  (c-name "brasero_drive_unlock")
+  (return-type "gboolean")
+)
+
+(define-virtual medium_added
+  (of-object "BraseroDrive")
+  (return-type "none")
+  (parameters
+    '("BraseroMedium*" "medium")
+  )
+)
+
+(define-virtual medium_removed
+  (of-object "BraseroDrive")
+  (return-type "none")
+  (parameters
+    '("BraseroMedium*" "medium")
+  )
+)
+
+
+
+;; From brasero-media.h
+
+(define-function brasero_media_library_start
+  (c-name "brasero_media_library_start")
+  (return-type "none")
+)
+
+(define-function brasero_media_library_stop
+  (c-name "brasero_media_library_stop")
+  (return-type "none")
+)
+
+(define-function brasero_media_get_option_group
+  (c-name "brasero_media_get_option_group")
+  (return-type "GOptionGroup*")
+)
+
+(define-function brasero_media_quark
+  (c-name "brasero_media_quark")
+  (return-type "GQuark")
+)
+
+
+
+;; From brasero-medium-monitor.h
+
+(define-function brasero_medium_monitor_get_type
+  (c-name "brasero_medium_monitor_get_type")
+  (return-type "GType")
+)
+
+(define-function brasero_medium_monitor_get_default
+  (c-name "brasero_medium_monitor_get_default")
+  (return-type "BraseroMediumMonitor*")
+)
+
+(define-method get_media
+  (of-object "BraseroMediumMonitor")
+  (c-name "brasero_medium_monitor_get_media")
+  (return-type "GSList*")
+  (parameters
+    '("BraseroMediaType" "type")
+  )
+)
+
+(define-method get_drives
+  (of-object "BraseroMediumMonitor")
+  (c-name "brasero_medium_monitor_get_drives")
+  (return-type "GSList*")
+  (parameters
+    '("BraseroDriveType" "type")
+  )
+)
+
+(define-method get_drive
+  (of-object "BraseroMediumMonitor")
+  (c-name "brasero_medium_monitor_get_drive")
+  (return-type "BraseroDrive*")
+  (parameters
+    '("const-gchar*" "device")
+  )
+)
+
+(define-method is_probing
+  (of-object "BraseroMediumMonitor")
+  (c-name "brasero_medium_monitor_is_probing")
+  (return-type "gboolean")
+)
+
+(define-virtual drive_added
+  (of-object "BraseroMediumMonitor")
+  (return-type "none")
+  (parameters
+    '("BraseroDrive*" "drive")
+  )
+)
+
+(define-virtual drive_removed
+  (of-object "BraseroMediumMonitor")
+  (return-type "none")
+  (parameters
+    '("BraseroDrive*" "drive")
+  )
+)
+
+(define-virtual medium_added
+  (of-object "BraseroMediumMonitor")
+  (return-type "none")
+  (parameters
+    '("BraseroMedium*" "medium")
+  )
+)
+
+(define-virtual medium_removed
+  (of-object "BraseroMediumMonitor")
+  (return-type "none")
+  (parameters
+    '("BraseroMedium*" "medium")
+  )
+)
+
+
+
+;; From brasero-medium-selection.h
+
+(define-function brasero_medium_selection_get_type
+  (c-name "brasero_medium_selection_get_type")
+  (return-type "GType")
+)
+
+(define-function brasero_medium_selection_new
+  (c-name "brasero_medium_selection_new")
+  (is-constructor-of "BraseroMediumSelection")
+  (return-type "GtkWidget*")
+)
+
+(define-method get_active
+  (of-object "BraseroMediumSelection")
+  (c-name "brasero_medium_selection_get_active")
+  (return-type "BraseroMedium*")
+)
+
+(define-method set_active
+  (of-object "BraseroMediumSelection")
+  (c-name "brasero_medium_selection_set_active")
+  (return-type "gboolean")
+  (parameters
+    '("BraseroMedium*" "medium")
+  )
+)
+
+(define-method show_media_type
+  (of-object "BraseroMediumSelection")
+  (c-name "brasero_medium_selection_show_media_type")
+  (return-type "none")
+  (parameters
+    '("BraseroMediaType" "type")
+  )
+)
+
+(define-virtual medium_changed
+  (of-object "BraseroMediumSelection")
+  (return-type "none")
+  (parameters
+    '("BraseroMedium*" "medium")
+  )
+)
+
+(define-virtual format_medium_string
+  (of-object "BraseroMediumSelection")
+  (return-type "gchar*")
+  (parameters
+    '("BraseroMedium*" "medium")
+  )
+)
+
+
+
+;; From brasero-medium.h
+
+(define-function brasero_medium_get_type
+  (c-name "brasero_medium_get_type")
+  (return-type "GType")
+)
+
+(define-method get_status
+  (of-object "BraseroMedium")
+  (c-name "brasero_medium_get_status")
+  (return-type "BraseroMedia")
+)
+
+(define-method get_max_write_speed
+  (of-object "BraseroMedium")
+  (c-name "brasero_medium_get_max_write_speed")
+  (return-type "gint64")
+)
+
+(define-method get_write_speeds
+  (of-object "BraseroMedium")
+  (c-name "brasero_medium_get_write_speeds")
+  (return-type "gint64*")
+)
+
+(define-method get_free_space
+  (of-object "BraseroMedium")
+  (c-name "brasero_medium_get_free_space")
+  (return-type "none")
+  (parameters
+    '("gint64*" "size")
+    '("gint64*" "blocks")
+  )
+)
+
+(define-method get_capacity
+  (of-object "BraseroMedium")
+  (c-name "brasero_medium_get_capacity")
+  (return-type "none")
+  (parameters
+    '("gint64*" "size")
+    '("gint64*" "blocks")
+  )
+)
+
+(define-method get_data_size
+  (of-object "BraseroMedium")
+  (c-name "brasero_medium_get_data_size")
+  (return-type "none")
+  (parameters
+    '("gint64*" "size")
+    '("gint64*" "blocks")
+  )
+)
+
+(define-method get_next_writable_address
+  (of-object "BraseroMedium")
+  (c-name "brasero_medium_get_next_writable_address")
+  (return-type "gint64")
+)
+
+(define-method can_be_rewritten
+  (of-object "BraseroMedium")
+  (c-name "brasero_medium_can_be_rewritten")
+  (return-type "gboolean")
+)
+
+(define-method can_be_written
+  (of-object "BraseroMedium")
+  (c-name "brasero_medium_can_be_written")
+  (return-type "gboolean")
+)
+
+(define-method get_CD_TEXT_title
+  (of-object "BraseroMedium")
+  (c-name "brasero_medium_get_CD_TEXT_title")
+  (return-type "const-gchar*")
+)
+
+(define-method get_type_string
+  (of-object "BraseroMedium")
+  (c-name "brasero_medium_get_type_string")
+  (return-type "const-gchar*")
+)
+
+(define-method get_tooltip
+  (of-object "BraseroMedium")
+  (c-name "brasero_medium_get_tooltip")
+  (return-type "gchar*")
+)
+
+(define-method get_drive
+  (of-object "BraseroMedium")
+  (c-name "brasero_medium_get_drive")
+  (return-type "BraseroDrive*")
+)
+
+(define-method get_track_num
+  (of-object "BraseroMedium")
+  (c-name "brasero_medium_get_track_num")
+  (return-type "guint")
+)
+
+(define-method get_last_data_track_space
+  (of-object "BraseroMedium")
+  (c-name "brasero_medium_get_last_data_track_space")
+  (return-type "gboolean")
+  (parameters
+    '("gint64*" "size")
+    '("gint64*" "blocks")
+  )
+)
+
+(define-method get_last_data_track_address
+  (of-object "BraseroMedium")
+  (c-name "brasero_medium_get_last_data_track_address")
+  (return-type "gboolean")
+  (parameters
+    '("gint64*" "byte")
+    '("gint64*" "sector")
+  )
+)
+
+(define-method get_track_space
+  (of-object "BraseroMedium")
+  (c-name "brasero_medium_get_track_space")
+  (return-type "gboolean")
+  (parameters
+    '("guint" "num")
+    '("gint64*" "size")
+    '("gint64*" "blocks")
+  )
+)
+
+(define-method get_track_address
+  (of-object "BraseroMedium")
+  (c-name "brasero_medium_get_track_address")
+  (return-type "gboolean")
+  (parameters
+    '("guint" "num")
+    '("gint64*" "byte")
+    '("gint64*" "sector")
+  )
+)
+
+
+
+;; From brasero-units.h
+
+(define-function brasero_units_get_time_string
+  (c-name "brasero_units_get_time_string")
+  (return-type "gchar*")
+  (parameters
+    '("guint64" "time")
+    '("gboolean" "with_unit")
+    '("gboolean" "round")
+  )
+)
+
+(define-function brasero_units_get_time_string_from_size
+  (c-name "brasero_units_get_time_string_from_size")
+  (return-type "gchar*")
+  (parameters
+    '("gint64" "size")
+    '("gboolean" "with_unit")
+    '("gboolean" "round")
+  )
+)
+
+
+
+;; From brasero-volume.h
+
+(define-function brasero_volume_get_type
+  (c-name "brasero_volume_get_type")
+  (return-type "GType")
+)
+
+(define-method get_name
+  (of-object "BraseroVolume")
+  (c-name "brasero_volume_get_name")
+  (return-type "gchar*")
+)
+
+(define-method get_icon
+  (of-object "BraseroVolume")
+  (c-name "brasero_volume_get_icon")
+  (return-type "GIcon*")
+)
+
+(define-method get_gvolume
+  (of-object "BraseroVolume")
+  (c-name "brasero_volume_get_gvolume")
+  (return-type "GVolume*")
+)
+
+(define-method is_mounted
+  (of-object "BraseroVolume")
+  (c-name "brasero_volume_is_mounted")
+  (return-type "gboolean")
+)
+
+(define-method get_mount_point
+  (of-object "BraseroVolume")
+  (c-name "brasero_volume_get_mount_point")
+  (return-type "gchar*")
+  (parameters
+    '("GError**" "error")
+  )
+)
+
+(define-method umount
+  (of-object "BraseroVolume")
+  (c-name "brasero_volume_umount")
+  (return-type "gboolean")
+  (parameters
+    '("gboolean" "wait")
+    '("GError**" "error")
+  )
+)
+
+(define-method mount
+  (of-object "BraseroVolume")
+  (c-name "brasero_volume_mount")
+  (return-type "gboolean")
+  (parameters
+    '("GtkWindow*" "parent_window")
+    '("gboolean" "wait")
+    '("GError**" "error")
+  )
+)
+
+(define-method cancel_current_operation
+  (of-object "BraseroVolume")
+  (c-name "brasero_volume_cancel_current_operation")
+  (return-type "none")
+)
+
+
diff --git a/braseromedia/brasero_media.override b/braseromedia/brasero_media.override
new file mode 100644
index 0000000..a3f13c0
--- /dev/null
+++ b/braseromedia/brasero_media.override
@@ -0,0 +1,24 @@
+/* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 4; tab-width: 8 -*- */
+%%
+headers
+#define NO_IMPORT_PYGOBJECT
+#include "pygobject.h"
+#include <brasero-media.h>
+#include <brasero-drive.h>
+#include <brasero-drive-selection.h>
+#include <brasero-medium-selection.h>
+#include <brasero-volume.h>
+#include <brasero-units.h>
+
+#include "config.h"
+
+%%
+modulename braseromedia
+%%
+import gtk.ComboBox as PyGtkComboBox_Type
+import gobject.GObject as PyGObject_Type
+import gtk.Window as PyGtkWindow_Type
+%%
+ignore-glob
+  *_get_type
+
diff --git a/braseromedia/wscript b/braseromedia/wscript
new file mode 100644
index 0000000..cc8acd2
--- /dev/null
+++ b/braseromedia/wscript
@@ -0,0 +1,24 @@
+# -*- python -*-
+# encoding: utf-8
+
+def configure(conf):
+    conf.env.append_value('MODULES_AVAILABLE', 'braseromedia')
+    if 'braseromedia' in conf.env['ENABLE_MODULES'] or 'all' in conf.env['ENABLE_MODULES']:
+        if conf.pkg_check_modules('BRASEROMEDIA',
+                                  'libbrasero-media >= 0.9.2 pygobject-2.0',
+                                  mandatory=False):
+            conf.env.append_value('MODULES_TO_BUILD', 'braseromedia')
+
+
+def build(bld):
+    if 'braseromedia' in bld.env['MODULES_TO_BUILD']:
+        bld.codegen('brasero_media', prefix='brasero_media')
+        pyext = bld.create_pyext()
+        pyext.source = 'bm_module.c brasero_media.c'
+        pyext.includes = '.'
+        pyext.target = 'braseromedia'
+        pyext.uselib = 'BRASEROMEDIA'
+        pyext.install_path = '${PYTHONDIR}/gtk-2.0'
+
+        bld.install_files('${DATADIR}/pygtk/2.0/defs', 'brasero_media.defs')
+
diff --git a/configure.ac b/configure.ac
index 87f07d6..a21293d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,6 +22,7 @@ m4_define(gtksourceview_required_version,     1.1.90)
 m4_define(wnck_required_version,              2.19.3)
 m4_define(libgtop_required_version,           2.13.0)
 m4_define(libnautilus_burn_required_version,  2.15.3)
+m4_define(libbrasero_media_required_version,  0.9.0)
 m4_define(mediaprofiles_required_version,     2.10.0)
 m4_define(gconf_required_version,             2.10.0)
 m4_define(metacity_required_version,          2.21.5)
@@ -128,7 +129,7 @@ AC_ARG_ENABLE([gtk-doc],
 AM_CONDITIONAL(BUILD_DOCS, [test "$enable_gtk_doc" = "yes"])
 
 dnl default bindings to build:
-default_bindings_on="applet gnomeprint gnomeprintui gtksourceview wnck totem_plparser gtop nautilusburn mediaprofiles rsvg gnomekeyring gnomedesktop bugbuddy metacity evolution evolution_ecal evince"
+default_bindings_on="applet gnomeprint gnomeprintui gtksourceview wnck totem_plparser gtop nautilusburn mediaprofiles rsvg gnomekeyring gnomedesktop bugbuddy metacity evolution evolution_ecal evince braseromedia"
 default_bindings_off="metacity"
 default_bindings_all="$default_bindings_on $default_bindings_off"
 
@@ -273,6 +274,18 @@ if test -n "$export_dynamic"; then
   NAUTILUSBURN_LIBS=`echo $NAUTILUSBURN_LIBS | sed -e "s/$export_dynamic//"`
 fi
 
+dnl should we build the braseromedia module?
+AC_ARG_BINDING([braseromedia],[YES])
+if $build_braseromedia; then
+	PKG_CHECK_MODULES(BRASEROMEDIA, [libbrasero-media >= libbrasero_media_required_version
+					 pygtk-2.0 >= pygtk_required_version],
+	  build_braseromedia=true,
+	  build_braseromedia=false)
+fi
+AM_CONDITIONAL(BUILD_BRASEROMEDIA, $build_braseromedia)
+if test -n "$export_dynamic"; then
+  BRASEROMEDIA_LIBS=`echo $BRASEROMEDIA_LIBS | sed -e "s/$export_dynamic//"`
+fi
 
 dnl should we build the mediaprofiles module?
 AC_ARG_BINDING([mediaprofiles],[YES])
@@ -425,6 +438,7 @@ AC_CONFIG_FILES(
   totem/Makefile
   gtop/Makefile
   nautilusburn/Makefile
+  braseromedia/Makefile
   mediaprofiles/Makefile
   metacity/Makefile
   rsvg/Makefile
@@ -452,6 +466,7 @@ $build_wnck              && echo     wnck
 $build_totem_plparser    && echo     totem.plparser
 $build_gtop              && echo     gtop
 $build_nautilusburn      && echo     nautilusburn
+$build_braseromedia      && echo     braseromedia
 $build_mediaprofiles     && echo     mediaprofiles
 $build_metacity          && echo     metacity
 $build_rsvg              && echo     rsvg
@@ -473,6 +488,7 @@ $build_wnck              || echo     wnck
 $build_totem_plparser    || echo     totem.plparser
 $build_gtop              || echo     gtop
 $build_nautilusburn      || echo     nautilusburn
+$build_braseromedia      || echo     braseromedia
 $build_mediaprofiles     || echo     mediaprofiles
 $build_metacity          || echo     metacity
 $build_rsvg              || echo     rsvg
diff --git a/wscript b/wscript
index 2fee72e..f14c5cd 100644
--- a/wscript
+++ b/wscript
@@ -117,6 +117,7 @@ def configure(conf):
     conf.sub_config('mediaprofiles')
     conf.sub_config('metacity')
     conf.sub_config('nautilusburn')
+    conf.sub_config('braseromedia')
     conf.sub_config('rsvg')
     conf.sub_config('totem')
     conf.sub_config('wnck')
@@ -254,6 +255,7 @@ def build(bld):
     bld.add_subdirs('mediaprofiles')
     bld.add_subdirs('metacity')
     bld.add_subdirs('nautilusburn')
+    bld.add_subdirs('braseromedia')
     bld.add_subdirs('rsvg')
     bld.add_subdirs('totem')
     bld.add_subdirs('wnck')



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