<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="Gtk" version="3.0"/>
  <package name="gtk+-3.0"/>
  <namespace name="BraseroMedia"
             version="1.0"
             shared-library="libbrasero-media3.so.1"
             c:identifier-prefixes="Brasero"
             c:symbol-prefixes="brasero">
    <class name="Drive"
           c:symbol-prefix="drive"
           c:type="BraseroDrive"
           parent="GObject.Object"
           glib:type-name="BraseroDrive"
           glib:get-type="brasero_drive_get_type"
           glib:type-struct="DriveClass">
      <doc xml:space="preserve">Represents a physical drive currently connected.</doc>
      <virtual-method name="medium_added">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="drive" transfer-ownership="none">
            <type name="Drive" c:type="BraseroDrive*"/>
          </instance-parameter>
          <parameter name="medium" transfer-ownership="none">
            <type name="Medium" c:type="BraseroMedium*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="medium_removed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="drive" transfer-ownership="none">
            <type name="Drive" c:type="BraseroDrive*"/>
          </instance-parameter>
          <parameter name="medium" transfer-ownership="none">
            <type name="Medium" c:type="BraseroMedium*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="can_eject" c:identifier="brasero_drive_can_eject">
        <doc xml:space="preserve">Returns whether the drive can eject media.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. TRUE if the media can be ejected, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="drive" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroDrive</doc>
            <type name="Drive" c:type="BraseroDrive*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="can_use_exclusively"
              c:identifier="brasero_drive_can_use_exclusively">
        <doc xml:space="preserve">Returns whether or not the drive can be used exclusively, that is whether or
not it is currently used by another application.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE or %FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="drive" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroDrive</doc>
            <type name="Drive" c:type="BraseroDrive*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="can_write" c:identifier="brasero_drive_can_write">
        <doc xml:space="preserve">Returns whether the disc can burn any disc at all.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. TRUE if the drive can write a disc and FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="drive" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroDrive</doc>
            <type name="Drive" c:type="BraseroDrive*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="can_write_media"
              c:identifier="brasero_drive_can_write_media">
        <doc xml:space="preserve">Returns whether the disc can burn a specific media type.

Since 2.29.0</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. TRUE if the drive can write this type of media and FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="drive" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroDrive</doc>
            <type name="Drive" c:type="BraseroDrive*"/>
          </instance-parameter>
          <parameter name="media" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroMedia</doc>
            <type name="Media" c:type="BraseroMedia"/>
          </parameter>
        </parameters>
      </method>
      <method name="cancel_current_operation"
              c:identifier="brasero_drive_cancel_current_operation">
        <doc xml:space="preserve">Cancels all operations currently running for @drive</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="drive" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroDrive *</doc>
            <type name="Drive" c:type="BraseroDrive*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="eject" c:identifier="brasero_drive_eject" throws="1">
        <doc xml:space="preserve">Open the drive tray or ejects the media if there is any inside.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. TRUE on success, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="drive" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroDrive</doc>
            <type name="Drive" c:type="BraseroDrive*"/>
          </instance-parameter>
          <parameter name="wait" transfer-ownership="none">
            <doc xml:space="preserve">#gboolean whether to wait for the completion of the operation (with a GMainLoop)</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_block_device"
              c:identifier="brasero_drive_get_block_device">
        <doc xml:space="preserve">Gets a string holding the block device path for the drive. This can be used on
some other OSes, like Solaris, for GIO operations instead of the device
path.

Solaris uses block device for GIO operations and
uses raw device for system calls and backends
like cdrtool.

If such a path is not available, it returns the device path.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a string holding the block device path</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="drive" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroDrive</doc>
            <type name="Drive" c:type="BraseroDrive*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_bus_target_lun_string"
              c:identifier="brasero_drive_get_bus_target_lun_string">
        <doc xml:space="preserve">Returns the bus, target, lun ("{bus},{target},{lun}") as a string which is
sometimes needed by some backends like cdrecord.

NOTE: that function returns either bus/target/lun or the device path
according to OSes. Basically it returns bus/target/lun only for FreeBSD
which is the only OS in need for that. For all others it returns the device
path.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a string or NULL. The string must be freed when not needed</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="drive" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroDrive</doc>
            <type name="Drive" c:type="BraseroDrive*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_caps" c:identifier="brasero_drive_get_caps">
        <doc xml:space="preserve">Returns what type(s) of disc the drive can write to.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroDriveCaps.</doc>
          <type name="DriveCaps" c:type="BraseroDriveCaps"/>
        </return-value>
        <parameters>
          <instance-parameter name="drive" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroDrive</doc>
            <type name="Drive" c:type="BraseroDrive*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_device" c:identifier="brasero_drive_get_device">
        <doc xml:space="preserve">Gets a string holding the device path for the drive.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a string holding the device path.
On Solaris returns raw device.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="drive" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroDrive</doc>
            <type name="Drive" c:type="BraseroDrive*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_display_name"
              c:identifier="brasero_drive_get_display_name">
        <doc xml:space="preserve">Gets a string holding the name for the drive. That string can be then
displayed in a user interface.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a string holding the name</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="drive" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroDrive</doc>
            <type name="Drive" c:type="BraseroDrive*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_gdrive"
              c:identifier="brasero_drive_get_gdrive"
              introspectable="0">
        <doc xml:space="preserve">Returns the #GDrive corresponding to this #BraseroDrive</doc>
        <return-value>
          <doc xml:space="preserve">a #GDrive or NULL. Unref after use.</doc>
          <type name="Gio.Drive" c:type="GDrive*"/>
        </return-value>
        <parameters>
          <instance-parameter name="drive" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroDrive</doc>
            <type name="Drive" c:type="BraseroDrive*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_medium" c:identifier="brasero_drive_get_medium">
        <doc xml:space="preserve">Gets the medium currently inserted in the drive. If there is no medium or if
the medium is not probed yet then it returns NULL.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroMedium object or NULL. No need to unref after use.</doc>
          <type name="Medium" c:type="BraseroMedium*"/>
        </return-value>
        <parameters>
          <instance-parameter name="drive" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroDrive</doc>
            <type name="Drive" c:type="BraseroDrive*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_udi" c:identifier="brasero_drive_get_udi">
        <doc xml:space="preserve">Gets a string holding the HAL udi corresponding to this device. It can be used
