57 lines
1.1 KiB
Java
57 lines
1.1 KiB
Java
package de.ctdo.bunti.control;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
import net.sf.json.JSONObject;
|
|
import de.ctdo.bunti.dmx.DMXMixer;
|
|
|
|
public class BuntiController {
|
|
static BuntiController instance = new BuntiController();
|
|
DMXMixer mixer = null;
|
|
protected final List<BroadcastListener> listeners = new ArrayList<BroadcastListener>();
|
|
|
|
public static BuntiController getInstance() {
|
|
return instance;
|
|
}
|
|
|
|
private BuntiController() {
|
|
mixer = new DMXMixer();
|
|
|
|
}
|
|
|
|
public void addListener(BroadcastListener l) {
|
|
synchronized (listeners) {
|
|
listeners.add(l);
|
|
}
|
|
}
|
|
public void removeListener(BroadcastListener l) {
|
|
synchronized (listeners) {
|
|
listeners.remove(l);
|
|
}
|
|
}
|
|
|
|
|
|
public void performJSONString(String json) {
|
|
|
|
JSONObject jsonobj = JSONObject.fromObject(json);
|
|
|
|
if (jsonobj.containsKey("command")) {
|
|
|
|
String command = jsonobj.get("command").toString();
|
|
if (command.equals("setdmxchannels")) {
|
|
|
|
} else if (command.equals("switchdevice")) {
|
|
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
public void sendBroadcastMessage(String message) {
|
|
for (BroadcastListener l : listeners) {
|
|
l.Broadcast(message);
|
|
}
|
|
}
|
|
}
|