diff options
author | Keith Packard <keithp@keithp.com> | 2012-01-02 20:34:38 -0800 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2012-01-02 20:34:38 -0800 |
commit | 01bbf9e163e7178712262800f8c59fcbea3f82eb (patch) | |
tree | b17e15a41a09c2a935805cac88af538711dceda6 | |
parent | 0b7cfac3fba549abaaddc2b4fba825766199a4fc (diff) |
altosui: Move AltosConfigData.java to library
Create a new 'AltosLink' which exposes how to talk to the remote
device abstractly via 'get_reply' and 'printf' methods.
Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r-- | altosui/AltosSerial.java | 2 | ||||
-rw-r--r-- | altosui/altoslib/Makefile.am | 2 | ||||
-rw-r--r-- | altosui/altoslib/src/org/altusmetrum/AltosLib/AltosConfigData.java | 13 | ||||
-rw-r--r-- | altosui/altoslib/src/org/altusmetrum/AltosLib/AltosLink.java | 26 |
4 files changed, 32 insertions, 11 deletions
diff --git a/altosui/AltosSerial.java b/altosui/AltosSerial.java index bf8c11f9..b8c6ed54 100644 --- a/altosui/AltosSerial.java +++ b/altosui/AltosSerial.java @@ -41,7 +41,7 @@ import libaltosJNI.*; * threads. */ -public class AltosSerial implements Runnable { +public class AltosSerial implements Runnable, AltosLink { static java.util.List<String> devices_opened = Collections.synchronizedList(new LinkedList<String>()); diff --git a/altosui/altoslib/Makefile.am b/altosui/altoslib/Makefile.am index 967c8d06..cbf716b0 100644 --- a/altosui/altoslib/Makefile.am +++ b/altosui/altoslib/Makefile.am @@ -11,12 +11,14 @@ AltosLibdir = $(datadir)/java AltosLib_JAVA = \ $(SRC)/AltosLib.java \ + $(SRC)/AltosConfigData.java \ $(SRC)/AltosConvert.java \ $(SRC)/AltosCRCException.java \ $(SRC)/AltosFrequency.java \ $(SRC)/AltosGPS.java \ $(SRC)/AltosGPSSat.java \ $(SRC)/AltosLine.java \ + $(SRC)/AltosLink.java \ $(SRC)/AltosParse.java \ $(SRC)/AltosPreferences.java \ $(SRC)/AltosRecordCompanion.java \ diff --git a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosConfigData.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosConfigData.java index a331a357..07eb14d8 100644 --- a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosConfigData.java +++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosConfigData.java @@ -17,11 +17,6 @@ package altosui; -import java.awt.*; -import java.awt.event.*; -import javax.swing.*; -import javax.swing.filechooser.FileNameExtensionFilter; -import javax.swing.table.*; import java.io.*; import java.util.*; import java.text.*; @@ -29,8 +24,6 @@ import java.util.prefs.*; import java.util.concurrent.*; import org.altusmetrum.AltosLib.*; -import libaltosJNI.*; - public class AltosConfigData implements Iterable<String> { /* Version information */ @@ -104,13 +97,13 @@ public class AltosConfigData implements Iterable<String> { } } - public AltosConfigData(AltosSerial serial_line) throws InterruptedException, TimeoutException { - serial_line.printf("c s\nf\nl\nv\n"); + public AltosConfigData(AltosLink link) throws InterruptedException, TimeoutException { + link.printf("c s\nf\nl\nv\n"); lines = new LinkedList<String>(); radio_setting = 0; stored_flight = 0; for (;;) { - String line = serial_line.get_reply(); + String line = link.get_reply(); if (line == null) throw new TimeoutException(); if (line.contains("Syntax error")) diff --git a/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosLink.java b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosLink.java new file mode 100644 index 00000000..80f3d712 --- /dev/null +++ b/altosui/altoslib/src/org/altusmetrum/AltosLib/AltosLink.java @@ -0,0 +1,26 @@ +/* + * Copyright © 2011 Keith Packard <keithp@keithp.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + */ + +package org.altusmetrum.AltosLib; + +public interface AltosLink { + public void printf(String format, Object ... arguments) throws InterruptedException; + + public String get_reply() throws InterruptedException; + + public String get_reply(int timeout) throws InterruptedException; +} |