to uniquely identify the drive.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a string holding the HAL udi or NULL. Not to be freed</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="drive" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroDrive</doc>
            <type name="Drive" c:type="BraseroDrive*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_door_open" c:identifier="brasero_drive_is_door_open">
        <doc xml:space="preserve">Returns whether or not the drive door is open.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE or %FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="drive" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroDrive</doc>
            <type name="Drive" c:type="BraseroDrive*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_fake" c:identifier="brasero_drive_is_fake">
        <doc xml:space="preserve">Returns whether or not the drive is a fake one. There is only one and
corresponds to a file which is used when the user wants to burn to a file.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE or %FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="drive" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroDrive</doc>
            <type name="Drive" c:type="BraseroDrive*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_locked" c:identifier="brasero_drive_is_locked">
        <doc xml:space="preserve">Checks whether a #BraseroDrive is currently locked. Manual ejection shouldn't be possible any more.

Since 2.29.0</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the drive is locked or %FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="drive" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroDrive</doc>
            <type name="Drive" c:type="BraseroDrive*"/>
          </instance-parameter>
          <parameter name="reason" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar or NULL. A string to indicate what the drive was locked for if return value is %TRUE</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </method>
      <method name="lock" c:identifier="brasero_drive_lock">
        <doc xml:space="preserve">Locks a #BraseroDrive. Manual ejection shouldn't be possible any more.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the drive was successfully locked or %FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="drive" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroDrive</doc>
            <type name="Drive" c:type="BraseroDrive*"/>
          </instance-parameter>
          <parameter name="reason" transfer-ownership="none">
            <doc xml:space="preserve">a string to indicate what the drive was locked for</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="reason_for_failure" transfer-ownership="none">
            <doc xml:space="preserve">a string (or NULL) to hold the reason why the locking failed</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </method>
      <method name="reprobe" c:identifier="brasero_drive_reprobe">
        <doc xml:space="preserve">Reprobes the drive contents. Useful when an operation has just been performed
(blanking, burning, ...) and medium status should be updated.

