Add version numbers to java libraries
[fw/altos] / altosui / AltosSerial.java
index c4e9c69720339e0d0a4b474f87319986fc4dd33b..710aa1450b762d995a75744af1fdfa58eb5b786e 100644 (file)
 
 package altosui;
 
-import java.lang.*;
 import java.io.*;
-import java.util.concurrent.*;
 import java.util.*;
-import java.text.*;
 import java.awt.*;
-import java.awt.event.*;
 import javax.swing.*;
-import javax.swing.filechooser.FileNameExtensionFilter;
-import javax.swing.table.*;
-import org.altusmetrum.AltosLib.*;
+import org.altusmetrum.altoslib_1.*;
+import org.altusmetrum.altosuilib_1.*;
 
 import libaltosJNI.*;
 
@@ -41,7 +36,7 @@ import libaltosJNI.*;
  * threads.
  */
 
-public class AltosSerial extends AltosLink implements Runnable {
+public class AltosSerial extends AltosLink  {
 
        static java.util.List<String> devices_opened = Collections.synchronizedList(new LinkedList<String>());
 
@@ -54,13 +49,19 @@ public class AltosSerial extends AltosLink implements Runnable {
        Frame frame;
 
        public int getchar() {
+               if (altos == null)
+                       return ERROR;
                return libaltos.altos_getchar(altos, 0);
        }
 
        public void flush_output() {
                super.flush_output();
                if (altos != null) {
-                       libaltos.altos_flush(altos);
+                       if (libaltos.altos_flush(altos) != 0) {
+                               libaltos.altos_close(altos);
+                               altos = null;
+                               abort_reply();
+                       }
                }
        }
 
@@ -155,7 +156,11 @@ public class AltosSerial extends AltosLink implements Runnable {
 
        private void putc(char c) {
                if (altos != null)
-                       libaltos.altos_putchar(altos, c);
+                       if (libaltos.altos_putchar(altos, c) != 0) {
+                               libaltos.altos_close(altos);
+                               altos = null;
+                               abort_reply();
+                       }
        }
 
        public void print(String data) {