[freenet-cvs] r12534 - trunk/plugins/UPnP

nextgens at freenetproject.org nextgens at freenetproject.org
Tue Apr 3 00:29:41 UTC 2007


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




More information about the cvs mailing list