On 2018-04-19 06:25, Dirk Hohndel wrote:
@@ -123,10 +109,31 @@ void fill_computer_list()
        dc_iterator_t *iterator = NULL;
        dc_descriptor_t *descriptor = NULL;

+       int transportMask = 0;
+#if defined(BT_SUPPORT)
+       transportMask |= DC_TRANSPORT_BLUETOOTH;
+#endif
+#if defined(BLE_SUPPORT)
+       transportMask |= DC_TRANSPORT_BLE;
+#endif
+#if !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS) && !defined(Q_OS_MAC)
+       transportMask |= DC_TRANSPORT_IRDA;
+#endif
+#if !defined(Q_OS_IOS)
+       transportMask |= DC_TRANSPORT_USB | DC_TRANSPORT_USBHID;
+#endif
+#if !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS)
+       transportMask |= DC_TRANSPORT_SERIAL;
+#endif
+

You can also get the mask with the built-in transports from libdivecomputer with the dc_context_get_transports() function. With the above, you'll for example show usb or usbhid devices even when libdivecomputer was build without usb or usbhid support.

For transports where subsurface uses a custom I/O implementation (bluetooth and ble), you of course need to set the bits as above.

Jef
_______________________________________________
subsurface mailing list
subsurface@subsurface-divelog.org
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to