1/*
2 SPDX-FileCopyrightText: 2006 Davide Bettio <davide.bettio@kdemail.net>
3
4 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5*/
6
7#ifndef SOLID_BACKENDS_FAKEHW_FAKECDROM_H
8#define SOLID_BACKENDS_FAKEHW_FAKECDROM_H
9
10#include "fakestorage.h"
11#include <solid/devices/ifaces/opticaldrive.h>
12
13namespace Solid
14{
15namespace Backends
16{
17namespace Fake
18{
19class FakeCdrom : public FakeStorage, virtual public Solid::Ifaces::OpticalDrive
20{
21 Q_OBJECT
22 Q_INTERFACES(Solid::Ifaces::OpticalDrive)
23
24public:
25 explicit FakeCdrom(FakeDevice *device);
26 ~FakeCdrom() override;
27
28public Q_SLOTS:
29 Solid::OpticalDrive::MediumTypes supportedMedia() const override;
30 int readSpeed() const override;
31 int writeSpeed() const override;
32 QList<int> writeSpeeds() const override;
33 bool eject() override;
34
35Q_SIGNALS:
36 void ejectPressed(const QString &udi) override;
37 void ejectDone(Solid::ErrorType error, QVariant errorData, const QString &udi) override;
38 void ejectRequested(const QString &udi) override;
39};
40}
41}
42}
43
44#endif // SOLID_BACKENDS_FAKEHW_FAKECDROM_H
45

source code of solid/src/solid/devices/backends/fakehw/fakecdrom.h