diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2012-03-30 22:33:25 -0500 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2012-03-30 22:33:25 -0500 |
commit | b28ee4be1cca3be800ba35010b126dd49d2eb49e (patch) | |
tree | 041b75bd00d889b7d358eb44a827fb237ead78d0 /tdecore/tdehardwaredevices.h | |
parent | 0aed61de3581997e04c6d5fb8de2333b7e115452 (diff) | |
download | tdelibs-b28ee4be1cca3be800ba35010b126dd49d2eb49e.tar.gz tdelibs-b28ee4be1cca3be800ba35010b126dd49d2eb49e.zip |
Add disk device size method to TDE hardware library, along with a number of bug fixes
Diffstat (limited to 'tdecore/tdehardwaredevices.h')
-rw-r--r-- | tdecore/tdehardwaredevices.h | 48 |
1 files changed, 41 insertions, 7 deletions
diff --git a/tdecore/tdehardwaredevices.h b/tdecore/tdehardwaredevices.h index d309ff650..11844fa5c 100644 --- a/tdecore/tdehardwaredevices.h +++ b/tdecore/tdehardwaredevices.h @@ -71,6 +71,7 @@ enum TDEGenericDeviceType { namespace TDEDiskDeviceType { enum TDEDiskDeviceType { + MediaDevice = 0x00000001, Floppy = 0x00000002, CDROM = 0x00000004, CDRW = 0x00000008, @@ -121,13 +122,14 @@ inline TDEDiskDeviceType operator~(TDEDiskDeviceType a) namespace TDEDiskDeviceStatus { enum TDEDiskDeviceStatus { - Mountable = 0x00000001, - Removable = 0x00000002, - Inserted = 0x00000004, - Blank = 0x00000008, - UsedByDevice = 0x00000010, - UsesDevice = 0x00000020, - Other = 0x80000000 + Mountable = 0x00000001, + Removable = 0x00000002, + Inserted = 0x00000004, + Blank = 0x00000008, + UsedByDevice = 0x00000010, + UsesDevice = 0x00000020, + ContainsFilesystem = 0x00000040, + Other = 0x80000000 }; inline TDEDiskDeviceStatus operator|(TDEDiskDeviceStatus a, TDEDiskDeviceStatus b) @@ -233,6 +235,11 @@ class TDECORE_EXPORT TDEGenericDevice */ void setDeviceNode(TQString sn); + /** + * @return a TQString containing a unique identifier for this device + */ + TQString uniqueID(); + private: TDEGenericDeviceType::TDEGenericDeviceType m_deviceType; TQString m_deviceName; @@ -241,6 +248,7 @@ class TDECORE_EXPORT TDEGenericDevice TQString m_vendorName; TQString m_vendorModel; TQString m_deviceBus; + TQString m_uniqueID; }; class TDECORE_EXPORT TDEStorageDevice : public TDEGenericDevice @@ -288,6 +296,11 @@ class TDECORE_EXPORT TDEStorageDevice : public TDEGenericDevice void setDiskType(TDEDiskDeviceType::TDEDiskDeviceType tf); /** + * @param an OR-ed combination of TDEDiskDeviceType::TDEDiskDeviceType type flags + */ + bool isDiskOfType(TDEDiskDeviceType::TDEDiskDeviceType tf); + + /** * @return an OR-ed combination of TDEDiskDeviceStatus::TDEDiskDeviceStatus type flags */ TDEDiskDeviceStatus::TDEDiskDeviceStatus diskStatus(); @@ -298,6 +311,11 @@ class TDECORE_EXPORT TDEStorageDevice : public TDEGenericDevice void setDiskStatus(TDEDiskDeviceStatus::TDEDiskDeviceStatus st); /** + * @param an OR-ed combination of TDEDiskDeviceStatus::TDEDiskDeviceStatus type flags + */ + bool checkDiskStatus(TDEDiskDeviceStatus::TDEDiskDeviceStatus sf); + + /** * @return true if media inserted, false if no media available */ bool mediaInserted(); @@ -376,6 +394,16 @@ class TDECORE_EXPORT TDEStorageDevice : public TDEGenericDevice */ TQString mountPath(); + /** + * @return an unsigned long with the device size in bytes + */ + unsigned long deviceSize(); + + /** + * @return a TQString with the device size in human readable form + */ + TQString deviceFriendlySize(); + private: TDEDiskDeviceType::TDEDiskDeviceType m_diskType; TDEDiskDeviceStatus::TDEDiskDeviceStatus m_diskStatus; @@ -430,6 +458,12 @@ class TDECORE_EXPORT TDEHardwareDevices : TQObject */ TDEGenericDevice* findBySystemPath(TQString syspath); + /** + * Return the storage device with unique ID @arg uid, or 0 if no device exists for that uid + * @return TDEGenericDevice + */ + TDEStorageDevice* findDiskByUID(TQString uid); + signals: void hardwareAdded(TDEGenericDevice); void hardwareRemoved(TDEGenericDevice); |