• Skip to content
  • Skip to link menu
KDE 4.6 API Reference
  • KDE API Reference
  • kdelibs
  • KDE Home
  • Contact Us
 

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

Solid

Skip menu "Solid"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.7.3
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal