Solid

ifaces/opticaldrive.h
1 /*
2  SPDX-FileCopyrightText: 2006 Kevin Ottens <[email protected]>
3 
4  SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5 */
6 
7 #ifndef SOLID_IFACE_OPTICALDRIVE_H
8 #define SOLID_IFACE_OPTICALDRIVE_H
9 
10 #include <QList>
11 
12 #include <solid/devices/ifaces/storagedrive.h>
13 #include <solid/opticaldrive.h>
14 
15 namespace Solid
16 {
17 namespace Ifaces
18 {
24 class OpticalDrive : virtual public StorageDrive
25 {
26 public:
30  virtual ~OpticalDrive();
31 
38 
44  virtual int readSpeed() const = 0;
45 
51  virtual int writeSpeed() const = 0;
52 
59  virtual QList<int> writeSpeeds() const = 0;
60 
67  virtual bool eject() = 0;
68 
69 protected:
70  //Q_SIGNALS:
78  virtual void ejectPressed(const QString &udi) = 0;
79 
80  virtual void ejectDone(Solid::ErrorType error, QVariant errorData, const QString &udi) = 0;
81 };
82 }
83 }
84 
85 Q_DECLARE_INTERFACE(Solid::Ifaces::OpticalDrive, "org.kde.Solid.Ifaces.OpticalDrive/0.1")
86 
87 #endif // SOLID_IFACE_OPTICALDRIVE_H
virtual Solid::OpticalDrive::MediumTypes supportedMedia() const =0
Retrieves the medium types this drive supports.
virtual ~OpticalDrive()
Destroys a Cdrom object.
virtual void ejectPressed(const QString &udi)=0
This signal is emitted when the eject button is pressed on the drive.
virtual bool eject()=0
Ejects any disc that could be contained in this drive.
This device interface is available on CD-ROM drives.
virtual int writeSpeed() const =0
Retrieves the maximum write speed of this drive in kilobytes.
virtual QList< int > writeSpeeds() const =0
Retrieves the list of supported write speeds of this drive in kilobytes.
This device interface is available on storage devices.
The single responsibility of this class is to create arguments valid for logind Inhibit call...
virtual int readSpeed() const =0
Retrieves the maximum read speed of this drive in kilobytes.
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Wed Sep 23 2020 22:50:19 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.