X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=monitor%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fupnpmonitor%2FMain.java;fp=monitor%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fupnpmonitor%2FMain.java;h=4d49b33a7e115b2ca90de619b1ec82f49c253db9;hb=c2b0bc89067fda22755e884a771b809463ea8e30;hp=8fc5b778dd49d5ae58d9712ad36ca9ecece547e4;hpb=f69194edc31d6dce4371d6af6d3bb558cdf77757;p=upnpmonitor diff --git a/monitor/src/main/java/org/wamblee/upnpmonitor/Main.java b/monitor/src/main/java/org/wamblee/upnpmonitor/Main.java index 8fc5b77..4d49b33 100644 --- a/monitor/src/main/java/org/wamblee/upnpmonitor/Main.java +++ b/monitor/src/main/java/org/wamblee/upnpmonitor/Main.java @@ -2,73 +2,25 @@ package org.wamblee.upnpmonitor; import java.util.logging.Logger; -import org.teleal.cling.UpnpService; -import org.teleal.cling.UpnpServiceImpl; -import org.teleal.cling.controlpoint.ControlPoint; -import org.teleal.cling.model.message.header.DeviceTypeHeader; -import org.teleal.cling.model.meta.Device; -import org.teleal.cling.model.types.DeviceType; -import org.teleal.cling.registry.DefaultRegistryListener; -import org.teleal.cling.registry.Registry; -import org.teleal.cling.registry.RegistryListener; - public class Main { private static final Logger LOGGER = Logger.getLogger(Main.class.getName()); - public static class UpnpStack { - private UpnpService upnpService; - private ControlPoint controlPoint; - private DeviceType deviceType; - - public UpnpStack() { - RegistryListener listener = new DefaultRegistryListener() { - @Override - public void deviceAdded(Registry aRegistry, Device aDevice) { - super.deviceAdded(aRegistry, aDevice); - System.out.println("Device added: " + - aDevice.getDisplayString()); - System.out.println(aDevice.getType()); - } - - @Override - public void deviceRemoved(Registry aRegistry, Device aDevice) { - super.deviceRemoved(aRegistry, aDevice); - System.out.println("Device removed: " + - aDevice.getDisplayString()); - } - }; - upnpService = new UpnpServiceImpl(listener); - controlPoint = upnpService.getControlPoint(); - deviceType = new DeviceType("schemas-upnp-org", "MediaServer"); - - } - - public void search() { - controlPoint.search(new DeviceTypeHeader(deviceType)); - } + public static void main(String[] aArgs) throws Exception { - public void shutdown() { - upnpService.shutdown(); - } - } + Config config = new Config(30, "echo starting", "echo stopping", + "mediatomb"); - public static void main(String[] aArgs) throws Exception { + final Monitor monitor = new Monitor(config); Runtime.getRuntime().addShutdownHook(new Thread() { @Override public void run() { - System.out.println("Shutdown hook"); + System.out.println("Signal caught, terminating monitor"); + monitor.stop(); } }); - for (;;) { - UpnpStack stack = new UpnpStack(); - stack.search(); - Thread.sleep(10000); - stack.shutdown(); - - } - + monitor.start(); } }