You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by do...@apache.org on 2007/05/01 01:15:18 UTC

svn commit: r533875 [22/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...

Added: incubator/felix/sandbox/donsez/upnp.devicegen/src/main/java/org/apache/felix/upnp/devicegen/media/service/AVTransport.java
URL: http://svn.apache.org/viewvc/incubator/felix/sandbox/donsez/upnp.devicegen/src/main/java/org/apache/felix/upnp/devicegen/media/service/AVTransport.java?view=auto&rev=533875
==============================================================================
--- incubator/felix/sandbox/donsez/upnp.devicegen/src/main/java/org/apache/felix/upnp/devicegen/media/service/AVTransport.java (added)
+++ incubator/felix/sandbox/donsez/upnp.devicegen/src/main/java/org/apache/felix/upnp/devicegen/media/service/AVTransport.java Mon Apr 30 16:15:05 2007
@@ -0,0 +1,3434 @@
+
+/*
+__BANNER__
+*/
+// this file was generated at 1-May-2007 12:59 AM by ${author}
+package org.apache.felix.upnp.devicegen.media.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.media.model.*;
+import org.apache.felix.upnp.devicegen.media.impl.*;
+
+	
+
+public class AVTransport extends AbstractUPnPService {
+	
+		
+	private AVTransportModel model;	
+		
+	/**
+	 * constructor
+	 */
+	public AVTransport(
+		UPnPDevice upnpDevice,
+		String serviceId,
+		String serviceType,
+		String version,
+		AVTransportModel model
+	){
+		super(	
+			upnpDevice,
+			serviceId,
+			serviceType,
+			version
+		);
+		this.model=model;
+	
+		
+	stateVariables=new HashMap();
+	
+
+	
+	stateVariables.put(
+		"TransportState",
+		new TransportStateStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"TransportStatus",
+		new TransportStatusStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"PlaybackStorageMedium",
+		new PlaybackStorageMediumStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"RecordStorageMedium",
+		new RecordStorageMediumStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"PossiblePlaybackStorageMedia",
+		new PossiblePlaybackStorageMediaStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"PossibleRecordStorageMedia",
+		new PossibleRecordStorageMediaStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"CurrentPlayMode",
+		new CurrentPlayModeStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"TransportPlaySpeed",
+		new TransportPlaySpeedStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"RecordMediumWriteStatus",
+		new RecordMediumWriteStatusStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"CurrentRecordQualityMode",
+		new CurrentRecordQualityModeStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"PossibleRecordQualityModes",
+		new PossibleRecordQualityModesStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"NumberOfTracks",
+		new NumberOfTracksStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"CurrentTrack",
+		new CurrentTrackStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"CurrentTrackDuration",
+		new CurrentTrackDurationStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"CurrentMediaDuration",
+		new CurrentMediaDurationStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"CurrentTrackMetaData",
+		new CurrentTrackMetaDataStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"CurrentTrackURI",
+		new CurrentTrackURIStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"AVTransportURI",
+		new AVTransportURIStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"AVTransportURIMetaData",
+		new AVTransportURIMetaDataStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"NextAVTransportURI",
+		new NextAVTransportURIStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"NextAVTransportURIMetaData",
+		new NextAVTransportURIMetaDataStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"RelativeTimePosition",
+		new RelativeTimePositionStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"AbsoluteTimePosition",
+		new AbsoluteTimePositionStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"RelativeCounterPosition",
+		new RelativeCounterPositionStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"AbsoluteCounterPosition",
+		new AbsoluteCounterPositionStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"CurrentTransportActions",
+		new CurrentTransportActionsStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"LastChange",
+		new LastChangeStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"A_ARG_TYPE_SeekMode",
+		new A_ARG_TYPE_SeekModeStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"A_ARG_TYPE_SeekTarget",
+		new A_ARG_TYPE_SeekTargetStateVariable(this,model)
+	);
+
+
+	
+	stateVariables.put(
+		"A_ARG_TYPE_InstanceID",
+		new A_ARG_TYPE_InstanceIDStateVariable(this,model)
+	);
+
+	actions=new HashMap();
+	
+
+
+	actions.put(
+		"SetAVTransportURI",
+		new SetAVTransportURIAction(this,model)
+	);
+
+
+
+	actions.put(
+		"SetNextAVTransportURI",
+		new SetNextAVTransportURIAction(this,model)
+	);
+
+
+
+	actions.put(
+		"GetMediaInfo",
+		new GetMediaInfoAction(this,model)
+	);
+
+
+
+	actions.put(
+		"GetTransportInfo",
+		new GetTransportInfoAction(this,model)
+	);
+
+
+
+	actions.put(
+		"GetPositionInfo",
+		new GetPositionInfoAction(this,model)
+	);
+
+
+
+	actions.put(
+		"GetDeviceCapabilities",
+		new GetDeviceCapabilitiesAction(this,model)
+	);
+
+
+
+	actions.put(
+		"GetTransportSettings",
+		new GetTransportSettingsAction(this,model)
+	);
+
+
+
+	actions.put(
+		"Stop",
+		new StopAction(this,model)
+	);
+
+
+
+	actions.put(
+		"Play",
+		new PlayAction(this,model)
+	);
+
+
+
+	actions.put(
+		"Pause",
+		new PauseAction(this,model)
+	);
+
+
+
+	actions.put(
+		"Record",
+		new RecordAction(this,model)
+	);
+
+
+
+	actions.put(
+		"Seek",
+		new SeekAction(this,model)
+	);
+
+
+
+	actions.put(
+		"Next",
+		new NextAction(this,model)
+	);
+
+
+
+	actions.put(
+		"Previous",
+		new PreviousAction(this,model)
+	);
+
+
+
+	actions.put(
+		"SetPlayMode",
+		new SetPlayModeAction(this,model)
+	);
+
+
+
+	actions.put(
+		"SetRecordQualityMode",
+		new SetRecordQualityModeAction(this,model)
+	);
+
+
+
+	actions.put(
+		"GetCurrentTransportActions",
+		new GetCurrentTransportActionsAction(this,model)
+	);
+	
+	}
+
+	// UPnPStateVariable classes
+	
+	
+
+// class TransportStateStateVariable
+public class TransportStateStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="TransportState";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private AVTransportModel model;
+	
+	public TransportStateStateVariable(
+		UPnPService upnpService,
+		AVTransportModel 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","STOPPED"));
+
+		allowedValueList.add(UPnPDataTypeUtil.instanciateObject("string","PLAYING"));
+
+		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 TransportStatusStateVariable
+public class TransportStatusStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="TransportStatus";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private AVTransportModel model;
+	
+	public TransportStatusStateVariable(
+		UPnPService upnpService,
+		AVTransportModel 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","OK"));
+
+		allowedValueList.add(UPnPDataTypeUtil.instanciateObject("string","ERROR_OCCURRED"));
+
+		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 PlaybackStorageMediumStateVariable
+public class PlaybackStorageMediumStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="PlaybackStorageMedium";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private AVTransportModel model;
+	
+	public PlaybackStorageMediumStateVariable(
+		UPnPService upnpService,
+		AVTransportModel 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 RecordStorageMediumStateVariable
+public class RecordStorageMediumStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="RecordStorageMedium";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private AVTransportModel model;
+	
+	public RecordStorageMediumStateVariable(
+		UPnPService upnpService,
+		AVTransportModel 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 PossiblePlaybackStorageMediaStateVariable
+public class PossiblePlaybackStorageMediaStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="PossiblePlaybackStorageMedia";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private AVTransportModel model;
+	
+	public PossiblePlaybackStorageMediaStateVariable(
+		UPnPService upnpService,
+		AVTransportModel 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 PossibleRecordStorageMediaStateVariable
+public class PossibleRecordStorageMediaStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="PossibleRecordStorageMedia";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private AVTransportModel model;
+	
+	public PossibleRecordStorageMediaStateVariable(
+		UPnPService upnpService,
+		AVTransportModel 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 CurrentPlayModeStateVariable
+public class CurrentPlayModeStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="CurrentPlayMode";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private AVTransportModel model;
+	
+	public CurrentPlayModeStateVariable(
+		UPnPService upnpService,
+		AVTransportModel model
+	){	
+		super(
+					upnpService,
+					NAME,
+					DATATYPE,
+					null, // TODO defaultValue changed for NORMAL
+					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","NORMAL"));
+
+		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 TransportPlaySpeedStateVariable
+public class TransportPlaySpeedStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="TransportPlaySpeed";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private AVTransportModel model;
+	
+	public TransportPlaySpeedStateVariable(
+		UPnPService upnpService,
+		AVTransportModel 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","1"));
+
+		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 RecordMediumWriteStatusStateVariable
+public class RecordMediumWriteStatusStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="RecordMediumWriteStatus";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private AVTransportModel model;
+	
+	public RecordMediumWriteStatusStateVariable(
+		UPnPService upnpService,
+		AVTransportModel 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 CurrentRecordQualityModeStateVariable
+public class CurrentRecordQualityModeStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="CurrentRecordQualityMode";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private AVTransportModel model;
+	
+	public CurrentRecordQualityModeStateVariable(
+		UPnPService upnpService,
+		AVTransportModel 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 PossibleRecordQualityModesStateVariable
+public class PossibleRecordQualityModesStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="PossibleRecordQualityModes";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private AVTransportModel model;
+	
+	public PossibleRecordQualityModesStateVariable(
+		UPnPService upnpService,
+		AVTransportModel 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 NumberOfTracksStateVariable
+public class NumberOfTracksStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="NumberOfTracks";
+	public final static String DATATYPE="ui4";
+	
+	// HERE specific state variable members
+	private AVTransportModel model;
+	
+	public NumberOfTracksStateVariable(
+		UPnPService upnpService,
+		AVTransportModel 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 0
+					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 CurrentTrackStateVariable
+public class CurrentTrackStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="CurrentTrack";
+	public final static String DATATYPE="ui4";
+	
+	// HERE specific state variable members
+	private AVTransportModel model;
+	
+	public CurrentTrackStateVariable(
+		UPnPService upnpService,
+		AVTransportModel 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 0
+					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 CurrentTrackDurationStateVariable
+public class CurrentTrackDurationStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="CurrentTrackDuration";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private AVTransportModel model;
+	
+	public CurrentTrackDurationStateVariable(
+		UPnPService upnpService,
+		AVTransportModel 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 CurrentMediaDurationStateVariable
+public class CurrentMediaDurationStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="CurrentMediaDuration";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private AVTransportModel model;
+	
+	public CurrentMediaDurationStateVariable(
+		UPnPService upnpService,
+		AVTransportModel 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 CurrentTrackMetaDataStateVariable
+public class CurrentTrackMetaDataStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="CurrentTrackMetaData";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private AVTransportModel model;
+	
+	public CurrentTrackMetaDataStateVariable(
+		UPnPService upnpService,
+		AVTransportModel 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 CurrentTrackURIStateVariable
+public class CurrentTrackURIStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="CurrentTrackURI";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private AVTransportModel model;
+	
+	public CurrentTrackURIStateVariable(
+		UPnPService upnpService,
+		AVTransportModel 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 AVTransportURIStateVariable
+public class AVTransportURIStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="AVTransportURI";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private AVTransportModel model;
+	
+	public AVTransportURIStateVariable(
+		UPnPService upnpService,
+		AVTransportModel 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 AVTransportURIMetaDataStateVariable
+public class AVTransportURIMetaDataStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="AVTransportURIMetaData";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private AVTransportModel model;
+	
+	public AVTransportURIMetaDataStateVariable(
+		UPnPService upnpService,
+		AVTransportModel 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 NextAVTransportURIStateVariable
+public class NextAVTransportURIStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="NextAVTransportURI";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private AVTransportModel model;
+	
+	public NextAVTransportURIStateVariable(
+		UPnPService upnpService,
+		AVTransportModel 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 NextAVTransportURIMetaDataStateVariable
+public class NextAVTransportURIMetaDataStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="NextAVTransportURIMetaData";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private AVTransportModel model;
+	
+	public NextAVTransportURIMetaDataStateVariable(
+		UPnPService upnpService,
+		AVTransportModel 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 RelativeTimePositionStateVariable
+public class RelativeTimePositionStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="RelativeTimePosition";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private AVTransportModel model;
+	
+	public RelativeTimePositionStateVariable(
+		UPnPService upnpService,
+		AVTransportModel 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 AbsoluteTimePositionStateVariable
+public class AbsoluteTimePositionStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="AbsoluteTimePosition";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private AVTransportModel model;
+	
+	public AbsoluteTimePositionStateVariable(
+		UPnPService upnpService,
+		AVTransportModel 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 RelativeCounterPositionStateVariable
+public class RelativeCounterPositionStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="RelativeCounterPosition";
+	public final static String DATATYPE="i4";
+	
+	// HERE specific state variable members
+	private AVTransportModel model;
+	
+	public RelativeCounterPositionStateVariable(
+		UPnPService upnpService,
+		AVTransportModel 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 AbsoluteCounterPositionStateVariable
+public class AbsoluteCounterPositionStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="AbsoluteCounterPosition";
+	public final static String DATATYPE="i4";
+	
+	// HERE specific state variable members
+	private AVTransportModel model;
+	
+	public AbsoluteCounterPositionStateVariable(
+		UPnPService upnpService,
+		AVTransportModel 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 CurrentTransportActionsStateVariable
+public class CurrentTransportActionsStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="CurrentTransportActions";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private AVTransportModel model;
+	
+	public CurrentTransportActionsStateVariable(
+		UPnPService upnpService,
+		AVTransportModel 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 LastChangeStateVariable
+public class LastChangeStateVariable
+  extends AbstractUPnPStateVariable
+			
+	  implements UPnPStateVariableDescriptor{
+
+	public final static String NAME="LastChange";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private AVTransportModel model;
+	
+	public LastChangeStateVariable(
+		UPnPService upnpService,
+		AVTransportModel 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.getLastChangeStateVariableValue();
+		
+	}
+};
+
+
+// class A_ARG_TYPE_SeekModeStateVariable
+public class A_ARG_TYPE_SeekModeStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="A_ARG_TYPE_SeekMode";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private AVTransportModel model;
+	
+	public A_ARG_TYPE_SeekModeStateVariable(
+		UPnPService upnpService,
+		AVTransportModel 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","TRACK_NR"));
+
+		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 A_ARG_TYPE_SeekTargetStateVariable
+public class A_ARG_TYPE_SeekTargetStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="A_ARG_TYPE_SeekTarget";
+	public final static String DATATYPE="string";
+	
+	// HERE specific state variable members
+	private AVTransportModel model;
+	
+	public A_ARG_TYPE_SeekTargetStateVariable(
+		UPnPService upnpService,
+		AVTransportModel 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 A_ARG_TYPE_InstanceIDStateVariable
+public class A_ARG_TYPE_InstanceIDStateVariable
+  extends AbstractUPnPStateVariable
+			
+	{
+
+	public final static String NAME="A_ARG_TYPE_InstanceID";
+	public final static String DATATYPE="ui4";
+	
+	// HERE specific state variable members
+	private AVTransportModel model;
+	
+	public A_ARG_TYPE_InstanceIDStateVariable(
+		UPnPService upnpService,
+		AVTransportModel 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 SetAVTransportURIAction extends AbstractUPnPAction {
+
+	AVTransportModel model;
+	
+	// HERE specific action members
+	
+	public SetAVTransportURIAction(
+	    UPnPService upnpService,
+		AVTransportModel model
+	){
+		super(
+			upnpService,
+			"SetAVTransportURI",
+			""
+		);
+		this.model=model;
+		
+			addInArg(
+				"InstanceID",
+				upnpService.getStateVariable("A_ARG_TYPE_InstanceID")
+			);
+		
+			addInArg(
+				"CurrentURI",
+				upnpService.getStateVariable("AVTransportURI")
+			);
+		
+			addInArg(
+				"CurrentURIMetaData",
+				upnpService.getStateVariable("AVTransportURIMetaData")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	java.lang.Long instanceID = (java.lang.Long) _args.get("InstanceID");
+		java.lang.String currentURI = (java.lang.String) _args.get("CurrentURI");
+		java.lang.String currentURIMetaData = (java.lang.String) _args.get("CurrentURIMetaData");
+		
+
+		// invoke model
+		
+		 model.setAVTransportURI(
+			LongHolder.toValue(
+			instanceID)
+		,
+
+StringHolder.toValue(
+			currentURI)
+		,
+
+StringHolder.toValue(
+			currentURIMetaData)
+		
+		 );
+		
+		// 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 SetNextAVTransportURIAction extends AbstractUPnPAction {
+
+	AVTransportModel model;
+	
+	// HERE specific action members
+	
+	public SetNextAVTransportURIAction(
+	    UPnPService upnpService,
+		AVTransportModel model
+	){
+		super(
+			upnpService,
+			"SetNextAVTransportURI",
+			""
+		);
+		this.model=model;
+		
+			addInArg(
+				"InstanceID",
+				upnpService.getStateVariable("A_ARG_TYPE_InstanceID")
+			);
+		
+			addInArg(
+				"NextURI",
+				upnpService.getStateVariable("NextAVTransportURI")
+			);
+		
+			addInArg(
+				"NextURIMetaData",
+				upnpService.getStateVariable("NextAVTransportURIMetaData")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	java.lang.Long instanceID = (java.lang.Long) _args.get("InstanceID");
+		java.lang.String nextURI = (java.lang.String) _args.get("NextURI");
+		java.lang.String nextURIMetaData = (java.lang.String) _args.get("NextURIMetaData");
+		
+
+		// invoke model
+		
+		 model.setNextAVTransportURI(
+			LongHolder.toValue(
+			instanceID)
+		,
+
+StringHolder.toValue(
+			nextURI)
+		,
+
+StringHolder.toValue(
+			nextURIMetaData)
+		
+		 );
+		
+		// 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 GetMediaInfoAction extends AbstractUPnPAction {
+
+	AVTransportModel model;
+	
+	// HERE specific action members
+	
+	public GetMediaInfoAction(
+	    UPnPService upnpService,
+		AVTransportModel model
+	){
+		super(
+			upnpService,
+			"GetMediaInfo",
+			""
+		);
+		this.model=model;
+		
+			addInArg(
+				"InstanceID",
+				upnpService.getStateVariable("A_ARG_TYPE_InstanceID")
+			);
+		
+			addOutArg(
+				"NrTracks",
+				upnpService.getStateVariable("NumberOfTracks")
+			);
+		
+			addOutArg(
+				"MediaDuration",
+				upnpService.getStateVariable("CurrentMediaDuration")
+			);
+		
+			addOutArg(
+				"CurrentURI",
+				upnpService.getStateVariable("AVTransportURI")
+			);
+		
+			addOutArg(
+				"CurrentURIMetaData",
+				upnpService.getStateVariable("AVTransportURIMetaData")
+			);
+		
+			addOutArg(
+				"NextURI",
+				upnpService.getStateVariable("NextAVTransportURI")
+			);
+		
+			addOutArg(
+				"NextURIMetaData",
+				upnpService.getStateVariable("NextAVTransportURIMetaData")
+			);
+		
+			addOutArg(
+				"PlayMedium",
+				upnpService.getStateVariable("PlaybackStorageMedium")
+			);
+		
+			addOutArg(
+				"RecordMedium",
+				upnpService.getStateVariable("RecordStorageMedium")
+			);
+		
+			addOutArg(
+				"WriteStatus",
+				upnpService.getStateVariable("RecordMediumWriteStatus")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	java.lang.Long instanceID = (java.lang.Long) _args.get("InstanceID");
+		LongHolder nrTracks = new LongHolder();
+		StringHolder mediaDuration = new StringHolder();
+		StringHolder currentURI = new StringHolder();
+		StringHolder currentURIMetaData = new StringHolder();
+		StringHolder nextURI = new StringHolder();
+		StringHolder nextURIMetaData = new StringHolder();
+		StringHolder playMedium = new StringHolder();
+		StringHolder recordMedium = new StringHolder();
+		StringHolder writeStatus = new StringHolder();
+		
+
+		// invoke model
+		
+		 model.getMediaInfo(
+			LongHolder.toValue(
+			instanceID)
+		,
+
+nrTracks,
+
+mediaDuration,
+
+currentURI,
+
+currentURIMetaData,
+
+nextURI,
+
+nextURIMetaData,
+
+playMedium,
+
+recordMedium,
+
+writeStatus
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+			_result.put("NrTracks",nrTracks.getObject());
+			// java.lang.Long
+			_result.put("MediaDuration",mediaDuration.getObject());
+			// java.lang.String
+			_result.put("CurrentURI",currentURI.getObject());
+			// java.lang.String
+			_result.put("CurrentURIMetaData",currentURIMetaData.getObject());
+			// java.lang.String
+			_result.put("NextURI",nextURI.getObject());
+			// java.lang.String
+			_result.put("NextURIMetaData",nextURIMetaData.getObject());
+			// java.lang.String
+			_result.put("PlayMedium",playMedium.getObject());
+			// java.lang.String
+			_result.put("RecordMedium",recordMedium.getObject());
+			// java.lang.String
+			_result.put("WriteStatus",writeStatus.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 GetTransportInfoAction extends AbstractUPnPAction {
+
+	AVTransportModel model;
+	
+	// HERE specific action members
+	
+	public GetTransportInfoAction(
+	    UPnPService upnpService,
+		AVTransportModel model
+	){
+		super(
+			upnpService,
+			"GetTransportInfo",
+			""
+		);
+		this.model=model;
+		
+			addInArg(
+				"InstanceID",
+				upnpService.getStateVariable("A_ARG_TYPE_InstanceID")
+			);
+		
+			addOutArg(
+				"CurrentTransportState",
+				upnpService.getStateVariable("TransportState")
+			);
+		
+			addOutArg(
+				"CurrentTransportStatus",
+				upnpService.getStateVariable("TransportStatus")
+			);
+		
+			addOutArg(
+				"CurrentSpeed",
+				upnpService.getStateVariable("TransportPlaySpeed")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	java.lang.Long instanceID = (java.lang.Long) _args.get("InstanceID");
+		StringHolder currentTransportState = new StringHolder();
+		StringHolder currentTransportStatus = new StringHolder();
+		StringHolder currentSpeed = new StringHolder();
+		
+
+		// invoke model
+		
+		 model.getTransportInfo(
+			LongHolder.toValue(
+			instanceID)
+		,
+
+currentTransportState,
+
+currentTransportStatus,
+
+currentSpeed
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+			_result.put("CurrentTransportState",currentTransportState.getObject());
+			// java.lang.String
+			_result.put("CurrentTransportStatus",currentTransportStatus.getObject());
+			// java.lang.String
+			_result.put("CurrentSpeed",currentSpeed.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 GetPositionInfoAction extends AbstractUPnPAction {
+
+	AVTransportModel model;
+	
+	// HERE specific action members
+	
+	public GetPositionInfoAction(
+	    UPnPService upnpService,
+		AVTransportModel model
+	){
+		super(
+			upnpService,
+			"GetPositionInfo",
+			""
+		);
+		this.model=model;
+		
+			addInArg(
+				"InstanceID",
+				upnpService.getStateVariable("A_ARG_TYPE_InstanceID")
+			);
+		
+			addOutArg(
+				"Track",
+				upnpService.getStateVariable("CurrentTrack")
+			);
+		
+			addOutArg(
+				"TrackDuration",
+				upnpService.getStateVariable("CurrentTrackDuration")
+			);
+		
+			addOutArg(
+				"TrackMetaData",
+				upnpService.getStateVariable("CurrentTrackMetaData")
+			);
+		
+			addOutArg(
+				"TrackURI",
+				upnpService.getStateVariable("CurrentTrackURI")
+			);
+		
+			addOutArg(
+				"RelTime",
+				upnpService.getStateVariable("RelativeTimePosition")
+			);
+		
+			addOutArg(
+				"AbsTime",
+				upnpService.getStateVariable("AbsoluteTimePosition")
+			);
+		
+			addOutArg(
+				"RelCount",
+				upnpService.getStateVariable("RelativeCounterPosition")
+			);
+		
+			addOutArg(
+				"AbsCount",
+				upnpService.getStateVariable("AbsoluteCounterPosition")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	java.lang.Long instanceID = (java.lang.Long) _args.get("InstanceID");
+		LongHolder track = new LongHolder();
+		StringHolder trackDuration = new StringHolder();
+		StringHolder trackMetaData = new StringHolder();
+		StringHolder trackURI = new StringHolder();
+		StringHolder relTime = new StringHolder();
+		StringHolder absTime = new StringHolder();
+		IntegerHolder relCount = new IntegerHolder();
+		IntegerHolder absCount = new IntegerHolder();
+		
+
+		// invoke model
+		
+		 model.getPositionInfo(
+			LongHolder.toValue(
+			instanceID)
+		,
+
+track,
+
+trackDuration,
+
+trackMetaData,
+
+trackURI,
+
+relTime,
+
+absTime,
+
+relCount,
+
+absCount
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+			_result.put("Track",track.getObject());
+			// java.lang.Long
+			_result.put("TrackDuration",trackDuration.getObject());
+			// java.lang.String
+			_result.put("TrackMetaData",trackMetaData.getObject());
+			// java.lang.String
+			_result.put("TrackURI",trackURI.getObject());
+			// java.lang.String
+			_result.put("RelTime",relTime.getObject());
+			// java.lang.String
+			_result.put("AbsTime",absTime.getObject());
+			// java.lang.String
+			_result.put("RelCount",relCount.getObject());
+			// java.lang.Integer
+			_result.put("AbsCount",absCount.getObject());
+			// java.lang.Integer
+		return _result.isEmpty()?null:_result;
+	}
+
+
+	public void start(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+	
+	public void stop(BundleContext bundleContext) throws Exception {
+		// TODO
+	}
+};
+
+
+public class GetDeviceCapabilitiesAction extends AbstractUPnPAction {
+
+	AVTransportModel model;
+	
+	// HERE specific action members
+	
+	public GetDeviceCapabilitiesAction(
+	    UPnPService upnpService,
+		AVTransportModel model
+	){
+		super(
+			upnpService,
+			"GetDeviceCapabilities",
+			""
+		);
+		this.model=model;
+		
+			addInArg(
+				"InstanceID",
+				upnpService.getStateVariable("A_ARG_TYPE_InstanceID")
+			);
+		
+			addOutArg(
+				"PlayMedia",
+				upnpService.getStateVariable("PossiblePlaybackStorageMedia")
+			);
+		
+			addOutArg(
+				"RecMedia",
+				upnpService.getStateVariable("PossibleRecordStorageMedia")
+			);
+		
+			addOutArg(
+				"RecQualityModes",
+				upnpService.getStateVariable("PossibleRecordQualityModes")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	java.lang.Long instanceID = (java.lang.Long) _args.get("InstanceID");
+		StringHolder playMedia = new StringHolder();
+		StringHolder recMedia = new StringHolder();
+		StringHolder recQualityModes = new StringHolder();
+		
+
+		// invoke model
+		
+		 model.getDeviceCapabilities(
+			LongHolder.toValue(
+			instanceID)
+		,
+
+playMedia,
+
+recMedia,
+
+recQualityModes
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+			_result.put("PlayMedia",playMedia.getObject());
+			// java.lang.String
+			_result.put("RecMedia",recMedia.getObject());
+			// java.lang.String
+			_result.put("RecQualityModes",recQualityModes.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 GetTransportSettingsAction extends AbstractUPnPAction {
+
+	AVTransportModel model;
+	
+	// HERE specific action members
+	
+	public GetTransportSettingsAction(
+	    UPnPService upnpService,
+		AVTransportModel model
+	){
+		super(
+			upnpService,
+			"GetTransportSettings",
+			""
+		);
+		this.model=model;
+		
+			addInArg(
+				"InstanceID",
+				upnpService.getStateVariable("A_ARG_TYPE_InstanceID")
+			);
+		
+			addOutArg(
+				"PlayMode",
+				upnpService.getStateVariable("CurrentPlayMode")
+			);
+		
+			addOutArg(
+				"RecQualityMode",
+				upnpService.getStateVariable("CurrentRecordQualityMode")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	java.lang.Long instanceID = (java.lang.Long) _args.get("InstanceID");
+		StringHolder playMode = new StringHolder();
+		StringHolder recQualityMode = new StringHolder();
+		
+
+		// invoke model
+		
+		 model.getTransportSettings(
+			LongHolder.toValue(
+			instanceID)
+		,
+
+playMode,
+
+recQualityMode
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+			_result.put("PlayMode",playMode.getObject());
+			// java.lang.String
+			_result.put("RecQualityMode",recQualityMode.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 StopAction extends AbstractUPnPAction {
+
+	AVTransportModel model;
+	
+	// HERE specific action members
+	
+	public StopAction(
+	    UPnPService upnpService,
+		AVTransportModel model
+	){
+		super(
+			upnpService,
+			"Stop",
+			""
+		);
+		this.model=model;
+		
+			addInArg(
+				"InstanceID",
+				upnpService.getStateVariable("A_ARG_TYPE_InstanceID")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	java.lang.Long instanceID = (java.lang.Long) _args.get("InstanceID");
+		
+
+		// invoke model
+		
+		 model.stop(
+			LongHolder.toValue(
+			instanceID)
+		
+		 );
+		
+		// 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 PlayAction extends AbstractUPnPAction {
+
+	AVTransportModel model;
+	
+	// HERE specific action members
+	
+	public PlayAction(
+	    UPnPService upnpService,
+		AVTransportModel model
+	){
+		super(
+			upnpService,
+			"Play",
+			""
+		);
+		this.model=model;
+		
+			addInArg(
+				"InstanceID",
+				upnpService.getStateVariable("A_ARG_TYPE_InstanceID")
+			);
+		
+			addInArg(
+				"Speed",
+				upnpService.getStateVariable("TransportPlaySpeed")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	java.lang.Long instanceID = (java.lang.Long) _args.get("InstanceID");
+		java.lang.String speed = (java.lang.String) _args.get("Speed");
+		
+
+		// invoke model
+		
+		 model.play(
+			LongHolder.toValue(
+			instanceID)
+		,
+
+StringHolder.toValue(
+			speed)
+		
+		 );
+		
+		// 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 PauseAction extends AbstractUPnPAction {
+
+	AVTransportModel model;
+	
+	// HERE specific action members
+	
+	public PauseAction(
+	    UPnPService upnpService,
+		AVTransportModel model
+	){
+		super(
+			upnpService,
+			"Pause",
+			""
+		);
+		this.model=model;
+		
+			addInArg(
+				"InstanceID",
+				upnpService.getStateVariable("A_ARG_TYPE_InstanceID")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	java.lang.Long instanceID = (java.lang.Long) _args.get("InstanceID");
+		
+
+		// invoke model
+		
+		 model.pause(
+			LongHolder.toValue(
+			instanceID)
+		
+		 );
+		
+		// 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 RecordAction extends AbstractUPnPAction {
+
+	AVTransportModel model;
+	
+	// HERE specific action members
+	
+	public RecordAction(
+	    UPnPService upnpService,
+		AVTransportModel model
+	){
+		super(
+			upnpService,
+			"Record",
+			""
+		);
+		this.model=model;
+		
+			addInArg(
+				"InstanceID",
+				upnpService.getStateVariable("A_ARG_TYPE_InstanceID")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	java.lang.Long instanceID = (java.lang.Long) _args.get("InstanceID");
+		
+
+		// invoke model
+		
+		 model.record(
+			LongHolder.toValue(
+			instanceID)
+		
+		 );
+		
+		// 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 SeekAction extends AbstractUPnPAction {
+
+	AVTransportModel model;
+	
+	// HERE specific action members
+	
+	public SeekAction(
+	    UPnPService upnpService,
+		AVTransportModel model
+	){
+		super(
+			upnpService,
+			"Seek",
+			""
+		);
+		this.model=model;
+		
+			addInArg(
+				"InstanceID",
+				upnpService.getStateVariable("A_ARG_TYPE_InstanceID")
+			);
+		
+			addInArg(
+				"Unit",
+				upnpService.getStateVariable("A_ARG_TYPE_SeekMode")
+			);
+		
+			addInArg(
+				"Target",
+				upnpService.getStateVariable("A_ARG_TYPE_SeekTarget")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	java.lang.Long instanceID = (java.lang.Long) _args.get("InstanceID");
+		java.lang.String unit = (java.lang.String) _args.get("Unit");
+		java.lang.String target = (java.lang.String) _args.get("Target");
+		
+
+		// invoke model
+		
+		 model.seek(
+			LongHolder.toValue(
+			instanceID)
+		,
+
+StringHolder.toValue(
+			unit)
+		,
+
+StringHolder.toValue(
+			target)
+		
+		 );
+		
+		// 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 NextAction extends AbstractUPnPAction {
+
+	AVTransportModel model;
+	
+	// HERE specific action members
+	
+	public NextAction(
+	    UPnPService upnpService,
+		AVTransportModel model
+	){
+		super(
+			upnpService,
+			"Next",
+			""
+		);
+		this.model=model;
+		
+			addInArg(
+				"InstanceID",
+				upnpService.getStateVariable("A_ARG_TYPE_InstanceID")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	java.lang.Long instanceID = (java.lang.Long) _args.get("InstanceID");
+		
+
+		// invoke model
+		
+		 model.next(
+			LongHolder.toValue(
+			instanceID)
+		
+		 );
+		
+		// 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 PreviousAction extends AbstractUPnPAction {
+
+	AVTransportModel model;
+	
+	// HERE specific action members
+	
+	public PreviousAction(
+	    UPnPService upnpService,
+		AVTransportModel model
+	){
+		super(
+			upnpService,
+			"Previous",
+			""
+		);
+		this.model=model;
+		
+			addInArg(
+				"InstanceID",
+				upnpService.getStateVariable("A_ARG_TYPE_InstanceID")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	java.lang.Long instanceID = (java.lang.Long) _args.get("InstanceID");
+		
+
+		// invoke model
+		
+		 model.previous(
+			LongHolder.toValue(
+			instanceID)
+		
+		 );
+		
+		// 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 SetPlayModeAction extends AbstractUPnPAction {
+
+	AVTransportModel model;
+	
+	// HERE specific action members
+	
+	public SetPlayModeAction(
+	    UPnPService upnpService,
+		AVTransportModel model
+	){
+		super(
+			upnpService,
+			"SetPlayMode",
+			""
+		);
+		this.model=model;
+		
+			addInArg(
+				"InstanceID",
+				upnpService.getStateVariable("A_ARG_TYPE_InstanceID")
+			);
+		
+			addInArg(
+				"NewPlayMode",
+				upnpService.getStateVariable("CurrentPlayMode")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	java.lang.Long instanceID = (java.lang.Long) _args.get("InstanceID");
+		java.lang.String newPlayMode = (java.lang.String) _args.get("NewPlayMode");
+		
+
+		// invoke model
+		
+		 model.setPlayMode(
+			LongHolder.toValue(
+			instanceID)
+		,
+
+StringHolder.toValue(
+			newPlayMode)
+		
+		 );
+		
+		// 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 SetRecordQualityModeAction extends AbstractUPnPAction {
+
+	AVTransportModel model;
+	
+	// HERE specific action members
+	
+	public SetRecordQualityModeAction(
+	    UPnPService upnpService,
+		AVTransportModel model
+	){
+		super(
+			upnpService,
+			"SetRecordQualityMode",
+			""
+		);
+		this.model=model;
+		
+			addInArg(
+				"InstanceID",
+				upnpService.getStateVariable("A_ARG_TYPE_InstanceID")
+			);
+		
+			addInArg(
+				"NewRecordQualityMode",
+				upnpService.getStateVariable("CurrentRecordQualityMode")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	java.lang.Long instanceID = (java.lang.Long) _args.get("InstanceID");
+		java.lang.String newRecordQualityMode = (java.lang.String) _args.get("NewRecordQualityMode");
+		
+
+		// invoke model
+		
+		 model.setRecordQualityMode(
+			LongHolder.toValue(
+			instanceID)
+		,
+
+StringHolder.toValue(
+			newRecordQualityMode)
+		
+		 );
+		
+		// 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 GetCurrentTransportActionsAction extends AbstractUPnPAction {
+
+	AVTransportModel model;
+	
+	// HERE specific action members
+	
+	public GetCurrentTransportActionsAction(
+	    UPnPService upnpService,
+		AVTransportModel model
+	){
+		super(
+			upnpService,
+			"GetCurrentTransportActions",
+			""
+		);
+		this.model=model;
+		
+			addInArg(
+				"InstanceID",
+				upnpService.getStateVariable("A_ARG_TYPE_InstanceID")
+			);
+		
+			addOutArg(
+				"Actions",
+				upnpService.getStateVariable("CurrentTransportActions")
+			);
+		
+	}
+
+	/**
+	 * @see org.osgi.service.upnp.UPnPAction#invoke(java.util.Dictionary)
+	 */
+	public Dictionary invoke(Dictionary _args) throws Exception {
+
+	java.lang.Long instanceID = (java.lang.Long) _args.get("InstanceID");
+		StringHolder actions = new StringHolder();
+		
+
+		// invoke model
+		
+		 model.getCurrentTransportActions(
+			LongHolder.toValue(
+			instanceID)
+		,
+
+actions
+		 );
+		
+		// build returned Dictionary		
+		Dictionary _result = new Hashtable();
+		
+			_result.put("Actions",actions.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/media/service/AVTransport.java
------------------------------------------------------------------------------
    svn:eol-style = native