diff options
-rw-r--r-- | altosuilib/AltosDevice.java | 1 | ||||
-rw-r--r-- | altosuilib/AltosUSBDevice.java | 17 |
2 files changed, 18 insertions, 0 deletions
diff --git a/altosuilib/AltosDevice.java b/altosuilib/AltosDevice.java index 483d337b..a5a068b4 100644 --- a/altosuilib/AltosDevice.java +++ b/altosuilib/AltosDevice.java @@ -28,4 +28,5 @@ public interface AltosDevice { public abstract boolean matchProduct(int product); public abstract String getErrorString(); public SWIGTYPE_p_altos_file open(); + public abstract boolean equals(Object obj); } diff --git a/altosuilib/AltosUSBDevice.java b/altosuilib/AltosUSBDevice.java index f7aae38a..16a0e770 100644 --- a/altosuilib/AltosUSBDevice.java +++ b/altosuilib/AltosUSBDevice.java @@ -94,6 +94,23 @@ public class AltosUSBDevice extends altos_device implements AltosDevice { return false; } + public int hashCode() { + return getVendor() ^ getProduct() ^ getSerial(); + } + + public boolean equals(Object o) { + if (o == null) + return false; + + if (!(o instanceof AltosUSBDevice)) + return false; + AltosUSBDevice other = (AltosUSBDevice) o; + + return getVendor() == other.getVendor() && + getProduct() == other.getProduct() && + getSerial() == other.getSerial(); + } + static public java.util.List<AltosDevice> list(int product) { if (!AltosUILib.load_library()) return null; |