File indexing completed on 2024-05-26 04:05:31
0001 /* 0002 SPDX-FileCopyrightText: 2006 Davide Bettio <davide.bettio@kdemail.net> 0003 0004 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 0007 #ifndef SOLID_BACKENDS_FAKEHW_FAKECDROM_H 0008 #define SOLID_BACKENDS_FAKEHW_FAKECDROM_H 0009 0010 #include "fakestorage.h" 0011 #include <solid/devices/ifaces/opticaldrive.h> 0012 0013 namespace Solid 0014 { 0015 namespace Backends 0016 { 0017 namespace Fake 0018 { 0019 class FakeCdrom : public FakeStorage, virtual public Solid::Ifaces::OpticalDrive 0020 { 0021 Q_OBJECT 0022 Q_INTERFACES(Solid::Ifaces::OpticalDrive) 0023 0024 public: 0025 explicit FakeCdrom(FakeDevice *device); 0026 ~FakeCdrom() override; 0027 0028 public Q_SLOTS: 0029 Solid::OpticalDrive::MediumTypes supportedMedia() const override; 0030 int readSpeed() const override; 0031 int writeSpeed() const override; 0032 QList<int> writeSpeeds() const override; 0033 bool eject() override; 0034 0035 Q_SIGNALS: 0036 void ejectPressed(const QString &udi) override; 0037 void ejectDone(Solid::ErrorType error, QVariant errorData, const QString &udi) override; 0038 }; 0039 } 0040 } 0041 } 0042 0043 #endif // SOLID_BACKENDS_FAKEHW_FAKECDROM_H