altosui: Catch errors opening USB devices. Limit list to relevant devices
[fw/altos] / ao-tools / altosui / AltosDeviceDialog.java
index cb1eef8bc8f8204db8ab414a5dbd7563be1ddb80..08921c3d044d308680106b529b96f2c0b4abad8e 100644 (file)
@@ -20,15 +20,17 @@ package altosui;
 import java.lang.*;
 import java.util.*;
 import javax.swing.*;
+import libaltosJNI.libaltos;
+import libaltosJNI.altos_device;
+import libaltosJNI.SWIGTYPE_p_altos_file;
+import libaltosJNI.SWIGTYPE_p_altos_list;
 import altosui.AltosDevice;
-import altosui.AltosDeviceLinux;
 
 public class AltosDeviceDialog {
 
-       static AltosDevice show (JFrame frame, String product) {
-               AltosDevice[]   devices = null;
-               if (System.getProperty("os.name").startsWith("Linux"))
-                       devices = AltosDeviceLinux.list(product);
+       static altos_device show (JFrame frame, String product) {
+               AltosDevice[]   devices;
+               devices = AltosDevice.list(product);
                if (devices != null & devices.length > 0) {
                        Object o = JOptionPane.showInputDialog(frame,
                                                               "Select a device",
@@ -37,8 +39,12 @@ public class AltosDeviceDialog {
                                                               null,
                                                               devices,
                                                               devices[0]);
-                       return (AltosDevice) o;
+                       return (altos_device) o;
                } else {
+                       JOptionPane.showMessageDialog(frame,
+                                                     "No AltOS devices available",
+                                                     "No AltOS devices",
+                                                     JOptionPane.ERROR_MESSAGE);
                        return null;
                }
        }