Solid
opticaldisc.h
Go to the documentation of this file.
00001 /* 00002 Copyright 2006-2007 Kevin Ottens <ervin@kde.org> 00003 00004 This library is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU Lesser General Public 00006 License as published by the Free Software Foundation; either 00007 version 2.1 of the License, or (at your option) version 3, or any 00008 later version accepted by the membership of KDE e.V. (or its 00009 successor approved by the membership of KDE e.V.), which shall 00010 act as a proxy defined in Section 6 of version 3 of the license. 00011 00012 This library is distributed in the hope that it will be useful, 00013 but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 Lesser General Public License for more details. 00016 00017 You should have received a copy of the GNU Lesser General Public 00018 License along with this library. If not, see <http://www.gnu.org/licenses/>. 00019 */ 00020 00021 #ifndef SOLID_OPTICALDISC_H 00022 #define SOLID_OPTICALDISC_H 00023 00024 #include <solid/solid_export.h> 00025 00026 #include <solid/storagevolume.h> 00027 00028 namespace Solid 00029 { 00030 class OpticalDiscPrivate; 00031 class Device; 00032 00038 class SOLID_EXPORT OpticalDisc : public StorageVolume 00039 { 00040 Q_OBJECT 00041 Q_ENUMS(ContentType DiscType) 00042 Q_FLAGS(ContentTypes) 00043 Q_PROPERTY(ContentTypes availableContent READ availableContent) 00044 Q_PROPERTY(DiscType discType READ discType) 00045 Q_PROPERTY(bool appendable READ isAppendable) 00046 Q_PROPERTY(bool blank READ isBlank) 00047 Q_PROPERTY(bool rewritable READ isRewritable) 00048 Q_PROPERTY(qulonglong capacity READ capacity) 00049 Q_DECLARE_PRIVATE(OpticalDisc) 00050 friend class Device; 00051 00052 public: 00062 enum ContentType { 00063 NoContent = 0x00, 00064 Audio = 0x01, 00065 Data = 0x02, 00066 VideoCd = 0x04, 00067 SuperVideoCd = 0x08, 00068 VideoDvd = 0x10, 00069 VideoBluRay = 0x20 00070 }; 00071 00075 Q_DECLARE_FLAGS(ContentTypes, ContentType) 00076 00077 00099 enum DiscType { UnknownDiscType = -1, 00100 CdRom, CdRecordable, CdRewritable, DvdRom, DvdRam, 00101 DvdRecordable, DvdRewritable, 00102 DvdPlusRecordable, DvdPlusRewritable, 00103 DvdPlusRecordableDuallayer, DvdPlusRewritableDuallayer, 00104 BluRayRom, BluRayRecordable, BluRayRewritable, 00105 HdDvdRom, HdDvdRecordable, HdDvdRewritable }; 00106 00107 00108 private: 00117 explicit OpticalDisc(QObject *backendObject); 00118 00119 public: 00123 virtual ~OpticalDisc(); 00124 00125 00132 static Type deviceInterfaceType() { return DeviceInterface::OpticalDisc; } 00133 00134 00142 ContentTypes availableContent() const; 00143 00149 DiscType discType() const; 00150 00156 bool isAppendable() const; 00157 00163 bool isBlank() const; 00164 00172 bool isRewritable() const; 00173 00180 qulonglong capacity() const; 00181 }; 00182 } 00183 00184 Q_DECLARE_OPERATORS_FOR_FLAGS(Solid::OpticalDisc::ContentTypes) 00185 00186 #endif
KDE 4.6 API Reference