diff options
| author | Keith Packard <keithp@keithp.com> | 2010-07-26 15:42:48 -0700 |
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2010-07-26 15:42:48 -0700 |
| commit | 005e2d6a7bb3b0546b0c1273296875621632ec6d (patch) | |
| tree | 9dc5c2a19f4ac216ce1fb1d6a2bd1053b98a969d /ao-tools/altosui/AltosDevice.java | |
| parent | c726d8f6eb861801d7543552beab6ee2c920c96f (diff) | |
Switch AltosUI to libaltos for device access
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'ao-tools/altosui/AltosDevice.java')
| -rw-r--r-- | ao-tools/altosui/AltosDevice.java | 35 |
1 files changed, 29 insertions, 6 deletions
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<altos_device> device_list = new ArrayList<altos_device>(); + 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 |
