## BraseroDrive

BraseroDrive

## Functions

void | brasero_drive_reprobe ()
BraseroMedium * | brasero_drive_get_medium ()
GDrive * | brasero_drive_get_gdrive ()
const gchar * | brasero_drive_get_udi ()
gboolean | brasero_drive_is_fake ()
gchar * | brasero_drive_get_display_name ()
const gchar * | brasero_drive_get_device ()
const gchar * | brasero_drive_get_block_device ()
gchar * | brasero_drive_get_bus_target_lun_string ()
BraseroDriveCaps | brasero_drive_get_caps ()
gboolean | brasero_drive_can_write ()
gboolean | brasero_drive_can_eject ()
gboolean | brasero_drive_eject ()
void | brasero_drive_cancel_current_operation ()
gboolean | brasero_drive_is_door_open ()
gboolean | brasero_drive_can_use_exclusively ()
gboolean | brasero_drive_lock ()
gboolean | brasero_drive_unlock ()

## Properties

char * | device | Read / Write / Construct Only
GDrive * | gdrive | Read / Write
char * | udi | Read / Write / Construct Only

## Signals

void | medium-added | No Recursion
void | medium-removed | No Recursion

## Types and Values

enum | BraseroDriveCaps
| BraseroDrive

## Object Hierarchy

        GObject
        ╰── BraseroDrive

## Description

## Functions

### brasero_drive_reprobe ()

    void
    brasero_drive_reprobe (BraseroDrive *drive);

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.

#### Parameters

drive | a BraseroDrive |

### brasero_drive_get_medium ()

    BraseroMedium *
    brasero_drive_get_medium (BraseroDrive *drive);

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.

#### Parameters

drive | a BraseroDrive |

#### Returns

a BraseroMedium object or NULL. No need to unref after use.

[transfer none]

### brasero_drive_get_gdrive ()

    GDrive *
    brasero_drive_get_gdrive (BraseroDrive *drive);

Returns the GDrive corresponding to this BraseroDrive

#### Parameters

drive | a BraseroDrive |

#### Returns

a GDrive or NULL. Unref after use.

### brasero_drive_get_udi ()

    const gchar *
    brasero_drive_get_udi (BraseroDrive *drive);

Gets a string holding the HAL udi corresponding to this device. It can be used to uniquely identify the drive.

#### Parameters

drive | a BraseroDrive |

#### Returns

a string holding the HAL udi or NULL. Not to be freed

### brasero_drive_is_fake ()

    gboolean
    brasero_drive_is_fake (BraseroDrive *drive);

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.

#### Parameters

drive | a BraseroDrive |

#### Returns

`TRUE` or `FALSE`.

### brasero_drive_get_display_name ()

    gchar *
    brasero_drive_get_display_name (BraseroDrive *drive);

Gets a string holding the name for the drive. That string can be then displayed in a user interface.

#### Parameters

drive | a BraseroDrive |

#### Returns

a string holding the name

### brasero_drive_get_device ()

    const gchar *
    brasero_drive_get_device (BraseroDrive *drive);

Gets a string holding the device path for the drive.

#### Parameters

drive | a BraseroDrive |

#### Returns

a string holding the device path. On Solaris returns raw device.

### brasero_drive_get_block_device ()

    const gchar *
    brasero_drive_get_block_device (BraseroDrive *drive);

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.

#### Parameters

drive | a BraseroDrive |

#### Returns

a string holding the block device path

### brasero_drive_get_bus_target_lun_string ()

    gchar *
    brasero_drive_get_bus_target_lun_string
                                   (BraseroDrive *drive);

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.

#### Parameters

drive | a BraseroDrive |

#### Returns

a string or NULL. The string must be freed when not needed

### brasero_drive_get_caps ()

    BraseroDriveCaps
    brasero_drive_get_caps (BraseroDrive *drive);

Returns what type(s) of disc the drive can write to.

#### Parameters

drive | a BraseroDrive |

#### Returns

a BraseroDriveCaps.

### brasero_drive_can_write ()

    gboolean
    brasero_drive_can_write (BraseroDrive *drive);

Returns whether the disc can burn any disc at all.

#### Parameters

drive | a BraseroDrive |

#### Returns

a gboolean. TRUE if the drive can write a disc and FALSE otherwise

### brasero_drive_can_eject ()

    gboolean
    brasero_drive_can_eject (BraseroDrive *drive);

