Make device enumeration use the device transport data

This removes some special-case code for Uemis, replacing it with simply
passing in the device transport information.

This makes device enumeration work for the Garmin Descent (if it is
listed by libdivecomputer as a USB storage device, that is).

I don't actually do any of the libdivecomputer parsing yet, and only
have a stub for the Garmin Descent, but now the directory selection
works with that stub. The actual download obviously does not.

[Dirk Hohndel: removed obsolete FIXME from code]

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Linus Torvalds 2018-08-27 10:32:14 -07:00 committed by Dirk Hohndel
parent bb067b6ee4
commit 270e9eccad
13 changed files with 40 additions and 33 deletions

View file

@ -398,11 +398,11 @@ static void fillDeviceList(const char *name, void *data)
comboBox->addItem(name);
}
void ConfigureDiveComputerDialog::fill_device_list(int dc_type)
void ConfigureDiveComputerDialog::fill_device_list(unsigned int transport)
{
int deviceIndex;
ui.device->clear();
deviceIndex = enumerate_devices(fillDeviceList, ui.device, dc_type);
deviceIndex = enumerate_devices(fillDeviceList, ui.device, transport);
if (deviceIndex >= 0)
ui.device->setCurrentIndex(deviceIndex);
}
@ -1445,12 +1445,12 @@ void ConfigureDiveComputerDialog::on_DiveComputerList_currentRowChanged(int curr
return;
}
int dcType = DC_TYPE_SERIAL;
unsigned int transport = DC_TRANSPORT_SERIAL;
if (selected_vendor == QString("Uemis"))
dcType = DC_TYPE_UEMIS;
fill_device_list(dcType);
transport = DC_TRANSPORT_USBSTORAGE;
fill_device_list(transport);
}
void ConfigureDiveComputerDialog::checkLogFile(int state)