Author: nextgens Date: 2007-04-03 00:29:41 +0000 (Tue, 03 Apr 2007) New Revision: 12534
Modified: trunk/plugins/UPnP/UPnP.java Log: UPnP: query for ActionsArguments as well Modified: trunk/plugins/UPnP/UPnP.java =================================================================== --- trunk/plugins/UPnP/UPnP.java 2007-04-02 23:35:36 UTC (rev 12533) +++ trunk/plugins/UPnP/UPnP.java 2007-04-03 00:29:41 UTC (rev 12534) @@ -4,6 +4,11 @@ package plugins.UPnP; import java.util.LinkedList; + +import plugins.UPnP.org.cybergarage.upnp.Action; +import plugins.UPnP.org.cybergarage.upnp.ActionList; +import plugins.UPnP.org.cybergarage.upnp.Argument; +import plugins.UPnP.org.cybergarage.upnp.ArgumentList; import plugins.UPnP.org.cybergarage.upnp.ControlPoint; import plugins.UPnP.org.cybergarage.upnp.Device; import plugins.UPnP.org.cybergarage.upnp.DeviceList; @@ -26,7 +31,6 @@ * * @see http://www.upnp.org/ * @see http://en.wikipedia.org/wiki/Universal_Plug_and_Play - * @see http://azureus.sourceforge.net/ */ public class UPnP implements FredPluginHTTP, FredPlugin, FredPluginThreadless, DeviceChangeListener { private ControlPoint upnpControlPoint; @@ -63,7 +67,27 @@ } sb.append("</small></div>"); } + + private void listActionsArguments(Action action, StringBuffer sb) { + ArgumentList ar = action.getArgumentList(); + for(int i=0; i<ar.size(); i++) { + Argument argument = ar.getArgument(i); + if(argument == null ) continue; + sb.append("<div><small>argument ("+i+") :" + argument.getName()+"</small></div>"); + } + } + private void listActions(Service service, StringBuffer sb) { + ActionList al = service.getActionList(); + for(int i=0; i<al.size(); i++) { + Action action = al.getAction(i); + if(action == null ) continue; + sb.append("<div>action ("+i+") :" + action.getName()); + listActionsArguments(action, sb); + sb.append("</div>"); + } + } + private void listSubServices(Device dev, StringBuffer sb) { ServiceList sl = dev.getServiceList(); for(int i=0; i<sl.size(); i++) { @@ -116,6 +140,7 @@ " dnsServers:" + dnsServers + "<br>"); }else sb.append("~~~~~~~ "+serv.getServiceType()); + listActions(serv, sb); listStateTable(serv, sb); sb.append("</div>"); } @@ -147,22 +172,6 @@ Device dev = rootDevList.getDevice(i); if(!"urn:schemas-upnp-org:device:InternetGatewayDevice:1".equals(dev.getDeviceType())) continue; listSubDev("WANDevice", dev, sb); - - - //Service wanCommonInterfaceConfig = wan.getService("WANCommonInterfaceConfig"); - //sb.append("status:" + wanCommonInterfaceConfig.getStateVariable("PhysicalLinkStatus") + " type:" + wanCommonInterfaceConfig.getStateVariable("WANAccessType") + " upstream:" + wanCommonInterfaceConfig.getStateVariable("Layer1UpstreamMaxBitRate") + " downstream:" + wanCommonInterfaceConfig.getStateVariable("Layer1DownstreamMaxBitRate")); - Device wan = dev.getDevice("WANDevice"); - Device wanConnectionDevice = wan.getDevice("WANConnectionDevice"); - if(wanConnectionDevice == null) break; - System.out.println(wanConnectionDevice.getDeviceList().getDevice(0).getDeviceType()); - Device wanIPConnectionDevice = dev.getDevice("WANIPConnectionDevice"); - if(wanIPConnectionDevice == null) break; - System.out.println(wanIPConnectionDevice.getDeviceList().getDevice(0).getDeviceType()); - - StateVariable type = wanIPConnectionDevice.getStateVariable("ConnectionType"); - StateVariable ip = wanIPConnectionDevice.getStateVariable("ExternalIPAddress"); - - sb.append("[" + i + "] : " + dev.getFriendlyName() + " : "+ type.getValue() + ip.getValue() + "<br>"); } sb.append("</body></html>");
