Branch: master

c0cca8ca 2015-09-21 00:36:08 Timothy Pearson
Add fingerprint reader and test/measurement devices classes to tdehwlib
M tdecore/tdehw/tdehardwaredevices.cpp
M tdecore/tdehw/tdehwcommontypes.h
diff --git a/tdecore/tdehw/tdehardwaredevices.cpp b/tdecore/tdehw/tdehardwaredevices.cpp
index e3608e1..9b21a4b 100644
--- a/tdecore/tdehw/tdehardwaredevices.cpp
+++ b/tdecore/tdehw/tdehardwaredevices.cpp
@@ -1396,6 +1396,12 @@
 	else if (query == "CryptographicCard") {
 		ret = TDEGenericDeviceType::CryptographicCard;
 	}
+	else if (query == "BiometricSecurity") {
+		ret = TDEGenericDeviceType::BiometricSecurity;
+	}
+	else if (query == "TestAndMeasurement") {
+		ret = TDEGenericDeviceType::TestAndMeasurement;
+	}
 	else if (query == "Event") {
 		ret = TDEGenericDeviceType::Event;
 	}
@@ -2292,14 +2298,6 @@
 						ifaceprotofile.close();
 					}
 				}
-				if (usbInterfaceClass == 9) {
-					// Hub
-					if (!device) device = new TDEGenericDevice(TDEGenericDeviceType::Hub);
-				}
-				if (usbInterfaceClass == 11) {
-					// Smart Card Reader
-					if (!device) device = new TDECryptographicCardDevice(TDEGenericDeviceType::CryptographicCard);
-				}
 				if ((usbInterfaceClass == 6) && (usbInterfaceSubClass == 1) && (usbInterfaceProtocol == 1)) {
 					// PictBridge
 					if (!device) {
@@ -2313,6 +2311,22 @@
 						parentdev = udev_device_new_from_syspath(m_udevStruct, parentsyspathudev.ascii());
 						devicenode = (udev_device_get_devnode(parentdev));
 					}
+				}
+				else if (usbInterfaceClass == 9) {
+					// Hub
+					if (!device) device = new TDEGenericDevice(TDEGenericDeviceType::Hub);
+				}
+				else if (usbInterfaceClass == 11) {
+					// Smart Card Reader
+					if (!device) device = new TDECryptographicCardDevice(TDEGenericDeviceType::CryptographicCard);
+				}
+				else if (usbInterfaceClass == 14) {
+					// Fingerprint Reader
+					if (!device) device = new TDEGenericDevice(TDEGenericDeviceType::BiometricSecurity);
+				}
+				else if (usbInterfaceClass == 254) {
+					// Test and/or Measurement Device
+					if (!device) device = new TDEGenericDevice(TDEGenericDeviceType::TestAndMeasurement);
 				}
 				else {
 					if (!device) device = new TDEGenericDevice(TDEGenericDeviceType::OtherUSB);
@@ -4096,6 +4110,12 @@
 	else if (query == TDEGenericDeviceType::CryptographicCard) {
 		ret = i18n("Cryptographic Card");
 	}
+	else if (query == TDEGenericDeviceType::BiometricSecurity) {
+		ret = i18n("Biometric Security");
+	}
+	else if (query == TDEGenericDeviceType::TestAndMeasurement) {
+		ret = i18n("Test and Measurement");
+	}
 	else if (query == TDEGenericDeviceType::Event) {
 		ret = i18n("Platform Event");
 	}
@@ -4257,6 +4277,12 @@
 	else if (query == TDEGenericDeviceType::CryptographicCard) {
 		ret = DesktopIcon("password", size);
 	}
+	else if (query == TDEGenericDeviceType::BiometricSecurity) {
+		ret = DesktopIcon("password", size);
+	}
+	else if (query == TDEGenericDeviceType::TestAndMeasurement) {
+		ret = DesktopIcon("kcmdevices", size);
+	}
 	else if (query == TDEGenericDeviceType::Event) {
 		ret = DesktopIcon("preferences-system", size);
 	}
diff --git a/tdecore/tdehw/tdehwcommontypes.h b/tdecore/tdehw/tdehwcommontypes.h
index b560407..403a21d 100644
--- a/tdecore/tdehw/tdehwcommontypes.h
+++ b/tdecore/tdehw/tdehwcommontypes.h
@@ -64,6 +64,8 @@
 	Platform,
 	Cryptography,
 	CryptographicCard,
+	BiometricSecurity,
+	TestAndMeasurement,
 	Event,
 	Input,
 	PNP,