diff options
| author | Keith Packard <keithp@keithp.com> | 2010-07-28 11:20:22 -0700 |
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2010-07-28 11:20:22 -0700 |
| commit | 172a2817dde6718724f2b5fad5a7761801446fa0 (patch) | |
| tree | 880efde60fc468f1046307470141c773856399bd /ao-tools/altosui/AltosDevice.java | |
| parent | f2a006fd98045066bdf429cc142d033e9feb0a8f (diff) | |
| parent | 81bf2042ca39eb106b789e5a08647c3114669358 (diff) | |
Merge branch 'macos'
Diffstat (limited to 'ao-tools/altosui/AltosDevice.java')
| -rw-r--r-- | ao-tools/altosui/AltosDevice.java | 39 |
1 files changed, 32 insertions, 7 deletions
diff --git a/ao-tools/altosui/AltosDevice.java b/ao-tools/altosui/AltosDevice.java index 66800c5c..0e7d01da 100644 --- a/ao-tools/altosui/AltosDevice.java +++ b/ao-tools/altosui/AltosDevice.java @@ -18,13 +18,38 @@ 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; +public class AltosDevice extends altos_device { + public String toString() { + return String.format("%-20.20s %4d %s", + getProduct(), getSerial(), getPath()); + } + + static { + System.loadLibrary("altos"); + libaltos.altos_init(); + } + static AltosDevice[] list(String product) { + SWIGTYPE_p_altos_list list = libaltos.altos_list_start(); + + ArrayList<AltosDevice> device_list = new ArrayList<AltosDevice>(); + if (list != null) { + SWIGTYPE_p_altos_file file; + + for (;;) { + AltosDevice device = new AltosDevice(); + if (libaltos.altos_list_next(list, device) == 0) + break; + device_list.add(device); + } + libaltos.altos_list_finish(list); + } + + AltosDevice[] devices = new AltosDevice[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 |
