X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=ao-tools%2Faltosui%2FAltosDevice.java;h=8ebd3b991bb52486ea7faa46efc35307339bdbbb;hp=66800c5c66da39e45964f1593ee06a99614ee943;hb=005e2d6a7bb3b0546b0c1273296875621632ec6d;hpb=c726d8f6eb861801d7543552beab6ee2c920c96f diff --git a/ao-tools/altosui/AltosDevice.java b/ao-tools/altosui/AltosDevice.java index 66800c5c..8ebd3b99 100644 --- a/ao-tools/altosui/AltosDevice.java +++ b/ao-tools/altosui/AltosDevice.java @@ -18,13 +18,36 @@ package altosui; import java.lang.*; import java.util.*; +import libaltosJNI.*; public class AltosDevice { - String tty; /* suitable to be passed to AltosSerial.connect */ - String manufacturer; - String product; - int serial; - int idProduct; - int idVendor; + static { + System.loadLibrary("altos"); + libaltos.altos_init(); + } + static altos_device[] list(String product) { + SWIGTYPE_p_altos_list list = libaltos.altos_list_start(); + + ArrayList device_list = new ArrayList(); + if (list != null) { + SWIGTYPE_p_altos_file file; + + for (;;) { + altos_device device = new altos_device(); + if (libaltos.altos_list_next(list, device) == 0) + break; + System.out.printf("Found device %s %d %s\n", + device.getProduct(), device.getSerial(), device.getPath()); + + device_list.add(device); + } + libaltos.altos_list_finish(list); + } + + altos_device[] devices = new altos_device[device_list.size()]; + for (int i = 0; i < device_list.size(); i++) + devices[i] = device_list.get(i); + return devices; + } } \ No newline at end of file