7#include "iokitopticaldisc.h"
9#include <CoreFoundation/CoreFoundation.h>
11using namespace Solid::Backends::IOKit;
13IOKitOpticalDisc::IOKitOpticalDisc(IOKitDevice *device)
18IOKitOpticalDisc::IOKitOpticalDisc(
const IOKitDevice *device)
23IOKitOpticalDisc::~IOKitOpticalDisc()
27QString IOKitOpticalDisc::device()
const
29 const QString devName = m_device->property(QLatin1String(
"BSD Name")).toString();
31 return QStringLiteral(
"/dev/") + devName;
33 return QStringLiteral(
"/dev/r") + devName;
39 if (fsType() == QStringLiteral(
"cddafs")) {
40 return Solid::OpticalDisc::Audio;
42 return Solid::OpticalDisc::Data;
47 QString
type = m_device->property(QStringLiteral(
"Type")).toString();
49 if (type == QLatin1String(
"CD-ROM")) {
50 return Solid::OpticalDisc::CdRom;
51 }
else if (type == QLatin1String(
"CD-R")) {
52 return Solid::OpticalDisc::CdRecordable;
53 }
else if (type == QLatin1String(
"CD-RW")) {
54 return Solid::OpticalDisc::CdRewritable;
55 }
else if (type == QLatin1String(
"DVD-ROM")) {
56 return Solid::OpticalDisc::DvdRom;
57 }
else if (type == QLatin1String(
"DVD-RAM")) {
58 return Solid::OpticalDisc::DvdRam;
59 }
else if (type == QLatin1String(
"DVD-R")) {
60 return Solid::OpticalDisc::DvdRecordable;
61 }
else if (type == QLatin1String(
"DVD-RW")) {
62 return Solid::OpticalDisc::DvdRewritable;
63 }
else if (type == QLatin1String(
"DVD+R")) {
64 return Solid::OpticalDisc::DvdPlusRecordable;
65 }
else if (type == QLatin1String(
"DVD+RW")) {
66 return Solid::OpticalDisc::DvdPlusRewritable;
67 }
else if (type == QLatin1String(
"BD-ROM")) {
68 return Solid::OpticalDisc::BluRayRom;
69 }
else if (type == QLatin1String(
"BD-R")) {
70 return Solid::OpticalDisc::BluRayRecordable;
71 }
else if (type == QLatin1String(
"BD-RE")) {
72 return Solid::OpticalDisc::BluRayRewritable;
73 }
else if (type == QLatin1String(
"HD DVD-ROM")) {
74 return Solid::OpticalDisc::HdDvdRom;
75 }
else if (type == QLatin1String(
"HD DVD-R")) {
76 return Solid::OpticalDisc::HdDvdRecordable;
77 }
else if (type == QLatin1String(
"HD DVD-RW")) {
78 return Solid::OpticalDisc::HdDvdRewritable;
80 return Solid::OpticalDisc::UnknownDiscType;
84bool IOKitOpticalDisc::isAppendable()
const
87 return isRewritable();
90bool IOKitOpticalDisc::isBlank()
const
93 return isRewritable();
96bool IOKitOpticalDisc::isRewritable()
const
98 return m_device->property(QStringLiteral(
"Writable")).toBool();
101qulonglong IOKitOpticalDisc::capacity()
const
106#include "moc_iokitopticaldisc.cpp"
QFlags< ContentType > ContentTypes
Stores a combination of ContentType values.
DiscType
This enum type defines the type of optical disc it can be.
Type type(const QSqlDatabase &db)
bool startsWith(QChar c, Qt::CaseSensitivity cs) const const