NOTE: This operation does not block.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="drive" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroDrive</doc>
            <type name="Drive" c:type="BraseroDrive*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="unlock" c:identifier="brasero_drive_unlock">
        <doc xml:space="preserve">Unlocks a #BraseroDrive.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the drive was successfully unlocked or %FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="drive" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroDrive</doc>
            <type name="Drive" c:type="BraseroDrive*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="device"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="gdrive" writable="1" transfer-ownership="none">
        <type name="Gio.Drive"/>
      </property>
      <property name="udi"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <glib:signal name="medium-added" when="last" no-recurse="1">
        <doc xml:space="preserve">This signal gets emitted when a new medium was detected</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">the new medium which was added</doc>
            <type name="Medium"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="medium-removed" when="last" no-recurse="1">
        <doc xml:space="preserve">This signal gets emitted when a medium is not longer available</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">the medium which was removed</doc>
            <type name="Medium"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <bitfield name="DriveCaps" c:type="BraseroDriveCaps">
      <member name="none" value="0" c:identifier="BRASERO_DRIVE_CAPS_NONE">
      </member>
      <member name="cdr" value="1" c:identifier="BRASERO_DRIVE_CAPS_CDR">
      </member>
      <member name="cdrw" value="2" c:identifier="BRASERO_DRIVE_CAPS_CDRW">
      </member>
      <member name="dvdr" value="4" c:identifier="BRASERO_DRIVE_CAPS_DVDR">
      </member>
      <member name="dvdrw" value="8" c:identifier="BRASERO_DRIVE_CAPS_DVDRW">
      </member>
      <member name="dvdr_plus"
              value="16"
              c:identifier="BRASERO_DRIVE_CAPS_DVDR_PLUS">
      </member>
      <member name="dvdrw_plus"
              value="32"
              c:identifier="BRASERO_DRIVE_CAPS_DVDRW_PLUS">
      </member>
      <member name="dvdr_plus_dl"
              value="64"
              c:identifier="BRASERO_DRIVE_CAPS_DVDR_PLUS_DL">
      </member>
      <member name="dvdrw_plus_dl"
              value="128"
              c:identifier="BRASERO_DRIVE_CAPS_DVDRW_PLUS_DL">
      </member>
      <member name="dvdram"
              value="1024"
              c:identifier="BRASERO_DRIVE_CAPS_DVDRAM">
      </member>
      <member name="bdr" value="256" c:identifier="BRASERO_DRIVE_CAPS_BDR">
      </member>
      <member name="bdrw" value="512" c:identifier="BRASERO_DRIVE_CAPS_BDRW">
      </member>
    </bitfield>
    <record name="DriveClass"
            c:type="BraseroDriveClass"
            glib:is-gtype-struct-for="Drive">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="medium_added">
        <callback name="medium_added">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="drive" transfer-ownership="none">
              <type name="Drive" c:type="BraseroDrive*"/>
            </parameter>
            <parameter name="medium" transfer-ownership="none">
              <type name="Medium" c:type="BraseroMedium*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="medium_removed">
        <callback name="medium_removed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="drive" transfer-ownership="none">
              <type name="Drive" c:type="BraseroDrive*"/>
            </parameter>
            <parameter name="medium" transfer-ownership="none">
              <type name="Medium" c:type="BraseroMedium*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="DriveSelection"
           c:symbol-prefix="drive_selection"
           c:type="BraseroDriveSelection"
           parent="Gtk.ComboBox"
           glib:type-name="BraseroDriveSelection"
           glib:get-type="brasero_drive_selection_get_type"
           glib:type-struct="DriveSelectionClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.CellEditable"/>
      <implements name="Gtk.CellLayout"/>
      <constructor name="new" c:identifier="brasero_drive_selection_new">
        <doc xml:space="preserve">Creates a new #BraseroDriveSelection object</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #GtkWidget. Unref when it is not needed anymore.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <virtual-method name="drive_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="selector" transfer-ownership="none">
            <type name="DriveSelection" c:type="BraseroDriveSelection*"/>
          </instance-parameter>
          <parameter name="drive" transfer-ownership="none">
            <type name="Drive" c:type="BraseroDrive*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_active"
              c:identifier="brasero_drive_selection_get_active"
              introspectable="0">
        <doc xml:space="preserve">Gets the active drive.</doc>
        <return-value>
          <doc xml:space="preserve">a #BraseroDrive or NULL. Unref when it is not needed anymore.</doc>
          <type name="Drive" c:type="BraseroDrive*"/>
        </return-value>
        <parameters>
          <instance-parameter name="selector" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroDriveSelection</doc>
            <type name="DriveSelection" c:type="BraseroDriveSelection*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_active"
              c:identifier="brasero_drive_selection_set_active">
        <doc xml:space="preserve">Sets the active drive. Emits the ::drive-changed signal.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. TRUE if it succeeded, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="selector" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroDriveSelection</doc>
            <type name="DriveSelection" c:type="BraseroDriveSelection*"/>
          </instance-parameter>
          <parameter name="drive" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroDrive to set as the active one in the selector</doc>
            <type name="Drive" c:type="BraseroDrive*"/>
          </parameter>
        </parameters>
      </method>
      <method name="show_type"
              c:identifier="brasero_drive_selection_show_type">
        <doc xml:space="preserve">Filters and displays drive corresponding to @type.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="selector" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroDriveSelection</doc>
            <type name="DriveSelection" c:type="BraseroDriveSelection*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroDriveType</doc>
            <type name="DriveType" c:type="BraseroDriveType"/>
          </parameter>
        </parameters>
      </method>
      <property name="Drive" writable="1" transfer-ownership="none">
        <type name="Drive"/>
      </property>
      <property name="drive-type" writable="1" transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.ComboBox" c:type="GtkComboBox"/>
      </field>
      <glib:signal name="drive-changed" when="first" no-recurse="1" action="1">
        <doc xml:space="preserve">This signal gets emitted when the selected medium has changed</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="drive" transfer-ownership="none">
            <doc xml:space="preserve">the drive which is now selected</doc>
            <type name="Drive"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="DriveSelectionClass"
            c:type="BraseroDriveSelectionClass"
            glib:is-gtype-struct-for="DriveSelection">
      <field name="parent_class">
        <type name="Gtk.ComboBoxClass" c:type="GtkComboBoxClass"/>
      </field>
      <field name="drive_changed">
        <callback name="drive_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="selector" transfer-ownership="none">
              <type name="DriveSelection" c:type="BraseroDriveSelection*"/>
            </parameter>
            <parameter name="drive" transfer-ownership="none">
              <type name="Drive" c:type="BraseroDrive*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <bitfield name="DriveType" c:type="BraseroDriveType">
      <member name="none" value="0" c:identifier="BRASERO_DRIVE_TYPE_NONE">
      </member>
      <member name="file" value="1" c:identifier="BRASERO_DRIVE_TYPE_FILE">
      </member>
      <member name="writer" value="2" c:identifier="BRASERO_DRIVE_TYPE_WRITER">
      </member>
      <member name="reader" value="4" c:identifier="BRASERO_DRIVE_TYPE_READER">
      </member>
      <member name="all_but_file"
              value="254"
              c:identifier="BRASERO_DRIVE_TYPE_ALL_BUT_FILE">
      </member>
      <member name="all" value="255" c:identifier="BRASERO_DRIVE_TYPE_ALL">
      </member>
    </bitfield>
    <constant name="MEDIUM_BDRE" value="0" c:type="BRASERO_MEDIUM_BDRE">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MEDIUM_BDR_RANDOM"
              value="0"
              c:type="BRASERO_MEDIUM_BDR_RANDOM">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MEDIUM_BDR_SRM" value="0" c:type="BRASERO_MEDIUM_BDR_SRM">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MEDIUM_BDR_SRM_POW"
              value="0"
              c:type="BRASERO_MEDIUM_BDR_SRM_POW">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MEDIUM_BD_ROM" value="0" c:type="BRASERO_MEDIUM_BD_ROM">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MEDIUM_CDR" value="0" c:type="BRASERO_MEDIUM_CDR">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MEDIUM_CDROM" value="0" c:type="BRASERO_MEDIUM_CDROM">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MEDIUM_CDRW" value="0" c:type="BRASERO_MEDIUM_CDRW">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MEDIUM_DVDR" value="0" c:type="BRASERO_MEDIUM_DVDR">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MEDIUM_DVDRW" value="0" c:type="BRASERO_MEDIUM_DVDRW">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MEDIUM_DVDRW_PLUS"
              value="0"
              c:type="BRASERO_MEDIUM_DVDRW_PLUS">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MEDIUM_DVDRW_PLUS_DL"
              value="0"
              c:type="BRASERO_MEDIUM_DVDRW_PLUS_DL">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MEDIUM_DVDRW_RESTRICTED"
              value="0"
              c:type="BRASERO_MEDIUM_DVDRW_RESTRICTED">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MEDIUM_DVDR_DL" value="0" c:type="BRASERO_MEDIUM_DVDR_DL">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MEDIUM_DVDR_JUMP_DL"
              value="0"
              c:type="BRASERO_MEDIUM_DVDR_JUMP_DL">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MEDIUM_DVDR_PLUS"
              value="0"
              c:type="BRASERO_MEDIUM_DVDR_PLUS">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MEDIUM_DVDR_PLUS_DL"
              value="0"
              c:type="BRASERO_MEDIUM_DVDR_PLUS_DL">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MEDIUM_DVD_RAM" value="0" c:type="BRASERO_MEDIUM_DVD_RAM">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MEDIUM_DVD_ROM" value="0" c:type="BRASERO_MEDIUM_DVD_ROM">
      <type name="gint" c:type="gint"/>
    </constant>
    <bitfield name="Media" c:type="BraseroMedia">
      <doc xml:space="preserve">This enum allows to define all characteristics for a media (closed, writable, ...)
