Added support for macosx 10.11+

Seems like, starting from 10.11, IOUSBDevice has been renamed to IOUSBHostDevice.
This commit is contained in:
Cristian Maglie
2021-02-26 13:07:44 +01:00
parent e18766f4d1
commit b62cd2386c

View File

@@ -47,9 +47,13 @@ func extractPortInfo(service C.io_registry_entry_t) (*PortDetails, error) {
port.Name = name port.Name = name
port.IsUSB = false port.IsUSB = false
validUSBDeviceClass := map[string]bool{
"IOUSBDevice": true,
"IOUSBHostDevice": true,
}
usbDevice := service usbDevice := service
var searchErr error var searchErr error
for usbDevice.GetClass() != "IOUSBDevice" { for !validUSBDeviceClass[usbDevice.GetClass()] {
if usbDevice, searchErr = usbDevice.GetParent("IOService"); searchErr != nil { if usbDevice, searchErr = usbDevice.GetParent("IOService"); searchErr != nil {
break break
} }