felix-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From don...@apache.org
Subject svn commit: r533875 [16/30] - in /incubator/felix/sandbox/donsez/upnp.devicegen: ./ doc/ generation/ generation/res/ generation/res/device/ generation/res/service/ manifest/ src/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/ src...
Date Mon, 30 Apr 2007 23:15:18 GMT
Added: incubator/felix/sandbox/donsez/upnp.devicegen/src/main/java/org/apache/felix/upnp/devicegen/igd/service/WANDSLLinkConfig.java
URL: http://svn.apache.org/viewvc/incubator/felix/sandbox/donsez/upnp.devicegen/src/main/java/org/apache/felix/upnp/devicegen/igd/service/WANDSLLinkConfig.java?view=auto&rev=533875
==============================================================================
--- incubator/felix/sandbox/donsez/upnp.devicegen/src/main/java/org/apache/felix/upnp/devicegen/igd/service/WANDSLLinkConfig.java (added)
+++ incubator/felix/sandbox/donsez/upnp.devicegen/src/main/java/org/apache/felix/upnp/devicegen/igd/service/WANDSLLinkConfig.java Mon Apr 30 16:15:05 2007
@@ -0,0 +1,1165 @@
+
+/*
+__BANNER__
+*/
+// this file was generated at 1-May-2007 12:59 AM by ${author}
+package org.apache.felix.upnp.devicegen.igd.service;
+
+import java.util.Dictionary;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.Map;
+
+import org.osgi.framework.*;
+import org.osgi.service.upnp.*;
+import org.apache.felix.upnp.devicegen.util.*;
+import org.apache.felix.upnp.devicegen.holder.*;
+
+import org.apache.felix.upnp.devicegen.igd.model.*;
+import org.apache.felix.upnp.devicegen.igd.impl.*;
+
+	
+
+public class WANDSLLinkConfig extends AbstractUPnPService {
+	
+		
+	private WANDSLLinkConfigModel model;	
+		
+	/**
+	 * constructor
+	 */
+	public WANDSLLinkConfig(
+		UPnPDevice upnpDevice,
+		String serviceId,
+		String serviceType,
+		String version,
+		WANDSLLinkConfigModel model
+	){
+		super(	
+			upnpDevice,
+			serviceId,
+			serviceType,
+			version
+		);
+		this.model=model;
+	
+		
+	stateVariables=new HashMap();
+	
+
+	
+	stateVariables.put(
+		"LinkType",
+		new LinkTypeStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"LinkStatus",
+		new LinkStatusStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"ModulationType",
+		new ModulationTypeStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"DestinationAddress",
+		new DestinationAddressStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"ATMEncapsulation",
+		new ATMEncapsulationStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"FCSPreserved",
+		new FCSPreservedStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"AutoConfig",
+		new AutoConfigStateVariable(this,model)
+	);
+
+	actions=new HashMap();
+	
+
+
+	actions.put(
+		"SetDSLLinkType",
+		new SetDSLLinkTypeAction(this,model)
+	);
+
+
+
+	actions.put(
+		"GetDSLLinkInfo",
+		new GetDSLLinkInfoAction(this,model)
+	);
+
+
+
+	actions.put(
+		"GetAutoConfig",
+		new GetAutoConfigAction(this,model)
+	);
+
+
+
+	actions.put(
+		"GetModulationType",
+		new GetModulationTypeAction(this,model)
+	);
+
+
+
+	actions.put(
+		"SetDestinationAddress",
+		new SetDestinationAddressAction(this,model)
+	);
+
+
+
+	actions.put(
+		"GetDestinationAddress",
+		new GetDestinationAddressAction(this,model)
+	);
+
+
+
+	actions.put(
+		"SetATMEncapsulation",
+		new SetATMEncapsulationAction(this,model)
+	);
+
+
+
+	actions.put(
+		"GetATMEncapsulation",
+		new GetATMEncapsulationAction(this,model)
+	);
+
+
+
+	actions.put(
+		"SetFCSPreserved",
+		new SetFCSPreservedAction(this,model)
+	);
+
+
+
+	actions.put(
+		"GetFCSPreserved",
+		new GetFCSPreservedAction(this,model)
+	);
+	
+	}
+
+	// UPnPStateVariable classes
+	
+	
+
+// class LinkTypeStateVariable
+public class LinkTypeStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="LinkType";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private WANDSLLinkConfigModel model;
+	
+	public LinkTypeStateVariable(
+		UPnPService upnpService,
+		WANDSLLinkConfigModel model
+	){	
+		super(
+					upnpService,
+					NAME,
+					DATATYPE,
+					null, // TODO defaultValue changed for 
+					null, // TODO step changed for 
+					null, // TODO step changed for 
+					null, // TODO minimum changed for 
+					null, // TODO maximum changed for 
+					// sendEventsAttribute
+	false,
+					true  // TODO required changed for  OR 
+		);
+		
+		this.model=model;
+
+		
+	}
+	
+	// TODO
+	
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+			
+	/**
+	 * invoked for the first notification just after a subscription
+	 * @see it.cnr.isti.niche.osgi.upnp.util.UPnPStateVariableDescriptor#getValue()
+	 */
+	public Object getValue(){
+	return null;
+	}
+};
+
+
+// class LinkStatusStateVariable
+public class LinkStatusStateVariable
+  extends AbstractUPnPStateVariable
+			
+	  implements UPnPStateVariableDescriptor{
+
+	public final static String NAME="LinkStatus";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private WANDSLLinkConfigModel model;
+	
+	public LinkStatusStateVariable(
+		UPnPService upnpService,
+		WANDSLLinkConfigModel model
+	){	
+		super(
+					upnpService,
+					NAME,
+					DATATYPE,
+					null, // TODO defaultValue changed for 
+					null, // TODO step changed for 
+					null, // TODO step changed for 
+					null, // TODO minimum changed for 
+					null, // TODO maximum changed for 
+					// sendEventsAttribute
+	true,
+					true  // TODO required changed for  OR 
+		);
+		
+		this.model=model;
+
+		
+	/*
+		List allowedValueList=new LinkedList();
+		
+		allowedValueList.add(UPnPDataTypeUtil.instanciateObject("string","Up"));
+
+		allowedValueList.add(UPnPDataTypeUtil.instanciateObject("string","Down"));
+
+		this.setallowedValueList(allowedValueList);
+	*/
+
+	}
+	
+	// TODO
+	
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+			
+	/**
+	 * invoked for the first notification just after a subscription
+	 * @see it.cnr.isti.niche.osgi.upnp.util.UPnPStateVariableDescriptor#getValue()
+	 */
+	public Object getValue(){
+	
+		return model.getLinkStatusStateVariableValue();
+		
+	}
+};
+
+
+// class ModulationTypeStateVariable
+public class ModulationTypeStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="ModulationType";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private WANDSLLinkConfigModel model;
+	
+	public ModulationTypeStateVariable(
+		UPnPService upnpService,
+		WANDSLLinkConfigModel model
+	){	
+		super(
+					upnpService,
+					NAME,
+					DATATYPE,
+					null, // TODO defaultValue changed for 
+					null, // TODO step changed for 
+					null, // TODO step changed for 
+					null, // TODO minimum changed for 
+					null, // TODO maximum changed for 
+					// sendEventsAttribute
+	false,
+					true  // TODO required changed for  OR 
+		);
+		
+		this.model=model;
+
+		
+	}
+	
+	// TODO
+	
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+			
+	/**
+	 * invoked for the first notification just after a subscription
+	 * @see it.cnr.isti.niche.osgi.upnp.util.UPnPStateVariableDescriptor#getValue()
+	 */
+	public Object getValue(){
+	return null;
+	}
+};
+
+
+// class DestinationAddressStateVariable
+public class DestinationAddressStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="DestinationAddress";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private WANDSLLinkConfigModel model;
+	
+	public DestinationAddressStateVariable(
+		UPnPService upnpService,
+		WANDSLLinkConfigModel model
+	){	
+		super(
+					upnpService,
+					NAME,
+					DATATYPE,
+					null, // TODO defaultValue changed for 
+					null, // TODO step changed for 
+					null, // TODO step changed for 
+					null, // TODO minimum changed for 
+					null, // TODO maximum changed for 
+					// sendEventsAttribute
+	false,
+					true  // TODO required changed for  OR 
+		);
+		
+		this.model=model;
+
+		
+	}
+	
+	// TODO
+	
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+			
+	/**
+	 * invoked for the first notification just after a subscription
+	 * @see it.cnr.isti.niche.osgi.upnp.util.UPnPStateVariableDescriptor#getValue()
+	 */
+	public Object getValue(){
+	return null;
+	}
+};
+
+
+// class ATMEncapsulationStateVariable
+public class ATMEncapsulationStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="ATMEncapsulation";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private WANDSLLinkConfigModel model;
+	
+	public ATMEncapsulationStateVariable(
+		UPnPService upnpService,
+		WANDSLLinkConfigModel model
+	){	
+		super(
+					upnpService,
+					NAME,
+					DATATYPE,
+					null, // TODO defaultValue changed for 
+					null, // TODO step changed for 
+					null, // TODO step changed for 
+					null, // TODO minimum changed for 
+					null, // TODO maximum changed for 
+					// sendEventsAttribute
+	false,
+					true  // TODO required changed for  OR 
+		);
+		
+		this.model=model;
+
+		
+	}
+	
+	// TODO
+	
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+			
+	/**
+	 * invoked for the first notification just after a subscription
+	 * @see it.cnr.isti.niche.osgi.upnp.util.UPnPStateVariableDescriptor#getValue()
+	 */
+	public Object getValue(){
+	return null;
+	}
+};
+
+
+// class FCSPreservedStateVariable
+public class FCSPreservedStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="FCSPreserved";
+	public final static String DATATYPE="boolean";
+	
+	// HERE specific state variable members
+	private WANDSLLinkConfigModel model;
+	
+	public FCSPreservedStateVariable(
+		UPnPService upnpService,
+		WANDSLLinkConfigModel model
+	){	
+		super(
+					upnpService,
+					NAME,
+					DATATYPE,
+					null, // TODO defaultValue changed for 
+					null, // TODO step changed for 
+					null, // TODO step changed for 
+					null, // TODO minimum changed for 
+					null, // TODO maximum changed for 
+					// sendEventsAttribute
+	false,
+					true  // TODO required changed for  OR 
+		);
+		
+		this.model=model;
+
+		
+	}
+	
+	// TODO
+	
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+			
+	/**
+	 * invoked for the first notification just after a subscription
+	 * @see it.cnr.isti.niche.osgi.upnp.util.UPnPStateVariableDescriptor#getValue()
+	 */
+	public Object getValue(){
+	return null;
+	}
+};
+
+
+// class AutoConfigStateVariable
+public class AutoConfigStateVariable
+  extends AbstractUPnPStateVariable
+			
+	  implements UPnPStateVariableDescriptor{
+
+	public final static String NAME="AutoConfig";
+	public final static String DATATYPE="boolean";
+	
+	// HERE specific state variable members
+	private WANDSLLinkConfigModel model;
+	
+	public AutoConfigStateVariable(
+		UPnPService upnpService,
+		WANDSLLinkConfigModel model
+	){	
+		super(
+					upnpService,
+					NAME,
+					DATATYPE,
+					null, // TODO defaultValue changed for 
+					null, // TODO step changed for 
+					null, // TODO step changed for 
+					null, // TODO minimum changed for 
+					null, // TODO maximum changed for 
+					// sendEventsAttribute
+	true,
+					true  // TODO required changed for  OR 
+		);
+		
+		this.model=model;
+
+		
+	}
+	
+	// TODO
+	
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+			
+	/**
+	 * invoked for the first notification just after a subscription
+	 * @see it.cnr.isti.niche.osgi.upnp.util.UPnPStateVariableDescriptor#getValue()
+	 */
+	public Object getValue(){
+	
+		return model.getAutoConfigStateVariableValue();
+		
+	}
+};
+	
+
+	// UPnPAction classes
+	
+	
+
+public class SetDSLLinkTypeAction extends AbstractUPnPAction {
+
+	WANDSLLinkConfigModel model;
+	
+	// HERE specific action members
+	
+	public SetDSLLinkTypeAction(
+	    UPnPService upnpService,
+		WANDSLLinkConfigModel model
+	){
+		super(
+			upnpService,
+			"SetDSLLinkType",
+			""
+		);
+		this.model=model;
+		
+			addInArg(
+				"NewLinkType",
+				upnpService.getStateVariable("LinkType")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	java.lang.String newLinkType = (java.lang.String) _args.get("NewLinkType");
+		
+
+		// invoke model
+		
+		 model.setDSLLinkType(
+			StringHolder.toValue(
+			newLinkType)
+		
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+		return _result.isEmpty()?null:_result;
+	}
+
+
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+};
+
+
+public class GetDSLLinkInfoAction extends AbstractUPnPAction {
+
+	WANDSLLinkConfigModel model;
+	
+	// HERE specific action members
+	
+	public GetDSLLinkInfoAction(
+	    UPnPService upnpService,
+		WANDSLLinkConfigModel model
+	){
+		super(
+			upnpService,
+			"GetDSLLinkInfo",
+			""
+		);
+		this.model=model;
+		
+			addOutArg(
+				"NewLinkType",
+				upnpService.getStateVariable("LinkType")
+			);
+		
+			addOutArg(
+				"NewLinkStatus",
+				upnpService.getStateVariable("LinkStatus")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	StringHolder newLinkType = new StringHolder();
+		StringHolder newLinkStatus = new StringHolder();
+		
+
+		// invoke model
+		
+		 model.getDSLLinkInfo(
+			newLinkType,
+
+newLinkStatus
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+			_result.put("NewLinkType",newLinkType.getObject());
+			// java.lang.String
+			_result.put("NewLinkStatus",newLinkStatus.getObject());
+			// java.lang.String
+		return _result.isEmpty()?null:_result;
+	}
+
+
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+};
+
+
+public class GetAutoConfigAction extends AbstractUPnPAction {
+
+	WANDSLLinkConfigModel model;
+	
+	// HERE specific action members
+	
+	public GetAutoConfigAction(
+	    UPnPService upnpService,
+		WANDSLLinkConfigModel model
+	){
+		super(
+			upnpService,
+			"GetAutoConfig",
+			""
+		);
+		this.model=model;
+		
+			addOutArg(
+				"NewAutoConfig",
+				upnpService.getStateVariable("AutoConfig")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	BooleanHolder newAutoConfig = new BooleanHolder();
+		
+
+		// invoke model
+		
+		 model.getAutoConfig(
+			newAutoConfig
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+			_result.put("NewAutoConfig",newAutoConfig.getObject());
+			// java.lang.Boolean
+		return _result.isEmpty()?null:_result;
+	}
+
+
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+};
+
+
+public class GetModulationTypeAction extends AbstractUPnPAction {
+
+	WANDSLLinkConfigModel model;
+	
+	// HERE specific action members
+	
+	public GetModulationTypeAction(
+	    UPnPService upnpService,
+		WANDSLLinkConfigModel model
+	){
+		super(
+			upnpService,
+			"GetModulationType",
+			""
+		);
+		this.model=model;
+		
+			addOutArg(
+				"NewModulationType",
+				upnpService.getStateVariable("ModulationType")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	StringHolder newModulationType = new StringHolder();
+		
+
+		// invoke model
+		
+		 model.getModulationType(
+			newModulationType
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+			_result.put("NewModulationType",newModulationType.getObject());
+			// java.lang.String
+		return _result.isEmpty()?null:_result;
+	}
+
+
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+};
+
+
+public class SetDestinationAddressAction extends AbstractUPnPAction {
+
+	WANDSLLinkConfigModel model;
+	
+	// HERE specific action members
+	
+	public SetDestinationAddressAction(
+	    UPnPService upnpService,
+		WANDSLLinkConfigModel model
+	){
+		super(
+			upnpService,
+			"SetDestinationAddress",
+			""
+		);
+		this.model=model;
+		
+			addInArg(
+				"NewDestinationAddress",
+				upnpService.getStateVariable("DestinationAddress")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	java.lang.String newDestinationAddress = (java.lang.String) _args.get("NewDestinationAddress");
+		
+
+		// invoke model
+		
+		 model.setDestinationAddress(
+			StringHolder.toValue(
+			newDestinationAddress)
+		
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+		return _result.isEmpty()?null:_result;
+	}
+
+
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+};
+
+
+public class GetDestinationAddressAction extends AbstractUPnPAction {
+
+	WANDSLLinkConfigModel model;
+	
+	// HERE specific action members
+	
+	public GetDestinationAddressAction(
+	    UPnPService upnpService,
+		WANDSLLinkConfigModel model
+	){
+		super(
+			upnpService,
+			"GetDestinationAddress",
+			""
+		);
+		this.model=model;
+		
+			addOutArg(
+				"NewDestinationAddress",
+				upnpService.getStateVariable("DestinationAddress")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	StringHolder newDestinationAddress = new StringHolder();
+		
+
+		// invoke model
+		
+		 model.getDestinationAddress(
+			newDestinationAddress
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+			_result.put("NewDestinationAddress",newDestinationAddress.getObject());
+			// java.lang.String
+		return _result.isEmpty()?null:_result;
+	}
+
+
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+};
+
+
+public class SetATMEncapsulationAction extends AbstractUPnPAction {
+
+	WANDSLLinkConfigModel model;
+	
+	// HERE specific action members
+	
+	public SetATMEncapsulationAction(
+	    UPnPService upnpService,
+		WANDSLLinkConfigModel model
+	){
+		super(
+			upnpService,
+			"SetATMEncapsulation",
+			""
+		);
+		this.model=model;
+		
+			addInArg(
+				"NewATMEncapsulation",
+				upnpService.getStateVariable("ATMEncapsulation")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	java.lang.String newATMEncapsulation = (java.lang.String) _args.get("NewATMEncapsulation");
+		
+
+		// invoke model
+		
+		 model.setATMEncapsulation(
+			StringHolder.toValue(
+			newATMEncapsulation)
+		
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+		return _result.isEmpty()?null:_result;
+	}
+
+
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+};
+
+
+public class GetATMEncapsulationAction extends AbstractUPnPAction {
+
+	WANDSLLinkConfigModel model;
+	
+	// HERE specific action members
+	
+	public GetATMEncapsulationAction(
+	    UPnPService upnpService,
+		WANDSLLinkConfigModel model
+	){
+		super(
+			upnpService,
+			"GetATMEncapsulation",
+			""
+		);
+		this.model=model;
+		
+			addOutArg(
+				"NewATMEncapsulation",
+				upnpService.getStateVariable("ATMEncapsulation")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	StringHolder newATMEncapsulation = new StringHolder();
+		
+
+		// invoke model
+		
+		 model.getATMEncapsulation(
+			newATMEncapsulation
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+			_result.put("NewATMEncapsulation",newATMEncapsulation.getObject());
+			// java.lang.String
+		return _result.isEmpty()?null:_result;
+	}
+
+
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+};
+
+
+public class SetFCSPreservedAction extends AbstractUPnPAction {
+
+	WANDSLLinkConfigModel model;
+	
+	// HERE specific action members
+	
+	public SetFCSPreservedAction(
+	    UPnPService upnpService,
+		WANDSLLinkConfigModel model
+	){
+		super(
+			upnpService,
+			"SetFCSPreserved",
+			""
+		);
+		this.model=model;
+		
+			addInArg(
+				"NewFCSPreserved",
+				upnpService.getStateVariable("FCSPreserved")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	java.lang.Boolean newFCSPreserved = (java.lang.Boolean) _args.get("NewFCSPreserved");
+		
+
+		// invoke model
+		
+		 model.setFCSPreserved(
+			BooleanHolder.toValue(
+			newFCSPreserved)
+		
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+		return _result.isEmpty()?null:_result;
+	}
+
+
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+};
+
+
+public class GetFCSPreservedAction extends AbstractUPnPAction {
+
+	WANDSLLinkConfigModel model;
+	
+	// HERE specific action members
+	
+	public GetFCSPreservedAction(
+	    UPnPService upnpService,
+		WANDSLLinkConfigModel model
+	){
+		super(
+			upnpService,
+			"GetFCSPreserved",
+			""
+		);
+		this.model=model;
+		
+			addOutArg(
+				"NewFCSPreserved",
+				upnpService.getStateVariable("FCSPreserved")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	BooleanHolder newFCSPreserved = new BooleanHolder();
+		
+
+		// invoke model
+		
+		 model.getFCSPreserved(
+			newFCSPreserved
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+			_result.put("NewFCSPreserved",newFCSPreserved.getObject());
+			// java.lang.Boolean
+		return _result.isEmpty()?null:_result;
+	}
+
+
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+};
+	
+}

Propchange: incubator/felix/sandbox/donsez/upnp.devicegen/src/main/java/org/apache/felix/upnp/devicegen/igd/service/WANDSLLinkConfig.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/felix/sandbox/donsez/upnp.devicegen/src/main/java/org/apache/felix/upnp/devicegen/igd/service/WANEthernetLinkConfig.java
URL: http://svn.apache.org/viewvc/incubator/felix/sandbox/donsez/upnp.devicegen/src/main/java/org/apache/felix/upnp/devicegen/igd/service/WANEthernetLinkConfig.java?view=auto&rev=533875
==============================================================================
--- incubator/felix/sandbox/donsez/upnp.devicegen/src/main/java/org/apache/felix/upnp/devicegen/igd/service/WANEthernetLinkConfig.java (added)
+++ incubator/felix/sandbox/donsez/upnp.devicegen/src/main/java/org/apache/felix/upnp/devicegen/igd/service/WANEthernetLinkConfig.java Mon Apr 30 16:15:05 2007
@@ -0,0 +1,199 @@
+
+/*
+__BANNER__
+*/
+// this file was generated at 1-May-2007 12:59 AM by ${author}
+package org.apache.felix.upnp.devicegen.igd.service;
+
+import java.util.Dictionary;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.Map;
+
+import org.osgi.framework.*;
+import org.osgi.service.upnp.*;
+import org.apache.felix.upnp.devicegen.util.*;
+import org.apache.felix.upnp.devicegen.holder.*;
+
+import org.apache.felix.upnp.devicegen.igd.model.*;
+import org.apache.felix.upnp.devicegen.igd.impl.*;
+
+	
+
+public class WANEthernetLinkConfig extends AbstractUPnPService {
+	
+		
+	private WANEthernetLinkConfigModel model;	
+		
+	/**
+	 * constructor
+	 */
+	public WANEthernetLinkConfig(
+		UPnPDevice upnpDevice,
+		String serviceId,
+		String serviceType,
+		String version,
+		WANEthernetLinkConfigModel model
+	){
+		super(	
+			upnpDevice,
+			serviceId,
+			serviceType,
+			version
+		);
+		this.model=model;
+	
+		
+	stateVariables=new HashMap();
+	
+
+	
+	stateVariables.put(
+		"EthernetLinkStatus",
+		new EthernetLinkStatusStateVariable(this,model)
+	);
+
+	actions=new HashMap();
+	
+
+
+	actions.put(
+		"GetEthernetLinkStatus",
+		new GetEthernetLinkStatusAction(this,model)
+	);
+	
+	}
+
+	// UPnPStateVariable classes
+	
+	
+
+// class EthernetLinkStatusStateVariable
+public class EthernetLinkStatusStateVariable
+  extends AbstractUPnPStateVariable
+			
+	  implements UPnPStateVariableDescriptor{
+
+	public final static String NAME="EthernetLinkStatus";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private WANEthernetLinkConfigModel model;
+	
+	public EthernetLinkStatusStateVariable(
+		UPnPService upnpService,
+		WANEthernetLinkConfigModel model
+	){	
+		super(
+					upnpService,
+					NAME,
+					DATATYPE,
+					null, // TODO defaultValue changed for 
+					null, // TODO step changed for 
+					null, // TODO step changed for 
+					null, // TODO minimum changed for 
+					null, // TODO maximum changed for 
+					// sendEventsAttribute
+	true,
+					true  // TODO required changed for  OR 
+		);
+		
+		this.model=model;
+
+		
+	/*
+		List allowedValueList=new LinkedList();
+		
+		allowedValueList.add(UPnPDataTypeUtil.instanciateObject("string","Up"));
+
+		allowedValueList.add(UPnPDataTypeUtil.instanciateObject("string","Down"));
+
+		this.setallowedValueList(allowedValueList);
+	*/
+
+	}
+	
+	// TODO
+	
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+			
+	/**
+	 * invoked for the first notification just after a subscription
+	 * @see it.cnr.isti.niche.osgi.upnp.util.UPnPStateVariableDescriptor#getValue()
+	 */
+	public Object getValue(){
+	
+		return model.getEthernetLinkStatusStateVariableValue();
+		
+	}
+};
+	
+
+	// UPnPAction classes
+	
+	
+
+public class GetEthernetLinkStatusAction extends AbstractUPnPAction {
+
+	WANEthernetLinkConfigModel model;
+	
+	// HERE specific action members
+	
+	public GetEthernetLinkStatusAction(
+	    UPnPService upnpService,
+		WANEthernetLinkConfigModel model
+	){
+		super(
+			upnpService,
+			"GetEthernetLinkStatus",
+			""
+		);
+		this.model=model;
+		
+			addOutArg(
+				"NewEthernetLinkStatus",
+				upnpService.getStateVariable("EthernetLinkStatus")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	StringHolder newEthernetLinkStatus = new StringHolder();
+		
+
+		// invoke model
+		
+		 model.getEthernetLinkStatus(
+			newEthernetLinkStatus
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+			_result.put("NewEthernetLinkStatus",newEthernetLinkStatus.getObject());
+			// java.lang.String
+		return _result.isEmpty()?null:_result;
+	}
+
+
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+};
+	
+}

Propchange: incubator/felix/sandbox/donsez/upnp.devicegen/src/main/java/org/apache/felix/upnp/devicegen/igd/service/WANEthernetLinkConfig.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/felix/sandbox/donsez/upnp.devicegen/src/main/java/org/apache/felix/upnp/devicegen/igd/service/WANIPConnection.java
URL: http://svn.apache.org/viewvc/incubator/felix/sandbox/donsez/upnp.devicegen/src/main/java/org/apache/felix/upnp/devicegen/igd/service/WANIPConnection.java?view=auto&rev=533875
==============================================================================
--- incubator/felix/sandbox/donsez/upnp.devicegen/src/main/java/org/apache/felix/upnp/devicegen/igd/service/WANIPConnection.java (added)
+++ incubator/felix/sandbox/donsez/upnp.devicegen/src/main/java/org/apache/felix/upnp/devicegen/igd/service/WANIPConnection.java Mon Apr 30 16:15:05 2007
@@ -0,0 +1,2778 @@
+
+/*
+__BANNER__
+*/
+// this file was generated at 1-May-2007 12:59 AM by ${author}
+package org.apache.felix.upnp.devicegen.igd.service;
+
+import java.util.Dictionary;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.Map;
+
+import org.osgi.framework.*;
+import org.osgi.service.upnp.*;
+import org.apache.felix.upnp.devicegen.util.*;
+import org.apache.felix.upnp.devicegen.holder.*;
+
+import org.apache.felix.upnp.devicegen.igd.model.*;
+import org.apache.felix.upnp.devicegen.igd.impl.*;
+
+	
+
+public class WANIPConnection extends AbstractUPnPService {
+	
+		
+	private WANIPConnectionModel model;	
+		
+	/**
+	 * constructor
+	 */
+	public WANIPConnection(
+		UPnPDevice upnpDevice,
+		String serviceId,
+		String serviceType,
+		String version,
+		WANIPConnectionModel model
+	){
+		super(	
+			upnpDevice,
+			serviceId,
+			serviceType,
+			version
+		);
+		this.model=model;
+	
+		
+	stateVariables=new HashMap();
+	
+
+	
+	stateVariables.put(
+		"ConnectionType",
+		new ConnectionTypeStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"PossibleConnectionTypes",
+		new PossibleConnectionTypesStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"ConnectionStatus",
+		new ConnectionStatusStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"Uptime",
+		new UptimeStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"LastConnectionError",
+		new LastConnectionErrorStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"AutoDisconnectTime",
+		new AutoDisconnectTimeStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"IdleDisconnectTime",
+		new IdleDisconnectTimeStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"WarnDisconnectDelay",
+		new WarnDisconnectDelayStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"RSIPAvailable",
+		new RSIPAvailableStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"NATEnabled",
+		new NATEnabledStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"ExternalIPAddress",
+		new ExternalIPAddressStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"PortMappingNumberOfEntries",
+		new PortMappingNumberOfEntriesStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"PortMappingEnabled",
+		new PortMappingEnabledStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"PortMappingLeaseDuration",
+		new PortMappingLeaseDurationStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"RemoteHost",
+		new RemoteHostStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"ExternalPort",
+		new ExternalPortStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"InternalPort",
+		new InternalPortStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"PortMappingProtocol",
+		new PortMappingProtocolStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"InternalClient",
+		new InternalClientStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"PortMappingDescription",
+		new PortMappingDescriptionStateVariable(this,model)
+	);
+
+	actions=new HashMap();
+	
+
+
+	actions.put(
+		"SetConnectionType",
+		new SetConnectionTypeAction(this,model)
+	);
+
+
+
+	actions.put(
+		"GetConnectionTypeInfo",
+		new GetConnectionTypeInfoAction(this,model)
+	);
+
+
+
+	actions.put(
+		"RequestConnection",
+		new RequestConnectionAction(this,model)
+	);
+
+
+
+	actions.put(
+		"RequestTermination",
+		new RequestTerminationAction(this,model)
+	);
+
+
+
+	actions.put(
+		"ForceTermination",
+		new ForceTerminationAction(this,model)
+	);
+
+
+
+	actions.put(
+		"SetAutoDisconnectTime",
+		new SetAutoDisconnectTimeAction(this,model)
+	);
+
+
+
+	actions.put(
+		"SetIdleDisconnectTime",
+		new SetIdleDisconnectTimeAction(this,model)
+	);
+
+
+
+	actions.put(
+		"SetWarnDisconnectDelay",
+		new SetWarnDisconnectDelayAction(this,model)
+	);
+
+
+
+	actions.put(
+		"GetStatusInfo",
+		new GetStatusInfoAction(this,model)
+	);
+
+
+
+	actions.put(
+		"GetAutoDisconnectTime",
+		new GetAutoDisconnectTimeAction(this,model)
+	);
+
+
+
+	actions.put(
+		"GetIdleDisconnectTime",
+		new GetIdleDisconnectTimeAction(this,model)
+	);
+
+
+
+	actions.put(
+		"GetWarnDisconnectDelay",
+		new GetWarnDisconnectDelayAction(this,model)
+	);
+
+
+
+	actions.put(
+		"GetNATRSIPStatus",
+		new GetNATRSIPStatusAction(this,model)
+	);
+
+
+
+	actions.put(
+		"GetGenericPortMappingEntry",
+		new GetGenericPortMappingEntryAction(this,model)
+	);
+
+
+
+	actions.put(
+		"GetSpecificPortMappingEntry",
+		new GetSpecificPortMappingEntryAction(this,model)
+	);
+
+
+
+	actions.put(
+		"AddPortMapping",
+		new AddPortMappingAction(this,model)
+	);
+
+
+
+	actions.put(
+		"DeletePortMapping",
+		new DeletePortMappingAction(this,model)
+	);
+
+
+
+	actions.put(
+		"GetExternalIPAddress",
+		new GetExternalIPAddressAction(this,model)
+	);
+	
+	}
+
+	// UPnPStateVariable classes
+	
+	
+
+// class ConnectionTypeStateVariable
+public class ConnectionTypeStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="ConnectionType";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private WANIPConnectionModel model;
+	
+	public ConnectionTypeStateVariable(
+		UPnPService upnpService,
+		WANIPConnectionModel model
+	){	
+		super(
+					upnpService,
+					NAME,
+					DATATYPE,
+					null, // TODO defaultValue changed for 
+					null, // TODO step changed for 
+					null, // TODO step changed for 
+					null, // TODO minimum changed for 
+					null, // TODO maximum changed for 
+					// sendEventsAttribute
+	false,
+					true  // TODO required changed for  OR 
+		);
+		
+		this.model=model;
+
+		
+	}
+	
+	// TODO
+	
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+			
+	/**
+	 * invoked for the first notification just after a subscription
+	 * @see it.cnr.isti.niche.osgi.upnp.util.UPnPStateVariableDescriptor#getValue()
+	 */
+	public Object getValue(){
+	return null;
+	}
+};
+
+
+// class PossibleConnectionTypesStateVariable
+public class PossibleConnectionTypesStateVariable
+  extends AbstractUPnPStateVariable
+			
+	  implements UPnPStateVariableDescriptor{
+
+	public final static String NAME="PossibleConnectionTypes";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private WANIPConnectionModel model;
+	
+	public PossibleConnectionTypesStateVariable(
+		UPnPService upnpService,
+		WANIPConnectionModel model
+	){	
+		super(
+					upnpService,
+					NAME,
+					DATATYPE,
+					null, // TODO defaultValue changed for 
+					null, // TODO step changed for 
+					null, // TODO step changed for 
+					null, // TODO minimum changed for 
+					null, // TODO maximum changed for 
+					// sendEventsAttribute
+	true,
+					true  // TODO required changed for  OR 
+		);
+		
+		this.model=model;
+
+		
+	/*
+		List allowedValueList=new LinkedList();
+		
+		allowedValueList.add(UPnPDataTypeUtil.instanciateObject("string","Unconfigured"));
+
+		allowedValueList.add(UPnPDataTypeUtil.instanciateObject("string","IP_Routed"));
+
+		allowedValueList.add(UPnPDataTypeUtil.instanciateObject("string","IP_Bridged"));
+
+		this.setallowedValueList(allowedValueList);
+	*/
+
+	}
+	
+	// TODO
+	
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+			
+	/**
+	 * invoked for the first notification just after a subscription
+	 * @see it.cnr.isti.niche.osgi.upnp.util.UPnPStateVariableDescriptor#getValue()
+	 */
+	public Object getValue(){
+	
+		return model.getPossibleConnectionTypesStateVariableValue();
+		
+	}
+};
+
+
+// class ConnectionStatusStateVariable
+public class ConnectionStatusStateVariable
+  extends AbstractUPnPStateVariable
+			
+	  implements UPnPStateVariableDescriptor{
+
+	public final static String NAME="ConnectionStatus";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private WANIPConnectionModel model;
+	
+	public ConnectionStatusStateVariable(
+		UPnPService upnpService,
+		WANIPConnectionModel model
+	){	
+		super(
+					upnpService,
+					NAME,
+					DATATYPE,
+					null, // TODO defaultValue changed for 
+					null, // TODO step changed for 
+					null, // TODO step changed for 
+					null, // TODO minimum changed for 
+					null, // TODO maximum changed for 
+					// sendEventsAttribute
+	true,
+					true  // TODO required changed for  OR 
+		);
+		
+		this.model=model;
+
+		
+	/*
+		List allowedValueList=new LinkedList();
+		
+		allowedValueList.add(UPnPDataTypeUtil.instanciateObject("string","Unconfigured"));
+
+		allowedValueList.add(UPnPDataTypeUtil.instanciateObject("string","Connected"));
+
+		allowedValueList.add(UPnPDataTypeUtil.instanciateObject("string","Disconnected"));
+
+		this.setallowedValueList(allowedValueList);
+	*/
+
+	}
+	
+	// TODO
+	
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+			
+	/**
+	 * invoked for the first notification just after a subscription
+	 * @see it.cnr.isti.niche.osgi.upnp.util.UPnPStateVariableDescriptor#getValue()
+	 */
+	public Object getValue(){
+	
+		return model.getConnectionStatusStateVariableValue();
+		
+	}
+};
+
+
+// class UptimeStateVariable
+public class UptimeStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="Uptime";
+	public final static String DATATYPE="ui4";
+	
+	// HERE specific state variable members
+	private WANIPConnectionModel model;
+	
+	public UptimeStateVariable(
+		UPnPService upnpService,
+		WANIPConnectionModel model
+	){	
+		super(
+					upnpService,
+					NAME,
+					DATATYPE,
+					null, // TODO defaultValue changed for 
+					null, // TODO step changed for 
+					null, // TODO step changed for 
+					null, // TODO minimum changed for 
+					null, // TODO maximum changed for 
+					// sendEventsAttribute
+	false,
+					true  // TODO required changed for  OR 
+		);
+		
+		this.model=model;
+
+		
+	}
+	
+	// TODO
+	
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+			
+	/**
+	 * invoked for the first notification just after a subscription
+	 * @see it.cnr.isti.niche.osgi.upnp.util.UPnPStateVariableDescriptor#getValue()
+	 */
+	public Object getValue(){
+	return null;
+	}
+};
+
+
+// class LastConnectionErrorStateVariable
+public class LastConnectionErrorStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="LastConnectionError";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private WANIPConnectionModel model;
+	
+	public LastConnectionErrorStateVariable(
+		UPnPService upnpService,
+		WANIPConnectionModel model
+	){	
+		super(
+					upnpService,
+					NAME,
+					DATATYPE,
+					null, // TODO defaultValue changed for 
+					null, // TODO step changed for 
+					null, // TODO step changed for 
+					null, // TODO minimum changed for 
+					null, // TODO maximum changed for 
+					// sendEventsAttribute
+	false,
+					true  // TODO required changed for  OR 
+		);
+		
+		this.model=model;
+
+		
+	/*
+		List allowedValueList=new LinkedList();
+		
+		allowedValueList.add(UPnPDataTypeUtil.instanciateObject("string","ERROR_NONE"));
+
+		this.setallowedValueList(allowedValueList);
+	*/
+
+	}
+	
+	// TODO
+	
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+			
+	/**
+	 * invoked for the first notification just after a subscription
+	 * @see it.cnr.isti.niche.osgi.upnp.util.UPnPStateVariableDescriptor#getValue()
+	 */
+	public Object getValue(){
+	return null;
+	}
+};
+
+
+// class AutoDisconnectTimeStateVariable
+public class AutoDisconnectTimeStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="AutoDisconnectTime";
+	public final static String DATATYPE="ui4";
+	
+	// HERE specific state variable members
+	private WANIPConnectionModel model;
+	
+	public AutoDisconnectTimeStateVariable(
+		UPnPService upnpService,
+		WANIPConnectionModel model
+	){	
+		super(
+					upnpService,
+					NAME,
+					DATATYPE,
+					null, // TODO defaultValue changed for 
+					null, // TODO step changed for 
+					null, // TODO step changed for 
+					null, // TODO minimum changed for 
+					null, // TODO maximum changed for 
+					// sendEventsAttribute
+	false,
+					true  // TODO required changed for  OR 
+		);
+		
+		this.model=model;
+
+		
+	}
+	
+	// TODO
+	
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+			
+	/**
+	 * invoked for the first notification just after a subscription
+	 * @see it.cnr.isti.niche.osgi.upnp.util.UPnPStateVariableDescriptor#getValue()
+	 */
+	public Object getValue(){
+	return null;
+	}
+};
+
+
+// class IdleDisconnectTimeStateVariable
+public class IdleDisconnectTimeStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="IdleDisconnectTime";
+	public final static String DATATYPE="ui4";
+	
+	// HERE specific state variable members
+	private WANIPConnectionModel model;
+	
+	public IdleDisconnectTimeStateVariable(
+		UPnPService upnpService,
+		WANIPConnectionModel model
+	){	
+		super(
+					upnpService,
+					NAME,
+					DATATYPE,
+					null, // TODO defaultValue changed for 
+					null, // TODO step changed for 
+					null, // TODO step changed for 
+					null, // TODO minimum changed for 
+					null, // TODO maximum changed for 
+					// sendEventsAttribute
+	false,
+					true  // TODO required changed for  OR 
+		);
+		
+		this.model=model;
+
+		
+	}
+	
+	// TODO
+	
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+			
+	/**
+	 * invoked for the first notification just after a subscription
+	 * @see it.cnr.isti.niche.osgi.upnp.util.UPnPStateVariableDescriptor#getValue()
+	 */
+	public Object getValue(){
+	return null;
+	}
+};
+
+
+// class WarnDisconnectDelayStateVariable
+public class WarnDisconnectDelayStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="WarnDisconnectDelay";
+	public final static String DATATYPE="ui4";
+	
+	// HERE specific state variable members
+	private WANIPConnectionModel model;
+	
+	public WarnDisconnectDelayStateVariable(
+		UPnPService upnpService,
+		WANIPConnectionModel model
+	){	
+		super(
+					upnpService,
+					NAME,
+					DATATYPE,
+					null, // TODO defaultValue changed for 
+					null, // TODO step changed for 
+					null, // TODO step changed for 
+					null, // TODO minimum changed for 
+					null, // TODO maximum changed for 
+					// sendEventsAttribute
+	false,
+					true  // TODO required changed for  OR 
+		);
+		
+		this.model=model;
+
+		
+	}
+	
+	// TODO
+	
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+			
+	/**
+	 * invoked for the first notification just after a subscription
+	 * @see it.cnr.isti.niche.osgi.upnp.util.UPnPStateVariableDescriptor#getValue()
+	 */
+	public Object getValue(){
+	return null;
+	}
+};
+
+
+// class RSIPAvailableStateVariable
+public class RSIPAvailableStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="RSIPAvailable";
+	public final static String DATATYPE="boolean";
+	
+	// HERE specific state variable members
+	private WANIPConnectionModel model;
+	
+	public RSIPAvailableStateVariable(
+		UPnPService upnpService,
+		WANIPConnectionModel model
+	){	
+		super(
+					upnpService,
+					NAME,
+					DATATYPE,
+					null, // TODO defaultValue changed for 
+					null, // TODO step changed for 
+					null, // TODO step changed for 
+					null, // TODO minimum changed for 
+					null, // TODO maximum changed for 
+					// sendEventsAttribute
+	false,
+					true  // TODO required changed for  OR 
+		);
+		
+		this.model=model;
+
+		
+	}
+	
+	// TODO
+	
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+			
+	/**
+	 * invoked for the first notification just after a subscription
+	 * @see it.cnr.isti.niche.osgi.upnp.util.UPnPStateVariableDescriptor#getValue()
+	 */
+	public Object getValue(){
+	return null;
+	}
+};
+
+
+// class NATEnabledStateVariable
+public class NATEnabledStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="NATEnabled";
+	public final static String DATATYPE="boolean";
+	
+	// HERE specific state variable members
+	private WANIPConnectionModel model;
+	
+	public NATEnabledStateVariable(
+		UPnPService upnpService,
+		WANIPConnectionModel model
+	){	
+		super(
+					upnpService,
+					NAME,
+					DATATYPE,
+					null, // TODO defaultValue changed for 
+					null, // TODO step changed for 
+					null, // TODO step changed for 
+					null, // TODO minimum changed for 
+					null, // TODO maximum changed for 
+					// sendEventsAttribute
+	false,
+					true  // TODO required changed for  OR 
+		);
+		
+		this.model=model;
+
+		
+	}
+	
+	// TODO
+	
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+			
+	/**
+	 * invoked for the first notification just after a subscription
+	 * @see it.cnr.isti.niche.osgi.upnp.util.UPnPStateVariableDescriptor#getValue()
+	 */
+	public Object getValue(){
+	return null;
+	}
+};
+
+
+// class ExternalIPAddressStateVariable
+public class ExternalIPAddressStateVariable
+  extends AbstractUPnPStateVariable
+			
+	  implements UPnPStateVariableDescriptor{
+
+	public final static String NAME="ExternalIPAddress";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private WANIPConnectionModel model;
+	
+	public ExternalIPAddressStateVariable(
+		UPnPService upnpService,
+		WANIPConnectionModel model
+	){	
+		super(
+					upnpService,
+					NAME,
+					DATATYPE,
+					null, // TODO defaultValue changed for 
+					null, // TODO step changed for 
+					null, // TODO step changed for 
+					null, // TODO minimum changed for 
+					null, // TODO maximum changed for 
+					// sendEventsAttribute
+	true,
+					true  // TODO required changed for  OR 
+		);
+		
+		this.model=model;
+
+		
+	}
+	
+	// TODO
+	
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+			
+	/**
+	 * invoked for the first notification just after a subscription
+	 * @see it.cnr.isti.niche.osgi.upnp.util.UPnPStateVariableDescriptor#getValue()
+	 */
+	public Object getValue(){
+	
+		return model.getExternalIPAddressStateVariableValue();
+		
+	}
+};
+
+
+// class PortMappingNumberOfEntriesStateVariable
+public class PortMappingNumberOfEntriesStateVariable
+  extends AbstractUPnPStateVariable
+			
+	  implements UPnPStateVariableDescriptor{
+
+	public final static String NAME="PortMappingNumberOfEntries";
+	public final static String DATATYPE="ui2";
+	
+	// HERE specific state variable members
+	private WANIPConnectionModel model;
+	
+	public PortMappingNumberOfEntriesStateVariable(
+		UPnPService upnpService,
+		WANIPConnectionModel model
+	){	
+		super(
+					upnpService,
+					NAME,
+					DATATYPE,
+					null, // TODO defaultValue changed for 
+					null, // TODO step changed for 
+					null, // TODO step changed for 
+					null, // TODO minimum changed for 
+					null, // TODO maximum changed for 
+					// sendEventsAttribute
+	true,
+					true  // TODO required changed for  OR 
+		);
+		
+		this.model=model;
+
+		
+	}
+	
+	// TODO
+	
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+			
+	/**
+	 * invoked for the first notification just after a subscription
+	 * @see it.cnr.isti.niche.osgi.upnp.util.UPnPStateVariableDescriptor#getValue()
+	 */
+	public Object getValue(){
+	
+		return model.getPortMappingNumberOfEntriesStateVariableValue();
+		
+	}
+};
+
+
+// class PortMappingEnabledStateVariable
+public class PortMappingEnabledStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="PortMappingEnabled";
+	public final static String DATATYPE="boolean";
+	
+	// HERE specific state variable members
+	private WANIPConnectionModel model;
+	
+	public PortMappingEnabledStateVariable(
+		UPnPService upnpService,
+		WANIPConnectionModel model
+	){	
+		super(
+					upnpService,
+					NAME,
+					DATATYPE,
+					null, // TODO defaultValue changed for 
+					null, // TODO step changed for 
+					null, // TODO step changed for 
+					null, // TODO minimum changed for 
+					null, // TODO maximum changed for 
+					// sendEventsAttribute
+	false,
+					true  // TODO required changed for  OR 
+		);
+		
+		this.model=model;
+
+		
+	}
+	
+	// TODO
+	
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+			
+	/**
+	 * invoked for the first notification just after a subscription
+	 * @see it.cnr.isti.niche.osgi.upnp.util.UPnPStateVariableDescriptor#getValue()
+	 */
+	public Object getValue(){
+	return null;
+	}
+};
+
+
+// class PortMappingLeaseDurationStateVariable
+public class PortMappingLeaseDurationStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="PortMappingLeaseDuration";
+	public final static String DATATYPE="ui4";
+	
+	// HERE specific state variable members
+	private WANIPConnectionModel model;
+	
+	public PortMappingLeaseDurationStateVariable(
+		UPnPService upnpService,
+		WANIPConnectionModel model
+	){	
+		super(
+					upnpService,
+					NAME,
+					DATATYPE,
+					null, // TODO defaultValue changed for 
+					null, // TODO step changed for 
+					null, // TODO step changed for 
+					null, // TODO minimum changed for 
+					null, // TODO maximum changed for 
+					// sendEventsAttribute
+	false,
+					true  // TODO required changed for  OR 
+		);
+		
+		this.model=model;
+
+		
+	}
+	
+	// TODO
+	
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+			
+	/**
+	 * invoked for the first notification just after a subscription
+	 * @see it.cnr.isti.niche.osgi.upnp.util.UPnPStateVariableDescriptor#getValue()
+	 */
+	public Object getValue(){
+	return null;
+	}
+};
+
+
+// class RemoteHostStateVariable
+public class RemoteHostStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="RemoteHost";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private WANIPConnectionModel model;
+	
+	public RemoteHostStateVariable(
+		UPnPService upnpService,
+		WANIPConnectionModel model
+	){	
+		super(
+					upnpService,
+					NAME,
+					DATATYPE,
+					null, // TODO defaultValue changed for 
+					null, // TODO step changed for 
+					null, // TODO step changed for 
+					null, // TODO minimum changed for 
+					null, // TODO maximum changed for 
+					// sendEventsAttribute
+	false,
+					true  // TODO required changed for  OR 
+		);
+		
+		this.model=model;
+
+		
+	}
+	
+	// TODO
+	
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+			
+	/**
+	 * invoked for the first notification just after a subscription
+	 * @see it.cnr.isti.niche.osgi.upnp.util.UPnPStateVariableDescriptor#getValue()
+	 */
+	public Object getValue(){
+	return null;
+	}
+};
+
+
+// class ExternalPortStateVariable
+public class ExternalPortStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="ExternalPort";
+	public final static String DATATYPE="ui2";
+	
+	// HERE specific state variable members
+	private WANIPConnectionModel model;
+	
+	public ExternalPortStateVariable(
+		UPnPService upnpService,
+		WANIPConnectionModel model
+	){	
+		super(
+					upnpService,
+					NAME,
+					DATATYPE,
+					null, // TODO defaultValue changed for 
+					null, // TODO step changed for 
+					null, // TODO step changed for 
+					null, // TODO minimum changed for 
+					null, // TODO maximum changed for 
+					// sendEventsAttribute
+	false,
+					true  // TODO required changed for  OR 
+		);
+		
+		this.model=model;
+
+		
+	}
+	
+	// TODO
+	
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+			
+	/**
+	 * invoked for the first notification just after a subscription
+	 * @see it.cnr.isti.niche.osgi.upnp.util.UPnPStateVariableDescriptor#getValue()
+	 */
+	public Object getValue(){
+	return null;
+	}
+};
+
+
+// class InternalPortStateVariable
+public class InternalPortStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="InternalPort";
+	public final static String DATATYPE="ui2";
+	
+	// HERE specific state variable members
+	private WANIPConnectionModel model;
+	
+	public InternalPortStateVariable(
+		UPnPService upnpService,
+		WANIPConnectionModel model
+	){	
+		super(
+					upnpService,
+					NAME,
+					DATATYPE,
+					null, // TODO defaultValue changed for 
+					null, // TODO step changed for 
+					null, // TODO step changed for 
+					null, // TODO minimum changed for 
+					null, // TODO maximum changed for 
+					// sendEventsAttribute
+	false,
+					true  // TODO required changed for  OR 
+		);
+		
+		this.model=model;
+
+		
+	}
+	
+	// TODO
+	
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+			
+	/**
+	 * invoked for the first notification just after a subscription
+	 * @see it.cnr.isti.niche.osgi.upnp.util.UPnPStateVariableDescriptor#getValue()
+	 */
+	public Object getValue(){
+	return null;
+	}
+};
+
+
+// class PortMappingProtocolStateVariable
+public class PortMappingProtocolStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="PortMappingProtocol";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private WANIPConnectionModel model;
+	
+	public PortMappingProtocolStateVariable(
+		UPnPService upnpService,
+		WANIPConnectionModel model
+	){	
+		super(
+					upnpService,
+					NAME,
+					DATATYPE,
+					null, // TODO defaultValue changed for 
+					null, // TODO step changed for 
+					null, // TODO step changed for 
+					null, // TODO minimum changed for 
+					null, // TODO maximum changed for 
+					// sendEventsAttribute
+	false,
+					true  // TODO required changed for  OR 
+		);
+		
+		this.model=model;
+
+		
+	/*
+		List allowedValueList=new LinkedList();
+		
+		allowedValueList.add(UPnPDataTypeUtil.instanciateObject("string","TCP"));
+
+		allowedValueList.add(UPnPDataTypeUtil.instanciateObject("string","UDP"));
+
+		this.setallowedValueList(allowedValueList);
+	*/
+
+	}
+	
+	// TODO
+	
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+			
+	/**
+	 * invoked for the first notification just after a subscription
+	 * @see it.cnr.isti.niche.osgi.upnp.util.UPnPStateVariableDescriptor#getValue()
+	 */
+	public Object getValue(){
+	return null;
+	}
+};
+
+
+// class InternalClientStateVariable
+public class InternalClientStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="InternalClient";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private WANIPConnectionModel model;
+	
+	public InternalClientStateVariable(
+		UPnPService upnpService,
+		WANIPConnectionModel model
+	){	
+		super(
+					upnpService,
+					NAME,
+					DATATYPE,
+					null, // TODO defaultValue changed for 
+					null, // TODO step changed for 
+					null, // TODO step changed for 
+					null, // TODO minimum changed for 
+					null, // TODO maximum changed for 
+					// sendEventsAttribute
+	false,
+					true  // TODO required changed for  OR 
+		);
+		
+		this.model=model;
+
+		
+	}
+	
+	// TODO
+	
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+			
+	/**
+	 * invoked for the first notification just after a subscription
+	 * @see it.cnr.isti.niche.osgi.upnp.util.UPnPStateVariableDescriptor#getValue()
+	 */
+	public Object getValue(){
+	return null;
+	}
+};
+
+
+// class PortMappingDescriptionStateVariable
+public class PortMappingDescriptionStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="PortMappingDescription";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private WANIPConnectionModel model;
+	
+	public PortMappingDescriptionStateVariable(
+		UPnPService upnpService,
+		WANIPConnectionModel model
+	){	
+		super(
+					upnpService,
+					NAME,
+					DATATYPE,
+					null, // TODO defaultValue changed for 
+					null, // TODO step changed for 
+					null, // TODO step changed for 
+					null, // TODO minimum changed for 
+					null, // TODO maximum changed for 
+					// sendEventsAttribute
+	false,
+					true  // TODO required changed for  OR 
+		);
+		
+		this.model=model;
+
+		
+	}
+	
+	// TODO
+	
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+			
+	/**
+	 * invoked for the first notification just after a subscription
+	 * @see it.cnr.isti.niche.osgi.upnp.util.UPnPStateVariableDescriptor#getValue()
+	 */
+	public Object getValue(){
+	return null;
+	}
+};
+	
+
+	// UPnPAction classes
+	
+	
+
+public class SetConnectionTypeAction extends AbstractUPnPAction {
+
+	WANIPConnectionModel model;
+	
+	// HERE specific action members
+	
+	public SetConnectionTypeAction(
+	    UPnPService upnpService,
+		WANIPConnectionModel model
+	){
+		super(
+			upnpService,
+			"SetConnectionType",
+			""
+		);
+		this.model=model;
+		
+			addInArg(
+				"NewConnectionType",
+				upnpService.getStateVariable("ConnectionType")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	java.lang.String newConnectionType = (java.lang.String) _args.get("NewConnectionType");
+		
+
+		// invoke model
+		
+		 model.setConnectionType(
+			StringHolder.toValue(
+			newConnectionType)
+		
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+		return _result.isEmpty()?null:_result;
+	}
+
+
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+};
+
+
+public class GetConnectionTypeInfoAction extends AbstractUPnPAction {
+
+	WANIPConnectionModel model;
+	
+	// HERE specific action members
+	
+	public GetConnectionTypeInfoAction(
+	    UPnPService upnpService,
+		WANIPConnectionModel model
+	){
+		super(
+			upnpService,
+			"GetConnectionTypeInfo",
+			""
+		);
+		this.model=model;
+		
+			addOutArg(
+				"NewConnectionType",
+				upnpService.getStateVariable("ConnectionType")
+			);
+		
+			addOutArg(
+				"NewPossibleConnectionTypes",
+				upnpService.getStateVariable("PossibleConnectionTypes")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	StringHolder newConnectionType = new StringHolder();
+		StringHolder newPossibleConnectionTypes = new StringHolder();
+		
+
+		// invoke model
+		
+		 model.getConnectionTypeInfo(
+			newConnectionType,
+
+newPossibleConnectionTypes
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+			_result.put("NewConnectionType",newConnectionType.getObject());
+			// java.lang.String
+			_result.put("NewPossibleConnectionTypes",newPossibleConnectionTypes.getObject());
+			// java.lang.String
+		return _result.isEmpty()?null:_result;
+	}
+
+
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+};
+
+
+public class RequestConnectionAction extends AbstractUPnPAction {
+
+	WANIPConnectionModel model;
+	
+	// HERE specific action members
+	
+	public RequestConnectionAction(
+	    UPnPService upnpService,
+		WANIPConnectionModel model
+	){
+		super(
+			upnpService,
+			"RequestConnection",
+			""
+		);
+		this.model=model;
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	
+
+		// invoke model
+		
+		 model.requestConnection(
+			
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+		return _result.isEmpty()?null:_result;
+	}
+
+
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+};
+
+
+public class RequestTerminationAction extends AbstractUPnPAction {
+
+	WANIPConnectionModel model;
+	
+	// HERE specific action members
+	
+	public RequestTerminationAction(
+	    UPnPService upnpService,
+		WANIPConnectionModel model
+	){
+		super(
+			upnpService,
+			"RequestTermination",
+			""
+		);
+		this.model=model;
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	
+
+		// invoke model
+		
+		 model.requestTermination(
+			
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+		return _result.isEmpty()?null:_result;
+	}
+
+
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+};
+
+
+public class ForceTerminationAction extends AbstractUPnPAction {
+
+	WANIPConnectionModel model;
+	
+	// HERE specific action members
+	
+	public ForceTerminationAction(
+	    UPnPService upnpService,
+		WANIPConnectionModel model
+	){
+		super(
+			upnpService,
+			"ForceTermination",
+			""
+		);
+		this.model=model;
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	
+
+		// invoke model
+		
+		 model.forceTermination(
+			
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+		return _result.isEmpty()?null:_result;
+	}
+
+
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+};
+
+
+public class SetAutoDisconnectTimeAction extends AbstractUPnPAction {
+
+	WANIPConnectionModel model;
+	
+	// HERE specific action members
+	
+	public SetAutoDisconnectTimeAction(
+	    UPnPService upnpService,
+		WANIPConnectionModel model
+	){
+		super(
+			upnpService,
+			"SetAutoDisconnectTime",
+			""
+		);
+		this.model=model;
+		
+			addInArg(
+				"NewAutoDisconnectTime",
+				upnpService.getStateVariable("AutoDisconnectTime")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	java.lang.Long newAutoDisconnectTime = (java.lang.Long) _args.get("NewAutoDisconnectTime");
+		
+
+		// invoke model
+		
+		 model.setAutoDisconnectTime(
+			LongHolder.toValue(
+			newAutoDisconnectTime)
+		
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+		return _result.isEmpty()?null:_result;
+	}
+
+
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+};
+
+
+public class SetIdleDisconnectTimeAction extends AbstractUPnPAction {
+
+	WANIPConnectionModel model;
+	
+	// HERE specific action members
+	
+	public SetIdleDisconnectTimeAction(
+	    UPnPService upnpService,
+		WANIPConnectionModel model
+	){
+		super(
+			upnpService,
+			"SetIdleDisconnectTime",
+			""
+		);
+		this.model=model;
+		
+			addInArg(
+				"NewIdleDisconnectTime",
+				upnpService.getStateVariable("IdleDisconnectTime")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	java.lang.Long newIdleDisconnectTime = (java.lang.Long) _args.get("NewIdleDisconnectTime");
+		
+
+		// invoke model
+		
+		 model.setIdleDisconnectTime(
+			LongHolder.toValue(
+			newIdleDisconnectTime)
+		
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+		return _result.isEmpty()?null:_result;
+	}
+
+
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+};
+
+
+public class SetWarnDisconnectDelayAction extends AbstractUPnPAction {
+
+	WANIPConnectionModel model;
+	
+	// HERE specific action members
+	
+	public SetWarnDisconnectDelayAction(
+	    UPnPService upnpService,
+		WANIPConnectionModel model
+	){
+		super(
+			upnpService,
+			"SetWarnDisconnectDelay",
+			""
+		);
+		this.model=model;
+		
+			addInArg(
+				"NewWarnDisconnectDelay",
+				upnpService.getStateVariable("WarnDisconnectDelay")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	java.lang.Long newWarnDisconnectDelay = (java.lang.Long) _args.get("NewWarnDisconnectDelay");
+		
+
+		// invoke model
+		
+		 model.setWarnDisconnectDelay(
+			LongHolder.toValue(
+			newWarnDisconnectDelay)
+		
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+		return _result.isEmpty()?null:_result;
+	}
+
+
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+};
+
+
+public class GetStatusInfoAction extends AbstractUPnPAction {
+
+	WANIPConnectionModel model;
+	
+	// HERE specific action members
+	
+	public GetStatusInfoAction(
+	    UPnPService upnpService,
+		WANIPConnectionModel model
+	){
+		super(
+			upnpService,
+			"GetStatusInfo",
+			""
+		);
+		this.model=model;
+		
+			addOutArg(
+				"NewConnectionStatus",
+				upnpService.getStateVariable("ConnectionStatus")
+			);
+		
+			addOutArg(
+				"NewLastConnectionError",
+				upnpService.getStateVariable("LastConnectionError")
+			);
+		
+			addOutArg(
+				"NewUptime",
+				upnpService.getStateVariable("Uptime")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	StringHolder newConnectionStatus = new StringHolder();
+		StringHolder newLastConnectionError = new StringHolder();
+		LongHolder newUptime = new LongHolder();
+		
+
+		// invoke model
+		
+		 model.getStatusInfo(
+			newConnectionStatus,
+
+newLastConnectionError,
+
+newUptime
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+			_result.put("NewConnectionStatus",newConnectionStatus.getObject());
+			// java.lang.String
+			_result.put("NewLastConnectionError",newLastConnectionError.getObject());
+			// java.lang.String
+			_result.put("NewUptime",newUptime.getObject());
+			// java.lang.Long
+		return _result.isEmpty()?null:_result;
+	}
+
+
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+};
+
+
+public class GetAutoDisconnectTimeAction extends AbstractUPnPAction {
+
+	WANIPConnectionModel model;
+	
+	// HERE specific action members
+	
+	public GetAutoDisconnectTimeAction(
+	    UPnPService upnpService,
+		WANIPConnectionModel model
+	){
+		super(
+			upnpService,
+			"GetAutoDisconnectTime",
+			""
+		);
+		this.model=model;
+		
+			addOutArg(
+				"NewAutoDisconnectTime",
+				upnpService.getStateVariable("AutoDisconnectTime")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	LongHolder newAutoDisconnectTime = new LongHolder();
+		
+
+		// invoke model
+		
+		 model.getAutoDisconnectTime(
+			newAutoDisconnectTime
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+			_result.put("NewAutoDisconnectTime",newAutoDisconnectTime.getObject());
+			// java.lang.Long
+		return _result.isEmpty()?null:_result;
+	}
+
+
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+};
+
+
+public class GetIdleDisconnectTimeAction extends AbstractUPnPAction {
+
+	WANIPConnectionModel model;
+	
+	// HERE specific action members
+	
+	public GetIdleDisconnectTimeAction(
+	    UPnPService upnpService,
+		WANIPConnectionModel model
+	){
+		super(
+			upnpService,
+			"GetIdleDisconnectTime",
+			""
+		);
+		this.model=model;
+		
+			addOutArg(
+				"NewIdleDisconnectTime",
+				upnpService.getStateVariable("IdleDisconnectTime")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	LongHolder newIdleDisconnectTime = new LongHolder();
+		
+
+		// invoke model
+		
+		 model.getIdleDisconnectTime(
+			newIdleDisconnectTime
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+			_result.put("NewIdleDisconnectTime",newIdleDisconnectTime.getObject());
+			// java.lang.Long
+		return _result.isEmpty()?null:_result;
+	}
+
+
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+};
+
+
+public class GetWarnDisconnectDelayAction extends AbstractUPnPAction {
+
+	WANIPConnectionModel model;
+	
+	// HERE specific action members
+	
+	public GetWarnDisconnectDelayAction(
+	    UPnPService upnpService,
+		WANIPConnectionModel model
+	){
+		super(
+			upnpService,
+			"GetWarnDisconnectDelay",
+			""
+		);
+		this.model=model;
+		
+			addOutArg(
+				"NewWarnDisconnectDelay",
+				upnpService.getStateVariable("WarnDisconnectDelay")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	LongHolder newWarnDisconnectDelay = new LongHolder();
+		
+
+		// invoke model
+		
+		 model.getWarnDisconnectDelay(
+			newWarnDisconnectDelay
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+			_result.put("NewWarnDisconnectDelay",newWarnDisconnectDelay.getObject());
+			// java.lang.Long
+		return _result.isEmpty()?null:_result;
+	}
+
+
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+};
+
+
+public class GetNATRSIPStatusAction extends AbstractUPnPAction {
+
+	WANIPConnectionModel model;
+	
+	// HERE specific action members
+	
+	public GetNATRSIPStatusAction(
+	    UPnPService upnpService,
+		WANIPConnectionModel model
+	){
+		super(
+			upnpService,
+			"GetNATRSIPStatus",
+			""
+		);
+		this.model=model;
+		
+			addOutArg(
+				"NewRSIPAvailable",
+				upnpService.getStateVariable("RSIPAvailable")
+			);
+		
+			addOutArg(
+				"NewNATEnabled",
+				upnpService.getStateVariable("NATEnabled")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	BooleanHolder newRSIPAvailable = new BooleanHolder();
+		BooleanHolder newNATEnabled = new BooleanHolder();
+		
+
+		// invoke model
+		
+		 model.getNATRSIPStatus(
+			newRSIPAvailable,
+
+newNATEnabled
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+			_result.put("NewRSIPAvailable",newRSIPAvailable.getObject());
+			// java.lang.Boolean
+			_result.put("NewNATEnabled",newNATEnabled.getObject());
+			// java.lang.Boolean
+		return _result.isEmpty()?null:_result;
+	}
+
+
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+};
+
+
+public class GetGenericPortMappingEntryAction extends AbstractUPnPAction {
+
+	WANIPConnectionModel model;
+	
+	// HERE specific action members
+	
+	public GetGenericPortMappingEntryAction(
+	    UPnPService upnpService,
+		WANIPConnectionModel model
+	){
+		super(
+			upnpService,
+			"GetGenericPortMappingEntry",
+			""
+		);
+		this.model=model;
+		
+			addInArg(
+				"NewPortMappingIndex",
+				upnpService.getStateVariable("PortMappingNumberOfEntries")
+			);
+		
+			addOutArg(
+				"NewRemoteHost",
+				upnpService.getStateVariable("RemoteHost")
+			);
+		
+			addOutArg(
+				"NewExternalPort",
+				upnpService.getStateVariable("ExternalPort")
+			);
+		
+			addOutArg(
+				"NewProtocol",
+				upnpService.getStateVariable("PortMappingProtocol")
+			);
+		
+			addOutArg(
+				"NewInternalPort",
+				upnpService.getStateVariable("InternalPort")
+			);
+		
+			addOutArg(
+				"NewInternalClient",
+				upnpService.getStateVariable("InternalClient")
+			);
+		
+			addOutArg(
+				"NewEnabled",
+				upnpService.getStateVariable("PortMappingEnabled")
+			);
+		
+			addOutArg(
+				"NewPortMappingDescription",
+				upnpService.getStateVariable("PortMappingDescription")
+			);
+		
+			addOutArg(
+				"NewLeaseDuration",
+				upnpService.getStateVariable("PortMappingLeaseDuration")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	java.lang.Integer newPortMappingIndex = (java.lang.Integer) _args.get("NewPortMappingIndex");
+		StringHolder newRemoteHost = new StringHolder();
+		IntegerHolder newExternalPort = new IntegerHolder();
+		StringHolder newProtocol = new StringHolder();
+		IntegerHolder newInternalPort = new IntegerHolder();
+		StringHolder newInternalClient = new StringHolder();
+		BooleanHolder newEnabled = new BooleanHolder();
+		StringHolder newPortMappingDescription = new StringHolder();
+		LongHolder newLeaseDuration = new LongHolder();
+		
+
+		// invoke model
+		
+		 model.getGenericPortMappingEntry(
+			IntegerHolder.toValue(
+			newPortMappingIndex)
+		,
+
+newRemoteHost,
+
+newExternalPort,
+
+newProtocol,
+
+newInternalPort,
+
+newInternalClient,
+
+newEnabled,
+
+newPortMappingDescription,
+
+newLeaseDuration
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+			_result.put("NewRemoteHost",newRemoteHost.getObject());
+			// java.lang.String
+			_result.put("NewExternalPort",newExternalPort.getObject());
+			// java.lang.Integer
+			_result.put("NewProtocol",newProtocol.getObject());
+			// java.lang.String
+			_result.put("NewInternalPort",newInternalPort.getObject());
+			// java.lang.Integer
+			_result.put("NewInternalClient",newInternalClient.getObject());
+			// java.lang.String
+			_result.put("NewEnabled",newEnabled.getObject());
+			// java.lang.Boolean
+			_result.put("NewPortMappingDescription",newPortMappingDescription.getObject());
+			// java.lang.String
+			_result.put("NewLeaseDuration",newLeaseDuration.getObject());
+			// java.lang.Long
+		return _result.isEmpty()?null:_result;
+	}
+
+
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+};
+
+
+public class GetSpecificPortMappingEntryAction extends AbstractUPnPAction {
+
+	WANIPConnectionModel model;
+	
+	// HERE specific action members
+	
+	public GetSpecificPortMappingEntryAction(
+	    UPnPService upnpService,
+		WANIPConnectionModel model
+	){
+		super(
+			upnpService,
+			"GetSpecificPortMappingEntry",
+			""
+		);
+		this.model=model;
+		
+			addInArg(
+				"NewRemoteHost",
+				upnpService.getStateVariable("RemoteHost")
+			);
+		
+			addInArg(
+				"NewExternalPort",
+				upnpService.getStateVariable("ExternalPort")
+			);
+		
+			addInArg(
+				"NewProtocol",
+				upnpService.getStateVariable("PortMappingProtocol")
+			);
+		
+			addOutArg(
+				"NewInternalPort",
+				upnpService.getStateVariable("InternalPort")
+			);
+		
+			addOutArg(
+				"NewInternalClient",
+				upnpService.getStateVariable("InternalClient")
+			);
+		
+			addOutArg(
+				"NewEnabled",
+				upnpService.getStateVariable("PortMappingEnabled")
+			);
+		
+			addOutArg(
+				"NewPortMappingDescription",
+				upnpService.getStateVariable("PortMappingDescription")
+			);
+		
+			addOutArg(
+				"NewLeaseDuration",
+				upnpService.getStateVariable("PortMappingLeaseDuration")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	java.lang.String newRemoteHost = (java.lang.String) _args.get("NewRemoteHost");
+		java.lang.Integer newExternalPort = (java.lang.Integer) _args.get("NewExternalPort");
+		java.lang.String newProtocol = (java.lang.String) _args.get("NewProtocol");
+		IntegerHolder newInternalPort = new IntegerHolder();
+		StringHolder newInternalClient = new StringHolder();
+		BooleanHolder newEnabled = new BooleanHolder();
+		StringHolder newPortMappingDescription = new StringHolder();
+		LongHolder newLeaseDuration = new LongHolder();
+		
+
+		// invoke model
+		
+		 model.getSpecificPortMappingEntry(
+			StringHolder.toValue(
+			newRemoteHost)
+		,
+
+IntegerHolder.toValue(
+			newExternalPort)
+		,
+
+StringHolder.toValue(
+			newProtocol)
+		,
+
+newInternalPort,
+
+newInternalClient,
+
+newEnabled,
+
+newPortMappingDescription,
+
+newLeaseDuration
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+			_result.put("NewInternalPort",newInternalPort.getObject());
+			// java.lang.Integer
+			_result.put("NewInternalClient",newInternalClient.getObject());
+			// java.lang.String
+			_result.put("NewEnabled",newEnabled.getObject());
+			// java.lang.Boolean
+			_result.put("NewPortMappingDescription",newPortMappingDescription.getObject());
+			// java.lang.String
+			_result.put("NewLeaseDuration",newLeaseDuration.getObject());
+			// java.lang.Long
+		return _result.isEmpty()?null:_result;
+	}
+
+
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+};
+
+
+public class AddPortMappingAction extends AbstractUPnPAction {
+
+	WANIPConnectionModel model;
+	
+	// HERE specific action members
+	
+	public AddPortMappingAction(
+	    UPnPService upnpService,
+		WANIPConnectionModel model
+	){
+		super(
+			upnpService,
+			"AddPortMapping",
+			""
+		);
+		this.model=model;
+		
+			addInArg(
+				"NewRemoteHost",
+				upnpService.getStateVariable("RemoteHost")
+			);
+		
+			addInArg(
+				"NewExternalPort",
+				upnpService.getStateVariable("ExternalPort")
+			);
+		
+			addInArg(
+				"NewProtocol",
+				upnpService.getStateVariable("PortMappingProtocol")
+			);
+		
+			addInArg(
+				"NewInternalPort",
+				upnpService.getStateVariable("InternalPort")
+			);
+		
+			addInArg(
+				"NewInternalClient",
+				upnpService.getStateVariable("InternalClient")
+			);
+		
+			addInArg(
+				"NewEnabled",
+				upnpService.getStateVariable("PortMappingEnabled")
+			);
+		
+			addInArg(
+				"NewPortMappingDescription",
+				upnpService.getStateVariable("PortMappingDescription")
+			);
+		
+			addInArg(
+				"NewLeaseDuration",
+				upnpService.getStateVariable("PortMappingLeaseDuration")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	java.lang.String newRemoteHost = (java.lang.String) _args.get("NewRemoteHost");
+		java.lang.Integer newExternalPort = (java.lang.Integer) _args.get("NewExternalPort");
+		java.lang.String newProtocol = (java.lang.String) _args.get("NewProtocol");
+		java.lang.Integer newInternalPort = (java.lang.Integer) _args.get("NewInternalPort");
+		java.lang.String newInternalClient = (java.lang.String) _args.get("NewInternalClient");
+		java.lang.Boolean newEnabled = (java.lang.Boolean) _args.get("NewEnabled");
+		java.lang.String newPortMappingDescription = (java.lang.String) _args.get("NewPortMappingDescription");
+		java.lang.Long newLeaseDuration = (java.lang.Long) _args.get("NewLeaseDuration");
+		
+
+		// invoke model
+		
+		 model.addPortMapping(
+			StringHolder.toValue(
+			newRemoteHost)
+		,
+
+IntegerHolder.toValue(
+			newExternalPort)
+		,
+
+StringHolder.toValue(
+			newProtocol)
+		,
+
+IntegerHolder.toValue(
+			newInternalPort)
+		,
+
+StringHolder.toValue(
+			newInternalClient)
+		,
+
+BooleanHolder.toValue(
+			newEnabled)
+		,
+
+StringHolder.toValue(
+			newPortMappingDescription)
+		,
+
+LongHolder.toValue(
+			newLeaseDuration)
+		
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+		return _result.isEmpty()?null:_result;
+	}
+
+
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+};
+
+
+public class DeletePortMappingAction extends AbstractUPnPAction {
+
+	WANIPConnectionModel model;
+	
+	// HERE specific action members
+	
+	public DeletePortMappingAction(
+	    UPnPService upnpService,
+		WANIPConnectionModel model
+	){
+		super(
+			upnpService,
+			"DeletePortMapping",
+			""
+		);
+		this.model=model;
+		
+			addInArg(
+				"NewRemoteHost",
+				upnpService.getStateVariable("RemoteHost")
+			);
+		
+			addInArg(
+				"NewExternalPort",
+				upnpService.getStateVariable("ExternalPort")
+			);
+		
+			addInArg(
+				"NewProtocol",
+				upnpService.getStateVariable("PortMappingProtocol")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	java.lang.String newRemoteHost = (java.lang.String) _args.get("NewRemoteHost");
+		java.lang.Integer newExternalPort = (java.lang.Integer) _args.get("NewExternalPort");
+		java.lang.String newProtocol = (java.lang.String) _args.get("NewProtocol");
+		
+
+		// invoke model
+		
+		 model.deletePortMapping(
+			StringHolder.toValue(
+			newRemoteHost)
+		,
+
+IntegerHolder.toValue(
+			newExternalPort)
+		,
+
+StringHolder.toValue(
+			newProtocol)
+		
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+		return _result.isEmpty()?null:_result;
+	}
+
+
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+};
+
+
+public class GetExternalIPAddressAction extends AbstractUPnPAction {
+
+	WANIPConnectionModel model;
+	
+	// HERE specific action members
+	
+	public GetExternalIPAddressAction(
+	    UPnPService upnpService,
+		WANIPConnectionModel model
+	){
+		super(
+			upnpService,
+			"GetExternalIPAddress",
+			""
+		);
+		this.model=model;
+		
+			addOutArg(
+				"NewExternalIPAddress",
+				upnpService.getStateVariable("ExternalIPAddress")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	StringHolder newExternalIPAddress = new StringHolder();
+		
+
+		// invoke model
+		
+		 model.getExternalIPAddress(
+			newExternalIPAddress
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+			_result.put("NewExternalIPAddress",newExternalIPAddress.getObject());
+			// java.lang.String
+		return _result.isEmpty()?null:_result;
+	}
+
+
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+};
+	
+}

Propchange: incubator/felix/sandbox/donsez/upnp.devicegen/src/main/java/org/apache/felix/upnp/devicegen/igd/service/WANIPConnection.java
------------------------------------------------------------------------------
    svn:eol-style = native



Mime
View raw message