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>");


Reply via email to