From 04e3b6b17132028b2d3d197bd0341e20fcc476b3 Mon Sep 17 00:00:00 2001 From: LongHairedHacker Date: Mon, 19 Dec 2016 11:55:22 +0100 Subject: [PATCH] SSS7 should be a signleton --- software/jna/SSS7.java | 14 +++++++++++--- software/jna/SSS7Test.java | 4 ++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/software/jna/SSS7.java b/software/jna/SSS7.java index 7d1a4b7..b9a4f32 100644 --- a/software/jna/SSS7.java +++ b/software/jna/SSS7.java @@ -4,6 +4,15 @@ import com.sun.jna.Pointer; import com.sun.jna.Memory; public class SSS7 { + private static SSS7 instance = null; + + public static SSS7 getInstance() { + if(instance == null) { + instance = new SSS7(); + } + return instance; + } + private interface NativeSSS7 extends Library { public int libsss7_start(String serialport); public int libsss7_can_send(); @@ -19,12 +28,11 @@ public class SSS7 { private NativeSSS7 lib; private String serial; - SSS7(String serial) { + protected SSS7() { this.lib = (NativeSSS7) Native.loadLibrary("libsss7.so", NativeSSS7.class); - this.serial = serial; } - public boolean start() { + public boolean start(String serial) { return this.lib.libsss7_start(this.serial) == 0; } diff --git a/software/jna/SSS7Test.java b/software/jna/SSS7Test.java index 7db06a1..406c800 100644 --- a/software/jna/SSS7Test.java +++ b/software/jna/SSS7Test.java @@ -5,9 +5,9 @@ public class SSS7Test { public static void main(String[] args) { - SSS7 bus = new SSS7("/dev/ttyUSB0"); + SSS7 bus = SSS7.getInstance(); - bus.start(); + bus.start("/dev/ttyUSB0"); while(!bus.canSend()); bus.send("Hallo Java".getBytes());