Solid
storagedrive.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef SOLID_STORAGEDRIVE_H
00021 #define SOLID_STORAGEDRIVE_H
00022
00023 #include <solid/solid_export.h>
00024
00025 #include <solid/deviceinterface.h>
00026
00027 namespace Solid
00028 {
00029 class StorageDrivePrivate;
00030 class Device;
00031
00038 class SOLID_EXPORT StorageDrive : public DeviceInterface
00039 {
00040 Q_OBJECT
00041 Q_ENUMS(Bus DriveType)
00042 Q_PROPERTY(Bus bus READ bus)
00043 Q_PROPERTY(DriveType driveType READ driveType)
00044 Q_PROPERTY(bool removable READ isRemovable)
00045 Q_PROPERTY(bool hotpluggable READ isHotpluggable)
00046 Q_DECLARE_PRIVATE(StorageDrive)
00047 friend class Device;
00048
00049 public:
00060 enum Bus { Ide, Usb, Ieee1394, Scsi, Sata, Platform };
00061
00075 enum DriveType { HardDisk, CdromDrive, Floppy, Tape, CompactFlash, MemoryStick, SmartMedia, SdMmc, Xd };
00076
00077
00078 private:
00087 explicit StorageDrive(QObject *backendObject);
00088
00089 public:
00093 virtual ~StorageDrive();
00094
00095
00102 static Type deviceInterfaceType() { return DeviceInterface::StorageDrive; }
00103
00104
00112 Bus bus() const;
00113
00120 DriveType driveType() const;
00121
00130 bool isRemovable() const;
00131
00138 bool isHotpluggable() const;
00139
00140 protected:
00144 StorageDrive(StorageDrivePrivate &dd, QObject *backendObject);
00145 };
00146 }
00147
00148 #endif // SOLID_STORAGEDRIVE_H