Package oshi.hardware.platform.linux
Class LinuxUsbDevice
- java.lang.Object
-
- oshi.hardware.common.AbstractUsbDevice
-
- oshi.hardware.platform.linux.LinuxUsbDevice
-
@Immutable public class LinuxUsbDevice extends AbstractUsbDevice
Linux Usb Device
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.StringATTR_MANUFACTURERprivate static java.lang.StringATTR_PRODUCTprivate static java.lang.StringATTR_PRODUCT_IDprivate static java.lang.StringATTR_SERIALprivate static java.lang.StringATTR_VENDOR_IDprivate static java.lang.StringDEVTYPE_USB_DEVICEprivate static org.slf4j.LoggerLOGprivate static java.lang.StringSUBSYSTEM_USB
-
Constructor Summary
Constructors Constructor Description LinuxUsbDevice(java.lang.String name, java.lang.String vendor, java.lang.String vendorId, java.lang.String productId, java.lang.String serialNumber, java.lang.String uniqueDeviceId, java.util.List<UsbDevice> connectedDevices)
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static voidaddDevicesToList(java.util.List<UsbDevice> deviceList, java.util.List<UsbDevice> list)private static LinuxUsbDevicegetDeviceAndChildren(java.lang.String devPath, java.lang.String vid, java.lang.String pid, java.util.Map<java.lang.String,java.lang.String> nameMap, java.util.Map<java.lang.String,java.lang.String> vendorMap, java.util.Map<java.lang.String,java.lang.String> vendorIdMap, java.util.Map<java.lang.String,java.lang.String> productIdMap, java.util.Map<java.lang.String,java.lang.String> serialMap, java.util.Map<java.lang.String,java.util.List<java.lang.String>> hubMap)Recursively creates LinuxUsbDevices by fetching information from maps to populate fieldsprivate static java.util.List<UsbDevice>getUsbDevices()static java.util.List<UsbDevice>getUsbDevices(boolean tree)Instantiates a list ofUsbDeviceobjects, representing devices connected via a usb port (including internal devices).-
Methods inherited from class oshi.hardware.common.AbstractUsbDevice
compareTo, getConnectedDevices, getName, getProductId, getSerialNumber, getUniqueDeviceId, getVendor, getVendorId, toString
-
-
-
-
Field Detail
-
LOG
private static final org.slf4j.Logger LOG
-
SUBSYSTEM_USB
private static final java.lang.String SUBSYSTEM_USB
- See Also:
- Constant Field Values
-
DEVTYPE_USB_DEVICE
private static final java.lang.String DEVTYPE_USB_DEVICE
- See Also:
- Constant Field Values
-
ATTR_PRODUCT
private static final java.lang.String ATTR_PRODUCT
- See Also:
- Constant Field Values
-
ATTR_MANUFACTURER
private static final java.lang.String ATTR_MANUFACTURER
- See Also:
- Constant Field Values
-
ATTR_VENDOR_ID
private static final java.lang.String ATTR_VENDOR_ID
- See Also:
- Constant Field Values
-
ATTR_PRODUCT_ID
private static final java.lang.String ATTR_PRODUCT_ID
- See Also:
- Constant Field Values
-
ATTR_SERIAL
private static final java.lang.String ATTR_SERIAL
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
LinuxUsbDevice
public LinuxUsbDevice(java.lang.String name, java.lang.String vendor, java.lang.String vendorId, java.lang.String productId, java.lang.String serialNumber, java.lang.String uniqueDeviceId, java.util.List<UsbDevice> connectedDevices)
-
-
Method Detail
-
getUsbDevices
public static java.util.List<UsbDevice> getUsbDevices(boolean tree)
Instantiates a list ofUsbDeviceobjects, representing devices connected via a usb port (including internal devices).If the value of
treeis true, the top level devices returned from this method are the USB Controllers; connected hubs and devices in its device tree share that controller's bandwidth. If the value oftreeis false, USB devices (not controllers) are listed in a single flat list.- Parameters:
tree- If true, returns a list of controllers, which requires recursive iteration of connected devices. If false, returns a flat list of devices excluding controllers.- Returns:
- a list of
UsbDeviceobjects.
-
getUsbDevices
private static java.util.List<UsbDevice> getUsbDevices()
-
addDevicesToList
private static void addDevicesToList(java.util.List<UsbDevice> deviceList, java.util.List<UsbDevice> list)
-
getDeviceAndChildren
private static LinuxUsbDevice getDeviceAndChildren(java.lang.String devPath, java.lang.String vid, java.lang.String pid, java.util.Map<java.lang.String,java.lang.String> nameMap, java.util.Map<java.lang.String,java.lang.String> vendorMap, java.util.Map<java.lang.String,java.lang.String> vendorIdMap, java.util.Map<java.lang.String,java.lang.String> productIdMap, java.util.Map<java.lang.String,java.lang.String> serialMap, java.util.Map<java.lang.String,java.util.List<java.lang.String>> hubMap)
Recursively creates LinuxUsbDevices by fetching information from maps to populate fields- Parameters:
devPath- The device node path.vid- The default (parent) vendor IDpid- The default (parent) product IDnameMap- the map of namesvendorMap- the map of vendorsvendorIdMap- the map of vendorIdsproductIdMap- the map of productIdsserialMap- the map of serial numbershubMap- the map of hubs- Returns:
- A LinuxUsbDevice corresponding to this device
-
-