and identify all types of optical media.</doc>
      <member name="unsupported"
              value="-2"
              c:identifier="BRASERO_MEDIUM_UNSUPPORTED">
      </member>
      <member name="busy" value="-1" c:identifier="BRASERO_MEDIUM_BUSY">
      </member>
      <member name="none" value="0" c:identifier="BRASERO_MEDIUM_NONE">
      </member>
      <member name="file" value="1" c:identifier="BRASERO_MEDIUM_FILE">
      </member>
      <member name="cd" value="2" c:identifier="BRASERO_MEDIUM_CD">
      </member>
      <member name="dvd" value="4" c:identifier="BRASERO_MEDIUM_DVD">
      </member>
      <member name="bd" value="8" c:identifier="BRASERO_MEDIUM_BD">
      </member>
      <member name="dual_l" value="16" c:identifier="BRASERO_MEDIUM_DUAL_L">
      </member>
      <member name="ram" value="32" c:identifier="BRASERO_MEDIUM_RAM">
      </member>
      <member name="plus" value="64" c:identifier="BRASERO_MEDIUM_PLUS">
      </member>
      <member name="sequential"
              value="128"
              c:identifier="BRASERO_MEDIUM_SEQUENTIAL">
      </member>
      <member name="restricted"
              value="256"
              c:identifier="BRASERO_MEDIUM_RESTRICTED">
      </member>
      <member name="jump" value="512" c:identifier="BRASERO_MEDIUM_JUMP">
      </member>
      <member name="random" value="1024" c:identifier="BRASERO_MEDIUM_RANDOM">
      </member>
      <member name="srm" value="2048" c:identifier="BRASERO_MEDIUM_SRM">
      </member>
      <member name="pow" value="4096" c:identifier="BRASERO_MEDIUM_POW">
      </member>
      <member name="rewritable"
              value="16384"
              c:identifier="BRASERO_MEDIUM_REWRITABLE">
      </member>
      <member name="writable"
              value="32768"
              c:identifier="BRASERO_MEDIUM_WRITABLE">
      </member>
      <member name="rom" value="65536" c:identifier="BRASERO_MEDIUM_ROM">
      </member>
      <member name="blank" value="131072" c:identifier="BRASERO_MEDIUM_BLANK">
      </member>
      <member name="closed"
              value="262144"
              c:identifier="BRASERO_MEDIUM_CLOSED">
      </member>
      <member name="appendable"
              value="524288"
              c:identifier="BRASERO_MEDIUM_APPENDABLE">
      </member>
      <member name="unformatted"
              value="1048576"
              c:identifier="BRASERO_MEDIUM_UNFORMATTED">
      </member>
      <member name="protected"
              value="2097152"
              c:identifier="BRASERO_MEDIUM_PROTECTED">
      </member>
      <member name="has_data"
              value="4194304"
              c:identifier="BRASERO_MEDIUM_HAS_DATA">
      </member>
      <member name="has_audio"
              value="8388608"
              c:identifier="BRASERO_MEDIUM_HAS_AUDIO">
      </member>
    </bitfield>
    <enumeration name="MediaError" c:type="BraseroMediaError">
      <doc xml:space="preserve">Error codes returned by libbrasero-media</doc>
      <member name="none" value="0" c:identifier="BRASERO_MEDIA_ERROR_NONE">
      </member>
      <member name="general"
              value="1"
              c:identifier="BRASERO_MEDIA_ERROR_GENERAL">
      </member>
      <member name="image_invalid"
              value="2"
              c:identifier="BRASERO_MEDIA_ERROR_IMAGE_INVALID">
      </member>
    </enumeration>
    <bitfield name="MediaType" c:type="BraseroMediaType">
      <member name="none" value="0" c:identifier="BRASERO_MEDIA_TYPE_NONE">
      </member>
      <member name="file" value="1" c:identifier="BRASERO_MEDIA_TYPE_FILE">
      </member>
      <member name="data" value="2" c:identifier="BRASERO_MEDIA_TYPE_DATA">
      </member>
      <member name="audio" value="4" c:identifier="BRASERO_MEDIA_TYPE_AUDIO">
      </member>
      <member name="writable"
              value="8"
              c:identifier="BRASERO_MEDIA_TYPE_WRITABLE">
      </member>
      <member name="rewritable"
              value="16"
              c:identifier="BRASERO_MEDIA_TYPE_REWRITABLE">
      </member>
      <member name="any_in_burner"
              value="32"
              c:identifier="BRASERO_MEDIA_TYPE_ANY_IN_BURNER">
      </member>
      <member name="cd" value="64" c:identifier="BRASERO_MEDIA_TYPE_CD">
      </member>
      <member name="all_but_file"
              value="254"
              c:identifier="BRASERO_MEDIA_TYPE_ALL_BUT_FILE">
      </member>
      <member name="all" value="255" c:identifier="BRASERO_MEDIA_TYPE_ALL">
      </member>
    </bitfield>
    <class name="Medium"
           c:symbol-prefix="medium"
           c:type="BraseroMedium"
           parent="GObject.Object"
           glib:type-name="BraseroMedium"
           glib:get-type="brasero_medium_get_type"
           glib:type-struct="MediumClass">
      <doc xml:space="preserve">Represents a physical medium currently inserted in a #BraseroDrive.</doc>
      <method name="can_be_rewritten"
              c:identifier="brasero_medium_can_be_rewritten">
        <doc xml:space="preserve">Gets whether the medium can be rewritten. Note: it also checks that the drive
can rewrite the medium type.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. TRUE if the medium can be rewritten, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroMedium</doc>
            <type name="Medium" c:type="BraseroMedium*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="can_be_written"
              c:identifier="brasero_medium_can_be_written">
        <doc xml:space="preserve">Gets whether the medium can be written. It also checks that the medium can
