Solid::OpticalDrive Class

class Solid::OpticalDrive
Header: #include <OpticalDrive>
CMake: find_package(KF6 REQUIRED COMPONENTS Solid)
target_link_libraries(mytarget PRIVATE KF6::Solid)
Inherits: Solid::StorageDrive

Public Types

enum MediumType { UnknownMediumType, Cdr, Cdrw, Dvd, Dvdr, …, HdDvdrw }
flags MediumTypes

Public Functions

virtual ~OpticalDrive() override
bool eject()
int readSpeed() const
Solid::OpticalDrive::MediumTypes supportedMedia() const
int writeSpeed() const
QList<int> writeSpeeds() const

Signals

void ejectDone(Solid::ErrorType error, QVariant errorData, const QString &udi)
void ejectPressed(const QString &udi)
void ejectRequested(const QString &udi)

Static Public Members

Solid::DeviceInterface::Type deviceInterfaceType()

Detailed Description

@class Solid::OpticalDrive opticaldrive.h <Solid/OpticalDrive>

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

An OpticalDrive is a storage that can handle optical discs.

Member Type Documentation

enum OpticalDrive::MediumType
flags OpticalDrive::MediumTypes

This enum type defines the type of medium an optical 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 Recordable and Eraseable (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)

@see MediumTypes

The MediumTypes type is a typedef for QFlags<MediumType>. It stores an OR combination of MediumType values.

Member Function Documentation

[override virtual noexcept] OpticalDrive::~OpticalDrive()

Destroys an OpticalDrive object.

[static] Solid::DeviceInterface::Type OpticalDrive::deviceInterfaceType()

Get the Solid::DeviceInterface::Type of the OpticalDrive device interface.

@return the OpticalDrive device interface type @see Solid::Ifaces::Enums::DeviceInterface::Type

bool OpticalDrive::eject()

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

@return the status of the eject operation

[signal] void OpticalDrive::ejectDone(Solid::ErrorType error, QVariant errorData, const QString &udi)

This signal is emitted when the attempted eject process on this drive is completed. The signal might be spontaneous, i.e. it can be triggered by another process.

@param error type of error that occurred, if any @param errorData more information about the error, if any @param udi the UDI of the volume

[signal] void OpticalDrive::ejectPressed(const QString &udi)

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

Please note that some (broken) drives doesn't report this event. @param udi the UDI of the drive

[signal] void OpticalDrive::ejectRequested(const QString &udi)

This signal is emitted when eject on this drive is requested. The signal might be spontaneous, i.e. it can be triggered by another process.

@param udi the UDI of the volume

int OpticalDrive::readSpeed() const

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

@return the maximum read speed

Note: Getter function for property readSpeed.

Solid::OpticalDrive::MediumTypes OpticalDrive::supportedMedia() const

Retrieves the medium types this drive supports.

@return the flag set indicating the supported medium types

Note: Getter function for property supportedMedia.

int OpticalDrive::writeSpeed() const

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

@return the maximum write speed

Note: Getter function for property writeSpeed.

QList<int> OpticalDrive::writeSpeeds() const

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

@return the list of supported write speeds

Note: Getter function for property writeSpeeds.