Returns whether the drive can eject media.

#### Parameters

drive | BraseroDrive |

#### Returns

a gboolean. TRUE if the media can be ejected, FALSE otherwise.

### brasero_drive_eject ()

    gboolean
    brasero_drive_eject (BraseroDrive *drive,
                         gboolean wait,
                         GError **error);

Open the drive tray or ejects the media if there is any inside.

#### Parameters

drive | BraseroDrive |
wait | gboolean whether to wait for the completion of the operation (with a GMainLoop) |
error | GError |

#### Returns

a gboolean. TRUE on success, FALSE otherwise.

### brasero_drive_cancel_current_operation ()

    void
    brasero_drive_cancel_current_operation
                                   (BraseroDrive *drive);

Cancels all operations currently running for `drive`

#### Parameters

drive | BraseroDrive * |

### brasero_drive_is_door_open ()

    gboolean
    brasero_drive_is_door_open (BraseroDrive *drive);

Returns whether or not the drive door is open.

#### Parameters

drive | a BraseroDrive |

#### Returns

`TRUE` or `FALSE`.

### brasero_drive_can_use_exclusively ()

    gboolean
    brasero_drive_can_use_exclusively (BraseroDrive *drive);

Returns whether or not the drive can be used exclusively, that is whether or not it is currently used by another application.

#### Parameters

drive | a BraseroDrive |

#### Returns

`TRUE` or `FALSE`.

### brasero_drive_lock ()

    gboolean
    brasero_drive_lock (BraseroDrive *drive,
                        const gchar *reason,
                        gchar **reason_for_failure);

Locks a BraseroDrive. Manual ejection shouldn't be possible any more.

#### Parameters

drive | a BraseroDrive |
reason | a string to indicate what the drive was locked for |
reason_for_failure | a string (or NULL) to hold the reason why the locking failed |

#### Returns

`TRUE` if the drive was successfully locked or `FALSE`.

### brasero_drive_unlock ()

    gboolean
    brasero_drive_unlock (BraseroDrive *drive);

Unlocks a BraseroDrive.

#### Parameters

drive | a BraseroDrive |

#### Returns

`TRUE` if the drive was successfully unlocked or `FALSE`.

## Types and Values

### enum BraseroDriveCaps

#### Members

BRASERO_DRIVE_CAPS_NONE |  |
BRASERO_DRIVE_CAPS_CDR |  |
BRASERO_DRIVE_CAPS_CDRW |  |
BRASERO_DRIVE_CAPS_DVDR |  |
BRASERO_DRIVE_CAPS_DVDRW |  |
BRASERO_DRIVE_CAPS_DVDR_PLUS |  |
BRASERO_DRIVE_CAPS_DVDRW_PLUS |  |
BRASERO_DRIVE_CAPS_DVDR_PLUS_DL |  |
BRASERO_DRIVE_CAPS_DVDRW_PLUS_DL |  |
BRASERO_DRIVE_CAPS_DVDRAM |  |
BRASERO_DRIVE_CAPS_BDR |  |
BRASERO_DRIVE_CAPS_BDRW |  |

### BraseroDrive

    typedef struct _BraseroDrive BraseroDrive;

Represents a physical drive currently connected.

## Property Details

### The `“device”` property

      “device”                   char *

Device path for the drive.

Owner: BraseroDrive

Flags: Read / Write / Construct Only

Default value: NULL

### The `“gdrive”` property

      “gdrive”                   GDrive *

A GDrive object for the drive.

Owner: BraseroDrive

Flags: Read / Write

### The `“udi”` property

      “udi”                      char *

HAL udi as a string (Deprecated).

Owner: BraseroDrive

Flags: Read / Write / Construct Only

Default value: NULL

## Signal Details

### The `“medium-added”` signal

    void
    user_function (BraseroDrive  *drive,
                   BraseroMedium *medium,
                   gpointer       user_data)

This signal gets emitted when a new medium was detected

#### Parameters

drive | the object which received the signal |
medium | the new medium which was added |
user_data | user data set when the signal handler was connected. |

Flags: No Recursion

### The `“medium-removed”` signal

    void
    user_function (BraseroDrive  *drive,
                   BraseroMedium *medium,
                   gpointer       user_data)

This signal gets emitted when a medium is not longer available

#### Parameters

drive | the object which received the signal |
medium | the medium which was removed |
user_data | user data set when the signal handler was connected. |

Flags: No Recursion