write the medium.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. TRUE if the medium can be rewritten, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroMedium</doc>
            <type name="Medium" c:type="BraseroMedium*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="can_use_burnfree"
              c:identifier="brasero_medium_can_use_burnfree">
        <doc xml:space="preserve">Gets whether the medium supports any burnfree technology.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. TRUE if the medium can use any burnfree technology, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroMedium</doc>
            <type name="Medium" c:type="BraseroMedium*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="can_use_dummy_for_sao"
              c:identifier="brasero_medium_can_use_dummy_for_sao">
        <doc xml:space="preserve">Gets whether the medium supports doing a test write with SAO on.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. TRUE if the medium can use SAO write mode during a test write, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroMedium</doc>
            <type name="Medium" c:type="BraseroMedium*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="can_use_dummy_for_tao"
              c:identifier="brasero_medium_can_use_dummy_for_tao">
        <doc xml:space="preserve">Gets whether the medium supports doing a test write with TAO on.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. TRUE if the medium can use TAO write mode during a test write, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroMedium</doc>
            <type name="Medium" c:type="BraseroMedium*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="can_use_sao" c:identifier="brasero_medium_can_use_sao">
        <doc xml:space="preserve">Gets whether the medium supports SAO.

Since 2.29</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. TRUE if the medium can use SAO write mode , FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroMedium</doc>
            <type name="Medium" c:type="BraseroMedium*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="can_use_tao" c:identifier="brasero_medium_can_use_tao">
        <doc xml:space="preserve">Gets whether the medium supports TAO.

Since 2.29</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. TRUE if the medium can use TAO write mode, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroMedium</doc>
            <type name="Medium" c:type="BraseroMedium*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_CD_TEXT_title"
              c:identifier="brasero_medium_get_CD_TEXT_title">
        <doc xml:space="preserve">Gets the CD-TEXT title for @Medium.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gchar *.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroMedium</doc>
            <type name="Medium" c:type="BraseroMedium*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_capacity" c:identifier="brasero_medium_get_capacity">
        <doc xml:space="preserve">Stores in either @size (in bytes) or @blocks (the number of blocks) the total
disc space.
Note that when the disc is closed this space is the one occupied by data.
Otherwise it is the sum of free and used space.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroMedium</doc>
            <type name="Medium" c:type="BraseroMedium*"/>
          </instance-parameter>
          <parameter name="bytes" transfer-ownership="none">
            <doc xml:space="preserve">a #gint64 * or NULL</doc>
            <type name="gint64" c:type="goffset*"/>
          </parameter>
          <parameter name="blocks" transfer-ownership="none">
            <doc xml:space="preserve">a #gint64 * or NULL</doc>
            <type name="gint64" c:type="goffset*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_data_size" c:identifier="brasero_medium_get_data_size">
        <doc xml:space="preserve">Stores in either @size (in bytes) or @blocks (the number of blocks) the size
used to store data (including audio on CDs) on the disc.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroMedium</doc>
            <type name="Medium" c:type="BraseroMedium*"/>
          </instance-parameter>
          <parameter name="bytes" transfer-ownership="none">
            <doc xml:space="preserve">a #gint64 * or NULL</doc>
            <type name="gint64" c:type="goffset*"/>
          </parameter>
          <parameter name="blocks" transfer-ownership="none">
            <doc xml:space="preserve">a #gint64 * or NULL</doc>
            <type name="gint64" c:type="goffset*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_drive" c:identifier="brasero_medium_get_drive">
        <doc xml:space="preserve">Gets the #BraseroDrive in which the medium is inserted.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroDrive. No need to unref after use.</doc>
          <type name="Drive" c:type="BraseroDrive*"/>
        </return-value>
        <parameters>
          <instance-parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroMedium</doc>
            <type name="Medium" c:type="BraseroMedium*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_free_space"
              c:identifier="brasero_medium_get_free_space">
        <doc xml:space="preserve">Stores in either @size (in bytes) or @blocks (the number of blocks) the space
on the disc that can be used for writing.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroMedium</doc>
            <type name="Medium" c:type="BraseroMedium*"/>
          </instance-parameter>
          <parameter name="bytes" transfer-ownership="none">
            <doc xml:space="preserve">a #gint64 * or NULL</doc>
            <type name="gint64" c:type="goffset*"/>
          </parameter>
          <parameter name="blocks" transfer-ownership="none">
            <doc xml:space="preserve">a #gint64 * or NULL</doc>
            <type name="gint64" c:type="goffset*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_last_data_track_address"
              c:identifier="brasero_medium_get_last_data_track_address">
        <doc xml:space="preserve">Stores in either @bytes (in bytes) or in @sectors (in blocks) the address where
the last session starts. This is useful when creating a multisession image or
when reading the contents of this last track.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. Returns TRUE if information could be retrieved.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroMedium</doc>
            <type name="Medium" c:type="BraseroMedium*"/>
          </instance-parameter>
          <parameter name="bytes" transfer-ownership="none">
            <doc xml:space="preserve">a #goffset * or NULL</doc>
            <type name="gint64" c:type="goffset*"/>
          </parameter>
          <parameter name="sectors" transfer-ownership="none">
            <doc xml:space="preserve">a #goffset * or NULL</doc>
            <type name="gint64" c:type="goffset*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_last_data_track_space"
              c:identifier="brasero_medium_get_last_data_track_space">
        <doc xml:space="preserve">Stores in either @bytes (in bytes) or in @sectors (in blocks) the space used by
the last track on the medium.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. Returns TRUE if information could be retrieved.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroMedium</doc>
            <type name="Medium" c:type="BraseroMedium*"/>
          </instance-parameter>
          <parameter name="bytes" transfer-ownership="none">
            <doc xml:space="preserve">a #goffset * or NULL</doc>
            <type name="gint64" c:type="goffset*"/>
          </parameter>
          <parameter name="sectors" transfer-ownership="none">
            <doc xml:space="preserve">a #goffset * or NULL</doc>
            <type name="gint64" c:type="goffset*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_max_write_speed"
              c:identifier="brasero_medium_get_max_write_speed">
        <doc xml:space="preserve">Gets the maximum speed that can be used to write to @medium.
