From df65d887876d767e605795ae00efd79922593705 Mon Sep 17 00:00:00 2001 From: scream3r Date: Mon, 22 Apr 2013 09:59:59 +0400 Subject: [PATCH] Added 3 constants to SerialNativeInterface class, and made a little refactoring of SerialPort and SerialPortList classes --- src/java/jssc/SerialNativeInterface.java | 13 +++++++++++++ src/java/jssc/SerialPort.java | 6 +++--- src/java/jssc/SerialPortList.java | 2 +- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/java/jssc/SerialNativeInterface.java b/src/java/jssc/SerialNativeInterface.java index 0138bf2..dff4a07 100644 --- a/src/java/jssc/SerialNativeInterface.java +++ b/src/java/jssc/SerialNativeInterface.java @@ -46,6 +46,19 @@ public class SerialNativeInterface { private static int osType = -1; + /** + * @since 2.3.0 + */ + public static final int ERR_PORT_BUSY = -1; + /** + * @since 2.3.0 + */ + public static final int ERR_PORT_NOT_FOUND = -2; + /** + * @since 2.3.0 + */ + public static final int ERR_PERMISSION_DENIED = -3; + static { String libFolderPath; String libName; diff --git a/src/java/jssc/SerialPort.java b/src/java/jssc/SerialPort.java index 1b5455a..b719532 100644 --- a/src/java/jssc/SerialPort.java +++ b/src/java/jssc/SerialPort.java @@ -151,13 +151,13 @@ public class SerialPort { else { throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_NULL_NOT_PERMITTED);//since 2.1.0 -> NULL port name fix } - if(portHandle == -1){//since 0.9.0 -> + if(portHandle == SerialNativeInterface.ERR_PORT_BUSY){//since 0.9.0 -> throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_PORT_BUSY); } - else if(portHandle == -2){ + else if(portHandle == SerialNativeInterface.ERR_PORT_NOT_FOUND){ throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_PORT_NOT_FOUND); }//<- since 0.9.0 - else if(portHandle == -3){//since 2.2.0 -> + else if(portHandle == SerialNativeInterface.ERR_PERMISSION_DENIED){//since 2.2.0 -> throw new SerialPortException(portName, "openPort()", SerialPortException.TYPE_PERMISSION_DENIED); }//<- since 2.2.0 portOpened = true; diff --git a/src/java/jssc/SerialPortList.java b/src/java/jssc/SerialPortList.java index f3a0d03..021fc79 100644 --- a/src/java/jssc/SerialPortList.java +++ b/src/java/jssc/SerialPortList.java @@ -332,7 +332,7 @@ public class SerialPortList { String portName = searchPath + fileName; if(SerialNativeInterface.getOsType() == SerialNativeInterface.OS_LINUX){ int portHandle = serialInterface.openPort(portName, false);//Open port without TIOCEXCL - if(portHandle < 0 && portHandle != -1){//If port handle == -1 it's mean that it's busy + if(portHandle < 0 && portHandle != SerialNativeInterface.ERR_PORT_BUSY){//If port handle == -1 it's mean that it's busy continue; } else if(portHandle != -1) {