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

Solid

storagedrive.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_STORAGEDRIVE_H
00022 #define SOLID_STORAGEDRIVE_H
00023 
00024 #include <solid/solid_export.h>
00025 
00026 #include <solid/deviceinterface.h>
00027 
00028 namespace Solid
00029 {
00030     class StorageDrivePrivate;
00031     class Device;
00032 
00039     class SOLID_EXPORT StorageDrive : public DeviceInterface
00040     {
00041         Q_OBJECT
00042         Q_ENUMS(Bus DriveType)
00043         Q_PROPERTY(Bus bus READ bus)
00044         Q_PROPERTY(DriveType driveType READ driveType)
00045         Q_PROPERTY(bool removable READ isRemovable)
00046         Q_PROPERTY(bool hotpluggable READ isHotpluggable)
00047         Q_PROPERTY(bool inUse READ isInUse)
00048         Q_PROPERTY(qulonglong size READ size)
00049         Q_DECLARE_PRIVATE(StorageDrive)
00050         friend class Device;
00051 
00052     public:
00063         enum Bus { Ide, Usb, Ieee1394, Scsi, Sata, Platform };
00064 
00078         enum DriveType { HardDisk, CdromDrive, Floppy, Tape, CompactFlash, MemoryStick, SmartMedia, SdMmc, Xd };
00079 
00080 
00081     private:
00090         explicit StorageDrive(QObject *backendObject);
00091 
00092     public:
00096         virtual ~StorageDrive();
00097 
00098 
00105         static Type deviceInterfaceType() { return DeviceInterface::StorageDrive; }
00106 
00107 
00115         Bus bus() const;
00116 
00123         DriveType driveType() const;
00124 
00133         bool isRemovable() const;
00134 
00141         bool isHotpluggable() const;
00142 
00148        qulonglong size() const;
00149 
00157        bool isInUse() const;
00158 
00159     protected:
00163         StorageDrive(StorageDrivePrivate &dd, QObject *backendObject);
00164     };
00165 }
00166 
00167 #endif // SOLID_STORAGEDRIVE_H

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