Note: the speed are in B/sec.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #guint64.</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroMedium</doc>
            <type name="Medium" c:type="BraseroMedium*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_next_writable_address"
              c:identifier="brasero_medium_get_next_writable_address">
        <doc xml:space="preserve">Gets the address (block number) that can be used to write a new session on @medium</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gint64.</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroMedium</doc>
            <type name="Medium" c:type="BraseroMedium*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_status" c:identifier="brasero_medium_get_status">
        <doc xml:space="preserve">Gets the medium type and state.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroMedia.</doc>
          <type name="Media" c:type="BraseroMedia"/>
        </return-value>
        <parameters>
          <instance-parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroMedium</doc>
            <type name="Medium" c:type="BraseroMedium*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_tooltip" c:identifier="brasero_medium_get_tooltip">
        <doc xml:space="preserve">Returns a tooltip to be displayed in the UI.
It is of the form {content type} {disc type} in {drive name}.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #gchar *.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroMedium</doc>
            <type name="Medium" c:type="BraseroMedium*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_track_address"
              c:identifier="brasero_medium_get_track_address">
        <doc xml:space="preserve">Stores in either @bytes (in bytes) or in @sectors (in blocks) the address at
which the session identified by @num starts.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. Returns TRUE if information could be retrieved;
FALSE otherwise (usually when track @num doesn't exist).</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroMedium</doc>
            <type name="Medium" c:type="BraseroMedium*"/>
          </instance-parameter>
          <parameter name="num" transfer-ownership="none">
            <doc xml:space="preserve">a #guint</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="bytes" transfer-ownership="none">
            <doc xml:space="preserve">a #goffset * or NULL</doc>
            <type name="gint64" c:type="goffset*"/>
          </parameter>
          <parameter name="sectors" transfer-ownership="none">
            <doc xml:space="preserve">a #goffset * or NULL</doc>
            <type name="gint64" c:type="goffset*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_track_num" c:identifier="brasero_medium_get_track_num">
        <doc xml:space="preserve">Gets the number of tracks on the medium.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #guint.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroMedium</doc>
            <type name="Medium" c:type="BraseroMedium*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_track_space"
              c:identifier="brasero_medium_get_track_space">
        <doc xml:space="preserve">Stores in either @bytes (in bytes) or in @sectors (in blocks) the space used
by session @num on the disc.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. Returns TRUE if information could be retrieved;
FALSE otherwise (usually when track @num doesn't exist).</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroMedium</doc>
            <type name="Medium" c:type="BraseroMedium*"/>
          </instance-parameter>
          <parameter name="num" transfer-ownership="none">
            <doc xml:space="preserve">a #guint</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="bytes" transfer-ownership="none">
            <doc xml:space="preserve">a #goffset * or NULL</doc>
            <type name="gint64" c:type="goffset*"/>
          </parameter>
          <parameter name="sectors" transfer-ownership="none">
            <doc xml:space="preserve">a #goffset * or NULL</doc>
            <type name="gint64" c:type="goffset*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_type_string"
              c:identifier="brasero_medium_get_type_string">
        <doc xml:space="preserve">Returns the medium type as a string to be displayed in a UI.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gchar *.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroMedium</doc>
            <type name="Medium" c:type="BraseroMedium*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_write_speeds"
              c:identifier="brasero_medium_get_write_speeds">
        <doc xml:space="preserve">Gets an array holding all possible speeds to write to @medium.
Note: the speed are in B/sec.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #guint64 *.</doc>
          <type name="guint64" c:type="guint64*"/>
        </return-value>
        <parameters>
          <instance-parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroMedium</doc>
            <type name="Medium" c:type="BraseroMedium*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="drive"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Drive"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <glib:signal name="probed" when="last" no-recurse="1">
        <doc xml:space="preserve">This signal gets emitted when the medium inside the drive has been
fully probed. This is mostly for internal use.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="MediumClass"
            c:type="BraseroMediumClass"
            glib:is-gtype-struct-for="Medium">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="MediumMonitor"
           c:symbol-prefix="medium_monitor"
           c:type="BraseroMediumMonitor"
           parent="GObject.Object"
           glib:type-name="BraseroMediumMonitor"
           glib:get-type="brasero_medium_monitor_get_type"
           glib:type-struct="MediumMonitorClass">
      <function name="get_default"
                c:identifier="brasero_medium_monitor_get_default"
                introspectable="0">
        <doc xml:space="preserve">Gets the currently active monitor.</doc>
        <return-value>
          <doc xml:space="preserve">a #BraseroMediumMonitor. Unref when it is not needed anymore.</doc>
          <type name="MediumMonitor" c:type="BraseroMediumMonitor*"/>
        </return-value>
      </function>
      <virtual-method name="drive_added">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <type name="MediumMonitor" c:type="BraseroMediumMonitor*"/>
          </instance-parameter>
          <parameter name="drive" transfer-ownership="none">
            <type name="Drive" c:type="BraseroDrive*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="drive_removed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <type name="MediumMonitor" c:type="BraseroMediumMonitor*"/>
          </instance-parameter>
          <parameter name="drive" transfer-ownership="none">
            <type name="Drive" c:type="BraseroDrive*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="medium_added">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <type name="MediumMonitor" c:type="BraseroMediumMonitor*"/>
          </instance-parameter>
          <parameter name="medium" transfer-ownership="none">
            <type name="Medium" c:type="BraseroMedium*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="medium_removed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <type name="MediumMonitor" c:type="BraseroMediumMonitor*"/>
          </instance-parameter>
          <parameter name="medium" transfer-ownership="none">
            <type name="Medium" c:type="BraseroMedium*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_drive"
              c:identifier="brasero_medium_monitor_get_drive"
              introspectable="0">
        <doc xml:space="preserve">Returns the #BraseroDrive object whose path is @path.</doc>
        <return-value>
          <doc xml:space="preserve">a #BraseroDrive or NULL. It should be unreffed when no longer in use.</doc>
          <type name="Drive" c:type="BraseroDrive*"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroMediumMonitor</doc>
            <type name="MediumMonitor" c:type="BraseroMediumMonitor*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve">the path of the device</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_drives"
              c:identifier="brasero_medium_monitor_get_drives">
        <doc xml:space="preserve">Gets the list of available drives that are of the given type.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #GSList of  #BraseroDrive or NULL. The list must be freed and the element unreffed when finished.</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="Drive"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroMediumMonitor</doc>
            <type name="MediumMonitor" c:type="BraseroMediumMonitor*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroDriveType to tell what type of drives to include in the list</doc>
            <type name="DriveType" c:type="BraseroDriveType"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_media" c:identifier="brasero_medium_monitor_get_media">
        <doc xml:space="preserve">Obtains the list of available media that are of the given type.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #GSList of  #BraseroMedium or NULL. The list must be freed and the element unreffed when finished.</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="Medium"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroMediumMonitor</doc>
            <type name="MediumMonitor" c:type="BraseroMediumMonitor*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">the type of #BraseroMedium that should be in the list</doc>
            <type name="MediaType" c:type="BraseroMediaType"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_probing"
              c:identifier="brasero_medium_monitor_is_probing">
        <doc xml:space="preserve">Returns if the library is still probing some other media.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if it is still probing some media</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="monitor" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroMediumMonitor</doc>
            <type name="MediumMonitor" c:type="BraseroMediumMonitor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <glib:signal name="drive-added" when="last" no-recurse="1">
        <doc xml:space="preserve">This signal gets emitted when a new drive was detected</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">the new medium which was added</doc>
            <type name="Drive"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="drive-removed" when="last" no-recurse="1">
        <doc xml:space="preserve">This signal gets emitted when a drive is not longer available</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">the medium which was removed</doc>
            <type name="Drive"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="medium-added" when="last" no-recurse="1">
        <doc xml:space="preserve">This signal gets emitted when a new medium was detected</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">the new medium which was added</doc>
            <type name="Medium"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="medium-removed" when="last" no-recurse="1">
        <doc xml:space="preserve">This signal gets emitted when a medium is not longer available</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">the medium which was removed</doc>
            <type name="Medium"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="MediumMonitorClass"
            c:type="BraseroMediumMonitorClass"
            glib:is-gtype-struct-for="MediumMonitor">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="drive_added">
        <callback name="drive_added">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="monitor" transfer-ownership="none">
              <type name="MediumMonitor" c:type="BraseroMediumMonitor*"/>
            </parameter>
            <parameter name="drive" transfer-ownership="none">
              <type name="Drive" c:type="BraseroDrive*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="drive_removed">
        <callback name="drive_removed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="monitor" transfer-ownership="none">
              <type name="MediumMonitor" c:type="BraseroMediumMonitor*"/>
            </parameter>
            <parameter name="drive" transfer-ownership="none">
              <type name="Drive" c:type="BraseroDrive*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="medium_added">
        <callback name="medium_added">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="monitor" transfer-ownership="none">
              <type name="MediumMonitor" c:type="BraseroMediumMonitor*"/>
            </parameter>
            <parameter name="medium" transfer-ownership="none">
              <type name="Medium" c:type="BraseroMedium*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="medium_removed">
        <callback name="medium_removed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="monitor" transfer-ownership="none">
              <type name="MediumMonitor" c:type="BraseroMediumMonitor*"/>
            </parameter>
            <parameter name="medium" transfer-ownership="none">
              <type name="Medium" c:type="BraseroMedium*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="MediumSelection"
           c:symbol-prefix="medium_selection"
           c:type="BraseroMediumSelection"
           parent="Gtk.ComboBox"
           glib:type-name="BraseroMediumSelection"
           glib:get-type="brasero_medium_selection_get_type"
           glib:type-struct="MediumSelectionClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.CellEditable"/>
      <implements name="Gtk.CellLayout"/>
      <constructor name="new" c:identifier="brasero_medium_selection_new">
        <doc xml:space="preserve">Creates a new #BraseroMediumSelection object</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #GtkWidget. Unref when it is not needed anymore.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <virtual-method name="format_medium_string">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="selection" transfer-ownership="none">
            <type name="MediumSelection" c:type="BraseroMediumSelection*"/>
          </instance-parameter>
          <parameter name="medium" transfer-ownership="none">
            <type name="Medium" c:type="BraseroMedium*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="medium_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="selection" transfer-ownership="none">
            <type name="MediumSelection" c:type="BraseroMediumSelection*"/>
          </instance-parameter>
          <parameter name="medium" transfer-ownership="none">
            <type name="Medium" c:type="BraseroMedium*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_active"
              c:identifier="brasero_medium_selection_get_active"
              introspectable="0">
        <doc xml:space="preserve">Gets the active medium.</doc>
        <return-value>
          <doc xml:space="preserve">a #BraseroMedium or NULL. Unref when it is not needed anymore.</doc>
          <type name="Medium" c:type="BraseroMedium*"/>
        </return-value>
        <parameters>
          <instance-parameter name="selector" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroMediumSelection</doc>
            <type name="MediumSelection" c:type="BraseroMediumSelection*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_active"
              c:identifier="brasero_medium_selection_set_active">
        <doc xml:space="preserve">Sets the active medium. Emits the ::medium-changed signal.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. TRUE if it succeeded, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="selector" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroMediumSelection</doc>
            <type name="MediumSelection" c:type="BraseroMediumSelection*"/>
          </instance-parameter>
          <parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroMedium to set as the active one in the selector</doc>
            <type name="Medium" c:type="BraseroMedium*"/>
          </parameter>
        </parameters>
      </method>
      <method name="show_media_type"
              c:identifier="brasero_medium_selection_show_media_type">
        <doc xml:space="preserve">Filters and displays media corresponding to @type.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="selector" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroMediumSelection</doc>
            <type name="MediumSelection" c:type="BraseroMediumSelection*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroMediaType</doc>
            <type name="MediaType" c:type="BraseroMediaType"/>
          </parameter>
        </parameters>
      </method>
      <property name="media-type" writable="1" transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </property>
      <property name="medium" writable="1" transfer-ownership="none">
        <type name="Medium"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.ComboBox" c:type="GtkComboBox"/>
      </field>
      <glib:signal name="medium-changed"
                   when="first"
                   no-recurse="1"
                   action="1">
        <doc xml:space="preserve">This signal gets emitted when the selected medium has changed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">the new selected medium</doc>
            <type name="Medium"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="MediumSelectionClass"
            c:type="BraseroMediumSelectionClass"
            glib:is-gtype-struct-for="MediumSelection">
      <field name="parent_class">
        <type name="Gtk.ComboBoxClass" c:type="GtkComboBoxClass"/>
      </field>
      <field name="medium_changed">
        <callback name="medium_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="selection" transfer-ownership="none">
              <type name="MediumSelection" c:type="BraseroMediumSelection*"/>
            </parameter>
            <parameter name="medium" transfer-ownership="none">
              <type name="Medium" c:type="BraseroMedium*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="format_medium_string">
        <callback name="format_medium_string">
          <return-value transfer-ownership="full">
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="selection" transfer-ownership="none">
              <type name="MediumSelection" c:type="BraseroMediumSelection*"/>
            </parameter>
            <parameter name="medium" transfer-ownership="none">
              <type name="Medium" c:type="BraseroMedium*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="Volume"
           c:symbol-prefix="volume"
           c:type="BraseroVolume"
           parent="Medium"
           glib:type-name="BraseroVolume"
           glib:get-type="brasero_volume_get_type"
           glib:type-struct="VolumeClass">
      <method name="cancel_current_operation"
              c:identifier="brasero_volume_cancel_current_operation">
        <doc xml:space="preserve">Cancels all operations currently running for @volume</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="volume" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroVolume *</doc>
            <type name="Volume" c:type="BraseroVolume*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_gvolume"
              c:identifier="brasero_volume_get_gvolume"
              introspectable="0">
        <doc xml:space="preserve">Gets the corresponding #GVolume for @volume.</doc>
        <return-value>
          <doc xml:space="preserve">a #GVolume *.</doc>
          <type name="Gio.Volume" c:type="GVolume*"/>
        </return-value>
        <parameters>
          <instance-parameter name="volume" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroVolume</doc>
            <type name="Volume" c:type="BraseroVolume*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon"
              c:identifier="brasero_volume_get_icon"
              introspectable="0">
        <doc xml:space="preserve">Returns a GIcon pointer for the volume.</doc>
        <return-value>
          <doc xml:space="preserve">a #GIcon*</doc>
          <type name="Gio.Icon" c:type="GIcon*"/>
        </return-value>
        <parameters>
          <instance-parameter name="volume" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroVolume *</doc>
            <type name="Volume" c:type="BraseroVolume*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mount_point"
              c:identifier="brasero_volume_get_mount_point"
              throws="1">
        <doc xml:space="preserve">Returns the path for mount point for @volume.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #gchar *</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="volume" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroVolume</doc>
            <type name="Volume" c:type="BraseroVolume*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name" c:identifier="brasero_volume_get_name">
        <doc xml:space="preserve">Returns a string that can be displayed to represent the volume²</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #gchar *. Free when not needed anymore.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="volume" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroVolume *</doc>
            <type name="Volume" c:type="BraseroVolume*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_mounted" c:identifier="brasero_volume_is_mounted">
        <doc xml:space="preserve">Returns whether the volume is currently mounted.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. TRUE if it is mounted.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="volume" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroVolume</doc>
            <type name="Volume" c:type="BraseroVolume*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="mount" c:identifier="brasero_volume_mount" throws="1">
        <doc xml:space="preserve">Mount @volume. If wait is set to TRUE, then block (in a GMainLoop) until
the operation finishes.
@parent_window is used if an authentification is needed. Then the authentification
dialog will be set modal.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. TRUE if the operation succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="volume" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroVolume *</doc>
            <type name="Volume" c:type="BraseroVolume*"/>
          </instance-parameter>
          <parameter name="parent_window" transfer-ownership="none">
            <doc xml:space="preserve">#GtkWindow *</doc>
            <type name="Gtk.Window" c:type="GtkWindow*"/>
          </parameter>
          <parameter name="wait" transfer-ownership="none">
            <doc xml:space="preserve">#gboolean</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="umount" c:identifier="brasero_volume_umount" throws="1">
        <doc xml:space="preserve">Unmount @volume. If wait is set to TRUE, then block (in a GMainLoop) until
the operation finishes.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. TRUE if the operation succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="volume" transfer-ownership="none">
            <doc xml:space="preserve">#BraseroVolume</doc>
            <type name="Volume" c:type="BraseroVolume*"/>
          </instance-parameter>
          <parameter name="wait" transfer-ownership="none">
            <doc xml:space="preserve">#gboolean</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="Medium" c:type="BraseroMedium"/>
      </field>
    </class>
    <record name="VolumeClass"
            c:type="BraseroVolumeClass"
            glib:is-gtype-struct-for="Volume">
      <field name="parent_class">
        <type name="MediumClass" c:type="BraseroMediumClass"/>
      </field>
    </record>
    <function name="media_get_option_group"
              c:identifier="brasero_media_get_option_group">
      <doc xml:space="preserve">Returns a GOptionGroup for the commandline arguments recognized by libbrasero-media.
You should add this to your GOptionContext if your are using g_option_context_parse ()
to parse your commandline arguments.</doc>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve">a #GOptionGroup *</doc>
        <type name="GLib.OptionGroup" c:type="GOptionGroup*"/>
      </return-value>
    </function>
    <function name="media_library_start"
              c:identifier="brasero_media_library_start">
      <doc xml:space="preserve">Initialize the library.

You should call this function before using any other from the library.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="media_library_stop"
              c:identifier="brasero_media_library_stop">
      <doc xml:space="preserve">De-initialize the library once you do not need the library anymore.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="media_quark" c:identifier="brasero_media_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="units_get_time_string"
              c:identifier="brasero_units_get_time_string">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="time" transfer-ownership="none">
          <type name="guint64" c:type="guint64"/>
        </parameter>
        <parameter name="with_unit" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
        <parameter name="round" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="units_get_time_string_from_size"
              c:identifier="brasero_units_get_time_string_from_size">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="size" transfer-ownership="none">
          <type name="gint64" c:type="gint64"/>
        </parameter>
        <parameter name="with_unit" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
        <parameter name="round" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
