diff options
Diffstat (limited to 'tdecore/tdehw/tdehardwaredevices.h')
-rw-r--r-- | tdecore/tdehw/tdehardwaredevices.h | 680 |
1 files changed, 4 insertions, 676 deletions
diff --git a/tdecore/tdehw/tdehardwaredevices.h b/tdecore/tdehw/tdehardwaredevices.h index fcf60533d..710d7bd8e 100644 --- a/tdecore/tdehw/tdehardwaredevices.h +++ b/tdecore/tdehw/tdehardwaredevices.h @@ -33,6 +33,10 @@ #include <locale.h> #include <unistd.h> +// FIXME delete those headers after complete porting +#include "tdegenericdevice.h" +#include "tdestoragedevice.h" + /** * Hardware Device Access and Monitoring Library * @@ -53,145 +57,6 @@ enum TDEHardwareEvent { }; }; -// Keep readGenericDeviceTypeFromString(), getFriendlyDeviceTypeStringFromType(), and getDeviceTypeIconFromType() in tdehardwaredevices.cpp in sync with this enum -namespace TDEGenericDeviceType { -enum TDEGenericDeviceType { - Root, - RootSystem, - CPU, - GPU, - RAM, - Bus, - I2C, - MDIO, - Mainboard, - Disk, - SCSI, - StorageController, - Mouse, - Keyboard, - HID, - Modem, - Monitor, - Network, - Printer, - Scanner, - Sound, - VideoCapture, - IEEE1394, - PCMCIA, - Camera, - TextIO, - Serial, - Parallel, - Peripheral, - Backlight, - Battery, - PowerSupply, - Dock, - ThermalSensor, - ThermalControl, - BlueTooth, - Bridge, - Platform, - Cryptography, - Event, - Input, - PNP, - OtherACPI, - OtherUSB, - OtherMultimedia, - OtherPeripheral, - OtherSensor, - OtherVirtual, - Other, - Last = Other -}; -}; - -// Keep readDiskDeviceSubtypeFromString() in tdehardwaredevices.cpp in sync with this enum -namespace TDEDiskDeviceType { -enum TDEDiskDeviceType { - Null = 0x00000000, - MediaDevice = 0x00000001, - Floppy = 0x00000002, - CDROM = 0x00000004, - CDRW = 0x00000008, - DVDROM = 0x00000010, - DVDRAM = 0x00000020, - DVDRW = 0x00000040, - BDROM = 0x00000080, - BDRW = 0x00000100, - Zip = 0x00000200, - Jaz = 0x00000400, - Camera = 0x00000800, - LUKS = 0x00001000, - OtherCrypted = 0x00002000, - CDAudio = 0x00004000, - CDVideo = 0x00008000, - DVDVideo = 0x00010000, - BDVideo = 0x00020000, - Flash = 0x00040000, - USB = 0x00080000, - Tape = 0x00100000, - HDD = 0x00200000, - Optical = 0x00400000, - RAM = 0x00800000, - Loop = 0x01000000, - CompactFlash = 0x02000000, - MemoryStick = 0x04000000, - SmartMedia = 0x08000000, - SDMMC = 0x10000000, - UnlockedCrypt = 0x20000000, - Other = 0x80000000 -}; - -inline TDEDiskDeviceType operator|(TDEDiskDeviceType a, TDEDiskDeviceType b) -{ - return static_cast<TDEDiskDeviceType>(static_cast<int>(a) | static_cast<int>(b)); -} - -inline TDEDiskDeviceType operator&(TDEDiskDeviceType a, TDEDiskDeviceType b) -{ - return static_cast<TDEDiskDeviceType>(static_cast<int>(a) & static_cast<int>(b)); -} - -inline TDEDiskDeviceType operator~(TDEDiskDeviceType a) -{ - return static_cast<TDEDiskDeviceType>(~static_cast<int>(a)); -} -}; - -namespace TDEDiskDeviceStatus { -enum TDEDiskDeviceStatus { - Null = 0x00000000, - Mountable = 0x00000001, - Removable = 0x00000002, - Inserted = 0x00000004, - Blank = 0x00000008, - UsedByDevice = 0x00000010, - UsesDevice = 0x00000020, - ContainsFilesystem = 0x00000040, - Hotpluggable = 0x00000080, - Other = 0x80000000 -}; - -inline TDEDiskDeviceStatus operator|(TDEDiskDeviceStatus a, TDEDiskDeviceStatus b) -{ - return static_cast<TDEDiskDeviceStatus>(static_cast<int>(a) | static_cast<int>(b)); -} - -inline TDEDiskDeviceStatus operator&(TDEDiskDeviceStatus a, TDEDiskDeviceStatus b) -{ - return static_cast<TDEDiskDeviceStatus>(static_cast<int>(a) & static_cast<int>(b)); -} - -inline TDEDiskDeviceStatus operator~(TDEDiskDeviceStatus a) -{ - return static_cast<TDEDiskDeviceStatus>(~static_cast<int>(a)); -} -}; - class TDECORE_EXPORT TDESensorCluster { public: @@ -208,543 +73,6 @@ class TDECORE_EXPORT TDESensorCluster double critical; }; -class TDECORE_EXPORT TDEGenericDevice : public TQObject -{ - Q_OBJECT - - public: - /** - * Constructor. - * @param Device type - */ - TDEGenericDevice(TDEGenericDeviceType::TDEGenericDeviceType dt, TQString dn=TQString::null); - - /** - * Destructor. - */ - ~TDEGenericDevice(); - - /** - * @return a TDEGenericDeviceType::TDEGenericDeviceType specifying the device type - */ - TDEGenericDeviceType::TDEGenericDeviceType type(); - - /** - * @return a TQString with the device name, if any - */ - TQString name(); - - /** - * @return a TQString with the vendor name, if any - */ - TQString vendorName(); - - /** - * @return a TQString with the vendor model, if any - */ - TQString vendorModel(); - - /** - * @return a TQString with the serial number, if any - */ - TQString serialNumber(); - - /** - * @return a TQString with a friendly name - * - * While TDE tries very hard to generate and return a friendly name for this device, - * sometimes the best it will be able to do is "Unknown Device [xxxx:yyyy]" - */ - virtual TQString friendlyName(); - - /** - * @return a TQString with the device bus name, if any - */ - TQString deviceBus(); - - /** - * @return a TQString with the system path, if any - * - * This method is non-portable, so be careful! - */ - TQString systemPath(); - - /** - * @return a TQString with the system device node, if any - * - * This method is non-portable, so be careful! - */ - TQString deviceNode(); - - /** - * @return true if this device has been blacklisted for update actions - */ - bool blacklistedForUpdate(); - - /** - * @return a TQString containing a unique identifier for this device - */ - TQString uniqueID(); - - /** - * @return a TQString with the vendor ID, if any - */ - TQString vendorID(); - - /** - * @return a TQString with the model ID, if any - */ - TQString modelID(); - - /** - * @return a TQString with the encoded vendor, if any - */ - TQString vendorEncoded(); - - /** - * @return a TQString with the encoded model, if any - */ - TQString modelEncoded(); - - /** - * @return a TQString with the subvendor ID, if any - */ - TQString subVendorID(); - - /** - * @return a TQString with the submodel ID, if any - */ - TQString subModelID(); - - /** - * @return a TQString with the PCI device class, if any - */ - TQString PCIClass(); - - /** - * @return a TQString with the module alias string, if any - */ - TQString moduleAlias(); - - /** - * @return a TQString with the device driver, if any - */ - TQString deviceDriver(); - - /** - * @return a TQString with the subsystem type, if any - */ - TQString subsystem(); - - /** - * @return a TDEGenericDevice* with the parent device, if any - */ - TDEGenericDevice* parentDevice(); - - /** - * @return a TQString containing the friendly type name - */ - virtual TQString friendlyDeviceType(); - - /** - * @return a TQString containing the device bus ID, if any - */ - TQString busID(); - - /** - * Get an icon for this device - * @param size a TDEIcon::StdSizes structure specifying the desired icon size - * @return a TQPixmap containing the icon for the specified type - */ - virtual TQPixmap icon(TDEIcon::StdSizes size); - - protected: - /** - * @param a TQString with the device name, if any - * @internal - */ - void internalSetName(TQString dn); - - /** - * @param a TQString with the vendor name, if any - * @internal - */ - void internalSetVendorName(TQString vn); - - /** - * @param a TQString with the vendor model, if any - * @internal - */ - void internalSetVendorModel(TQString vm); - - /** - * @param a TQString with the serial number, if any - * @internal - */ - void internalSetSerialNumber(TQString sn); - - /** - * @param a TQString with the device bus name, if any - * @internal - */ - void internalSetDeviceBus(TQString db); - - /** - * @param a TQString with the system path, if any - * @internal - * - * This method is non-portable, so be careful! - */ - void internalSetSystemPath(TQString sp); - - /** - * @param a TQString with the system device node, if any - * @internal - * - * This method is non-portable, so be careful! - */ - void internalSetDeviceNode(TQString sn); - - /** - * @param bl true if this device has been blacklisted for update actions - * @internal - */ - void internalSetBlacklistedForUpdate(bool bl); - - /** - * @param a TQString with the vendor ID, if any - * @internal - */ - void internalSetVendorID(TQString id); - - /** - * @param a TQString with the model ID, if any - * @internal - */ - void internalSetModelID(TQString id); - - /** - * @param a TQString with the encoded vendor, if any - * @internal - */ - void internalSetVendorEncoded(TQString id); - - /** - * @param a TQString with the encoded model, if any - * @internal - */ - void internalSetModelEncoded(TQString id); - - /** - * @param a TQString with the subvendor ID, if any - * @internal - */ - void internalSetSubVendorID(TQString id); - - /** - * @param a TQString with the submodel ID, if any - * @internal - */ - void internalSetSubModelID(TQString id); - - /** - * @param a TQString with the PCI device class, if any - * @internal - */ - void internalSetPCIClass(TQString cl); - - /** - * @param a TQString with the module alias string, if any - * @internal - */ - void internalSetModuleAlias(TQString ma); - - /** - * @param a TQString with the device driver, if any - * @internal - */ - void internalSetDeviceDriver(TQString dr); - - /** - * @param a TQString with the subsystem type, if any - * @internal - */ - void internalSetSubsystem(TQString ss); - - /** - * @param a TDEGenericDevice* with the parent device, if any - * @internal - */ - void internalSetParentDevice(TDEGenericDevice* pd); - - private: - TDEGenericDeviceType::TDEGenericDeviceType m_deviceType; - TQString m_deviceName; - TQString m_systemPath; - TQString m_deviceNode; - TQString m_vendorName; - TQString m_vendorModel; - TQString m_serialNumber; - TQString m_deviceBus; - TQString m_uniqueID; - TQString m_vendorID; - TQString m_modelID; - TQString m_vendorenc; - TQString m_modelenc; - TQString m_subvendorID; - TQString m_submodelID; - TQString m_pciClass; - TQString m_modAlias; - TQString m_deviceDriver; - TQString m_subsystem; - TQString m_friendlyName; - bool m_blacklistedForUpdate; - TDEGenericDevice* m_parentDevice; - - // Internal use only! - TQStringList m_externalSubtype; - TQString m_externalRulesFile; - TQString m_udevtype; - TQString m_udevdevicetypestring; - TQString udevdevicetypestring_alt; - - friend class TDEHardwareDevices; -}; - -class TDECORE_EXPORT TDEStorageDevice : public TDEGenericDevice -{ - public: - /** - * Constructor. - * @param Device type - */ - TDEStorageDevice(TDEGenericDeviceType::TDEGenericDeviceType dt, TQString dn=TQString::null); - - /** - * Destructor. - */ - ~TDEStorageDevice(); - - /** - * @return a TQString with the disk or partition label, if any - */ - TQString diskLabel(); - - /** - * @return a TQString with the disk UUID, if any - */ - TQString diskUUID(); - - /** - * @return an OR-ed combination of TDEDiskDeviceType::TDEDiskDeviceType type flags - */ - TDEDiskDeviceType::TDEDiskDeviceType diskType(); - - /** - * @return an OR-ed combination of TDEDiskDeviceStatus::TDEDiskDeviceStatus type flags - */ - TDEDiskDeviceStatus::TDEDiskDeviceStatus diskStatus(); - - /** - * @return true if media inserted, false if no media available - */ - bool mediaInserted(); - - /** - * @return a TQString with the filesystem name, if any - */ - TQString fileSystemName(); - - /** - * @return a TQString with the filesystem usage string, if any - */ - TQString fileSystemUsage(); - - /** - * @return a TQStringList containing system paths to all devices with a lock on this device, if any - */ - TQStringList holdingDevices(); - - /** - * @return a TQStringList containing system paths to all devices locked by this device, if any - */ - TQStringList slaveDevices(); - - /** - * Mounts the device if not encrypted - * - * @param a TQString containing a requested mount name under /media, if desired - * @param a TQString containing any mount options for pmount, if desired - * @param a pointer to a TQString which will be populated with any error messages from pmount, if desired - * @param a pointer to an integer which will be populated with the return code from pmount, if desired - * - * @return a TQString with the mount path, if successful - */ - TQString mountDevice(TQString mediaName=TQString::null, TQString mountOptions=TQString::null, TQString* errRet=0, int* retcode=0); - - /** - * Mounts the encrypted device if the correct passphrase is given - * - * @param a TQString containing the passphrase - * @param a TQString containing a requested mount name under /media, if desired - * @param a TQString containing any mount options for pmount, if desired - * @param a pointer to a TQString which will be populated with any error messages from pmount, if desired - * @param a pointer to an integer which will be populated with the return code from pmount, if desired - * - * @return a TQString with the mount path, if successful - */ - TQString mountEncryptedDevice(TQString passphrase, TQString mediaName=TQString::null, TQString mountOptions=TQString::null, TQString* errRet=0, int* retcode=0); - - /** - * Unmounts the device - * - * @param a pointer to a TQString which will be populated with any error messages from pmount, if desired - * @param a pointer to an integer which will be populated with the return code from pmount, if desired - * - * @return TRUE if unmount was successful - */ - bool unmountDevice(TQString* errRet, int* retcode=0); - - /** - * @return a TQString with the mount path, if mounted - */ - TQString mountPath(); - - /** - * @return an unsigned long with the device size in bytes - */ - unsigned long long deviceSize(); - - /** - * @return a TQString with the device size in human readable form - */ - TQString deviceFriendlySize(); - - /** - * Get an icon for this device - * @param size a TDEIcon::StdSizes structure specifying the desired icon size - * @return a TQPixmap containing the icon for the specified type - * - * This method overrides TDEGenericDevice::icon(TDEIcon::StdSizes size) - */ - TQPixmap icon(TDEIcon::StdSizes size); - - /** - * @return a TQString with a friendly name - * - * This method overrides TDEGenericDevice::friendlyName() - */ - TQString friendlyName(); - - /** - * @return a TQString containing the friendly type name - * - * This method overrides TDEGenericDevice::friendlyDeviceType() - */ - TQString friendlyDeviceType(); - - /** - * @param an OR-ed combination of TDEDiskDeviceType::TDEDiskDeviceType type flags - */ - bool isDiskOfType(TDEDiskDeviceType::TDEDiskDeviceType tf); - - /** - * @param an OR-ed combination of TDEDiskDeviceStatus::TDEDiskDeviceStatus type flags - */ - bool checkDiskStatus(TDEDiskDeviceStatus::TDEDiskDeviceStatus sf); - - /** - * @param TRUE to engage media lock, FALSE to disable it - * @return TRUE on success, FALSE on failure - * - * This method currently works on CD-ROM drives and similar devices - */ - bool lockDriveMedia(bool lock); - - /** - * @return TRUE on success, FALSE on failure - * - * This method currently works on CD-ROM drives and similar devices - */ - bool ejectDriveMedia(); - - /** - * @return TRUE on success, FALSE on failure - * - * This method currently works on all removable storage devices - */ - bool ejectDrive(); - - protected: - /** - * @param a TQString with the disk or partition label, if any - * @internal - */ - void internalSetDiskLabel(TQString dn); - - /** - * @param a TQString with the disk UUID, if any - * @internal - */ - void internalSetDiskUUID(TQString id); - - /** - * @param an OR-ed combination of TDEDiskDeviceType::TDEDiskDeviceType type flags - * @internal - */ - void internalSetDiskType(TDEDiskDeviceType::TDEDiskDeviceType tf); - - /** - * @param an OR-ed combination of TDEDiskDeviceStatus::TDEDiskDeviceStatus type flags - * @internal - */ - void internalSetDiskStatus(TDEDiskDeviceStatus::TDEDiskDeviceStatus st); - - /** - * @param a bool with the media status - * @internal - */ - void internalSetMediaInserted(bool inserted); - - /** - * @param a TQString with the filesystem name, if any - * @internal - */ - void internalSetFileSystemName(TQString fn); - - /** - * @param a TQString with the filesystem usage string, if any - * @internal - */ - void internalSetFileSystemUsage(TQString fu); - - /** - * @param a TQStringList containing system paths to all devices with a lock on this device, if any - * @internal - */ - void internalSetHoldingDevices(TQStringList hd); - - /** - * @param a TQStringList containing system paths to all devices locked by this device, if any - * @internal - */ - void internalSetSlaveDevices(TQStringList sd); - - private: - TDEDiskDeviceType::TDEDiskDeviceType m_diskType; - TDEDiskDeviceStatus::TDEDiskDeviceStatus m_diskStatus; - TQString m_diskName; - TQString m_diskUUID; - TQString m_fileSystemName; - TQString m_fileSystemUsage; - bool m_mediaInserted; - TQString m_mountPath; - TQStringList m_holdingDevices; - TQStringList m_slaveDevices; - - friend class TDEHardwareDevices; -}; - class TDECORE_EXPORT TDECPUDevice : public TDEGenericDevice { public: |