diff --git a/java/src/org/wiigee/device/Wiimote.java b/java/src/org/wiigee/device/Wiimote.java index d9fa086..7c17cd8 100644 --- a/java/src/org/wiigee/device/Wiimote.java +++ b/java/src/org/wiigee/device/Wiimote.java @@ -26,8 +26,6 @@ package org.wiigee.device; import java.io.IOException; import java.util.Random; import java.util.Vector; -import javax.bluetooth.L2CAPConnection; -import javax.microedition.io.Connector; import org.wiigee.event.*; import org.wiigee.filter.Filter; import org.wiigee.util.Log; diff --git a/java/src/org/wiigee/device/WiimoteStreamer.java b/java/src/org/wiigee/device/WiimoteStreamer.java index b8ba764..34d9d88 100644 --- a/java/src/org/wiigee/device/WiimoteStreamer.java +++ b/java/src/org/wiigee/device/WiimoteStreamer.java @@ -25,9 +25,7 @@ package org.wiigee.device; import java.io.IOException; import java.util.EventObject; - import java.util.Vector; -import javax.bluetooth.L2CAPConnection; import org.wiigee.util.Log; diff --git a/java/src/pm/Event.java b/java/src/pm/Event.java index ed3e703..ca739aa 100644 --- a/java/src/pm/Event.java +++ b/java/src/pm/Event.java @@ -5,7 +5,7 @@ import java.io.Serializable; import pm.event.EventListener; import pm.value.Target; -public class Event implements Serializable { +public class Event { protected static final long serialVersionUID = 1L; protected Target target; diff --git a/java/src/pm/device/network/NetworkDevice.java b/java/src/pm/device/network/NetworkDevice.java index 2cc4b05..cf2a85b 100644 --- a/java/src/pm/device/network/NetworkDevice.java +++ b/java/src/pm/device/network/NetworkDevice.java @@ -1,20 +1,19 @@ package pm.device.network; import java.io.IOException; -import java.io.InputStream; import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; import java.util.ArrayList; -import java.util.Scanner; - import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import pm.Device; import pm.Event; import pm.Worker; +import pm.event.Feedback; import pm.exception.device.DeviceInitialiseException; import pm.value.Action; @@ -47,8 +46,14 @@ public class NetworkDevice extends Device { server.stop(); } - protected void add(Action action) { - + protected void feedback(Feedback feedback) { + for (Client client : clientList) { + try { + client.send(feedback); + } catch (IOException e) { + e.printStackTrace(); + } + } } protected class Server extends Worker { @@ -79,12 +84,12 @@ public class NetworkDevice extends Device { protected class Client extends Worker { protected Socket socket; protected ObjectInputStream objectInputStream; - protected OutputStream outputStream; + protected ObjectOutputStream objectOutputStream; public Client(Socket socket) throws IOException { this.socket = socket; objectInputStream = new ObjectInputStream(socket.getInputStream()); - //outputStream = socket.getOutputStream(); + objectOutputStream = new ObjectOutputStream(socket.getOutputStream()); clientList.add(this); } @@ -112,10 +117,14 @@ public class NetworkDevice extends Device { clientList.remove(this); } } + + public void send(Object object) throws IOException { + objectOutputStream.writeObject(object); + } public void disconnect() throws IOException { objectInputStream.close(); - outputStream.close(); + objectOutputStream.close(); socket.close(); } } diff --git a/java/src/pm/device/network/NetworkServer.java b/java/src/pm/device/network/NetworkServer.java deleted file mode 100644 index 383908f..0000000 --- a/java/src/pm/device/network/NetworkServer.java +++ /dev/null @@ -1,71 +0,0 @@ -package pm.device.network; - -import java.io.IOException; -import java.io.InputStream; -import java.net.ServerSocket; -import java.net.Socket; -import java.util.Scanner; - -import pm.Device; -import pm.exception.task.action.ActionDeserializeException; -import pm.value.Action; - -public class NetworkServer extends Device { - public static final int PORT = 1234; - protected MessageReceiver messageReceiver; - - public NetworkServer() { - messageReceiver = new MessageReceiver(PORT); - messageReceiver.start(); - System.out.println("NetworkServer started"); - } - - public void action(Action action) { - this.action(action); - } - - protected class MessageReceiver extends Thread { - protected ServerSocket server; - - public MessageReceiver(int port) { - try { - server = new ServerSocket(port); - } catch (IOException e) { - e.printStackTrace(); - } - System.out.println("MessageReceiver started"); - } - - public void run() { - while (true) { - System.out.println("MessageReceiver is waiting for clients"); - try { - Socket socket = server.accept(); - final InputStream inputStream = socket.getInputStream(); - new Thread() { - public void run() { - Scanner input = new Scanner(inputStream); - while (input.hasNext()) { - String string = input.next().toUpperCase(); - if(string != null) { - try { - Action action = Action.deserialise(string); - action(action); - } catch (ActionDeserializeException e) {} - } - try { - Thread.sleep(SLEEP); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - } - }.start(); - System.out.println("Client connected"); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - } -} \ No newline at end of file diff --git a/java/src/pm/device/text/lan/LanTextDevice.java b/java/src/pm/device/text/lan/LanTextDevice.java deleted file mode 100644 index dcc0dff..0000000 --- a/java/src/pm/device/text/lan/LanTextDevice.java +++ /dev/null @@ -1,27 +0,0 @@ -package pm.device.text.lan; - -import java.io.IOException; -import java.net.ServerSocket; -import pm.Device; -import pm.exception.device.DeviceInitialiseException; - -public class LanTextDevice extends Device { - static final int PORT = 1234; - - protected ServerSocket server; - protected SocketListener socketListener; - - public void initialise() throws DeviceInitialiseException { - try { - server = new ServerSocket(PORT); - socketListener = new SocketListener(server); - socketListener.start(); - } catch (IOException e) { - throw new DeviceInitialiseException(); - } - } - - public void exit() { - socketListener.stop(); - } -} diff --git a/java/src/pm/device/text/lan/SocketListener.java b/java/src/pm/device/text/lan/SocketListener.java deleted file mode 100644 index bd9175e..0000000 --- a/java/src/pm/device/text/lan/SocketListener.java +++ /dev/null @@ -1,41 +0,0 @@ -package pm.device.text.lan; - -import java.io.IOException; -import java.io.InputStream; -import java.net.ServerSocket; -import java.net.Socket; -import java.util.ArrayList; - -import pm.Worker; -import pm.device.text.TextDevice; - -public class SocketListener extends Worker { - protected ServerSocket server; - protected ArrayList inputListenerList; - - public SocketListener(ServerSocket server) { - this.server = server; - inputListenerList = new ArrayList(); - } - - public void run() { - while (run) { - try { - Socket socket = server.accept(); - InputStream inputStream = socket.getInputStream(); - TextDevice.InputListener inputListener = new TextDevice().new InputListener(inputStream); - inputListenerList.add(inputListener); - inputListener.start(); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - - public void stop() { - run = false; - for (TextDevice.InputListener inputListener : inputListenerList) { - inputListener.stop(); - } - } -}