File indexing completed on 2024-06-09 04:00:35
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 #include "fakecdrom.h" 0008 0009 #include <QStringList> 0010 0011 using namespace Solid::Backends::Fake; 0012 0013 FakeCdrom::FakeCdrom(FakeDevice *device) 0014 : FakeStorage(device) 0015 { 0016 } 0017 0018 FakeCdrom::~FakeCdrom() 0019 { 0020 } 0021 0022 Solid::OpticalDrive::MediumTypes FakeCdrom::supportedMedia() const 0023 { 0024 Solid::OpticalDrive::MediumTypes supported; 0025 0026 const QMap<QString, Solid::OpticalDrive::MediumType> map = { 0027 {QStringLiteral("cdr"), Solid::OpticalDrive::Cdr}, 0028 {QStringLiteral("cdrw"), Solid::OpticalDrive::Cdrw}, 0029 {QStringLiteral("dvd"), Solid::OpticalDrive::Dvd}, 0030 {QStringLiteral("dvdr"), Solid::OpticalDrive::Dvdr}, 0031 {QStringLiteral("dvdrw"), Solid::OpticalDrive::Dvdrw}, 0032 {QStringLiteral("dvdram"), Solid::OpticalDrive::Dvdram}, 0033 {QStringLiteral("dvdplusr"), Solid::OpticalDrive::Dvdplusr}, 0034 {QStringLiteral("dvdplusrw"), Solid::OpticalDrive::Dvdplusrw}, 0035 {QStringLiteral("dvdplusrdl"), Solid::OpticalDrive::Dvdplusdl}, 0036 {QStringLiteral("dvdplusrwdl"), Solid::OpticalDrive::Dvdplusdlrw}, 0037 {QStringLiteral("bd"), Solid::OpticalDrive::Bd}, 0038 {QStringLiteral("bdr"), Solid::OpticalDrive::Bdr}, 0039 {QStringLiteral("bdre"), Solid::OpticalDrive::Bdre}, 0040 {QStringLiteral("hddvd"), Solid::OpticalDrive::HdDvd}, 0041 {QStringLiteral("hddvdr"), Solid::OpticalDrive::HdDvdr}, 0042 {QStringLiteral("hddvdrw"), Solid::OpticalDrive::HdDvdrw}, 0043 }; 0044 0045 const QStringList supported_medialist = fakeDevice()->property("supportedMedia").toString().simplified().split(','); 0046 0047 for (const QString &media : supported_medialist) { 0048 supported |= map.value(media, Solid::OpticalDrive::UnknownMediumType); 0049 } 0050 0051 return supported; 0052 } 0053 0054 int FakeCdrom::readSpeed() const 0055 { 0056 return fakeDevice()->property("readSpeed").toInt(); 0057 } 0058 0059 int FakeCdrom::writeSpeed() const 0060 { 0061 return fakeDevice()->property("writeSpeed").toInt(); 0062 } 0063 0064 QList<int> FakeCdrom::writeSpeeds() const 0065 { 0066 QList<int> speeds; 0067 const QStringList speed_strlist = fakeDevice()->property("writeSpeeds").toString().simplified().split(','); 0068 0069 for (const QString &speed_str : speed_strlist) { 0070 speeds << speed_str.toInt(); 0071 } 0072 0073 return speeds; 0074 } 0075 0076 bool FakeCdrom::eject() 0077 { 0078 return false; 0079 } 0080 0081 #include "moc_fakecdrom.cpp"