# class OpticalDrive

###

Module | solid
Namespace | Solid
Class | OpticalDrive
Inherits | Solid::StorageDrive

This device interface is available on CD-R*,DVD*,Blu-Ray,HD-DVD drives.

A Cdrom is a storage that can handle optical discs.

### enums

- MediumType { Cdr, Cdrw, Dvd, Dvdr, Dvdrw, Dvdram, Dvdplusr, Dvdplusrw, Dvdplusdl, Dvdplusdlrw, Bd, Bdr, Bdre, HdDvd, HdDvdr, HdDvdrw }

enum details

### methods

- OpticalDrive (backendObject)

  returns ctor
  Not implemented
  KDE 4.1.0 and later only

  Argument | Type | Default
  --- | --- | ---
  backendObject | QObject |

  Creates a new Cdrom object. You generally won't need this. It's created when necessary using Device.as().

  backendObject - the device interface object provided by the backend

  See also Solid.Device.as()

- OpticalDrive (a0)

  returns ctor
  Not implemented
  before KDE 4.1.0 only

  Argument | Type | Default
  --- | --- | ---
  a0 | QObject |

- deviceInterfaceType ( )

  returns Solid::DeviceInterface.Type
  static

  Get the Solid.DeviceInterface.Type of the Cdrom device interface.

  Returns the Cdrom device interface type

  See also Solid.Ifaces.Enums.DeviceInterface.Type

- eject ( )

  returns bool

  Ejects any disc that could be contained in this drive. If this drive is empty, but has a tray it'll be opened.

  Returns the status of the eject operation

- ejectDone (error, errorData, udi)

  returns Nothing
  SIGNAL ("ejectDone (ErrorType, QVariant, const QString&)")

  Argument | Type | Default
  --- | --- | ---
  error | Solid.ErrorType |
  errorData | QVariant |
  udi | QString |

- ejectPressed (udi)

  returns Nothing
  SIGNAL ("ejectPressed (const QString&)")

  Argument | Type | Default
  --- | --- | ---
  udi | QString |

  This signal is emitted when the eject button is pressed on the drive.

  Please note that some (broken) drives doesn't report this event.

  udi - the UDI of the drive

- readSpeed ( )

  returns int

  Retrieves the maximum read speed of this drive in kilobytes per second.

  Returns the maximum read speed

- supportedMedia ( )

  returns Solid::OpticalDrive.MediumTypes

  Retrieves the medium types this drive supports.

  Returns the flag set indicating the supported medium types

- writeSpeed ( )

  returns int

  Retrieves the maximum write speed of this drive in kilobytes per second.

  Returns the maximum write speed

- writeSpeeds ( )

  returns QList<int>

  Retrieves the list of supported write speeds of this drive in kilobytes per second.

  Returns the list of supported write speeds

### enums - detail

- MediumType { Cdr, Cdrw, Dvd, Dvdr, Dvdrw, Dvdram, Dvdplusr, Dvdplusrw, Dvdplusdl, Dvdplusdlrw, Bd, Bdr, Bdre, HdDvd, HdDvdr, HdDvdrw }

  This enum type defines the type of medium a cdrom drive supports.

  - Cdr : A Recordable Compact Disc (CD-R) - Cdrw : A ReWritable Compact Disc (CD-RW) - Dvd : A Digital Versatile Disc (DVD) - Dvdr : A Recordable Digital Versatile Disc (DVD-R) - Dvdrw : A ReWritable Digital Versatile Disc (DVD-RW) - Dvdram : A Random Access Memory Digital Versatile Disc (DVD-RAM) - Dvdplusr : A Recordable Digital Versatile Disc (DVD+R) - Dvdplusrw : A ReWritable Digital Versatile Disc (DVD+RW) - Dvdplusdl : A Dual Layer Digital Versatile Disc (DVD+R DL) - Dvdplusdlrw : A Dual Layer Digital Versatile Disc (DVD+RW DL) - Bd : A Blu-ray Disc (BD) - Bdr : A Blu-ray Disc Recordable (BD-R) - Bdre : A Blu-ray Disc (BD-RE) - HdDvd : A High Density Digital Versatile Disc (HD DVD) - HdDvdr : A High Density Digital Versatile Disc Recordable (HD DVD-R) - HdDvdrw : A High Density Digital Versatile Disc ReWritable (HD DVD-RW)

  | Cdr | - 0x00001 | - |
  | Cdrw | - 0x00002 | - |
  | Dvd | - 0x00004 | - |
  | Dvdr | - 0x00008 | - |
  | Dvdrw | - 0x00010 | - |
  | Dvdram | - 0x00020 | - |
  | Dvdplusr | - 0x00040 | - |
  | Dvdplusrw | - 0x00080 | - |
  | Dvdplusdl | - 0x00100 | - |
  | Dvdplusdlrw | - 0x00200 | - |
  | Bd | - 0x00400 | - |
  | Bdr | - 0x00800 | - |
  | Bdre | - 0x01000 | - |
  | HdDvd | - 0x02000 | - |
  | HdDvdr | - 0x04000 | - |
  | HdDvdrw | - 0x08000 | - |