[dss-commits] r8829 - in dss/trunk: core tests webservices

dss-commits at forum.digitalstrom.org dss-commits at forum.digitalstrom.org
Tue Oct 6 17:35:18 CEST 2009


Author: pstaehlin
Date: 2009-10-06 17:35:18 +0200 (Tue, 06 Oct 2009)
New Revision: 8829

Modified:
   dss/trunk/core/base.cpp
   dss/trunk/core/base.h
   dss/trunk/core/dss.cpp
   dss/trunk/core/eventinterpreterplugins.cpp
   dss/trunk/core/eventinterpreterplugins.h
   dss/trunk/core/model.cpp
   dss/trunk/core/model.h
   dss/trunk/core/session.cpp
   dss/trunk/core/session.h
   dss/trunk/core/setbuilder.cpp
   dss/trunk/core/setbuilder.h
   dss/trunk/core/webserver.cpp
   dss/trunk/tests/eventtests.cpp
   dss/trunk/tests/modeltests.cpp
   dss/trunk/webservices/dss.wsdl
   dss/trunk/webservices/dss.xsd
   dss/trunk/webservices/model_soap.cpp
   dss/trunk/webservices/model_soap.h
   dss/trunk/webservices/soapC.cpp
   dss/trunk/webservices/soapH.h
   dss/trunk/webservices/soapServer.cpp
   dss/trunk/webservices/soapStub.h
   dss/trunk/webservices/soapdssObject.h
   dss/trunk/webservices/webservices.cpp
Log:
* Use set-specs for webservices
  => Closes #158
* Removed dependency on dss.h in SetBuilder
* Support for restricting a set by
** zone('name')
** group('name')



Modified: dss/trunk/core/base.cpp
===================================================================
--- dss/trunk/core/base.cpp	2009-10-06 14:06:12 UTC (rev 8828)
+++ dss/trunk/core/base.cpp	2009-10-06 15:35:18 UTC (rev 8829)
@@ -26,6 +26,8 @@
 #include <cstring>
 #include <sstream>
 
+#include "foreach.h"
+
 namespace dss {
 
   //============================================= std::string parsing/formatting/conversion
@@ -212,7 +214,21 @@
     (str.compare( 0, lenSearch, searchString ) == 0);
   } // beginsWith
 
+  std::string join(const std::vector<std::string>& _strings, const std::string& _delimiter) {
+    std::ostringstream sstream;
+    bool first = true;
+    foreach(const std::string& string, _strings) {
+      if(first) {
+        first = false;
+        sstream << string;
+      } else {
+        sstream << _delimiter << string;
+      }
+    }
+    return sstream.str();
+  } // join
 
+
 #define                 P_CCITT  0x8408
 //#define                 P_CCITT     0x1021
   static int              crc_tabccitt_init       = false;

Modified: dss/trunk/core/base.h
===================================================================
--- dss/trunk/core/base.h	2009-10-06 14:06:12 UTC (rev 8828)
+++ dss/trunk/core/base.h	2009-10-06 15:35:18 UTC (rev 8829)
@@ -43,34 +43,7 @@
 
 namespace HASH_NAMESPACE
 {
-/*
-  template<> struct hash<const wchar_t*>  {
-    size_t operator()(const wchar_t* x) const {
-      size_t result = static_cast<size_t>(12342349871239342341ULL);
-      int len = wcslen(x);
-      for(;len >= 0; len--) {
-        result ^= static_cast<size_t>(*x++);
-        result += static_cast<size_t>(987243059872341ULL);
-      }
-      return result;
-    }
-  };
-
   template<>
-  struct hash< std::wstring >  {
-    size_t operator()( const std::wstring& x ) const  {
-      return hash< const wchar_t* >()( x.c_str() );
-    }
-  };
-
-  template<>
-  struct hash< const std::wstring > {
-    size_t operator()( const std::wstring& x ) const {
-      return hash< const wchar_t* >()( x.c_str() );
-    }
-  };
-*/
-  template<>
   struct hash<const std::string> {
     size_t operator()(const std::string& x) const {
       return HASH_NAMESPACE::hash<const char*>()(x.c_str());
@@ -118,6 +91,9 @@
   bool endsWith(const std::string& str, const std::string& searchString);
   bool beginsWith(const std::string& str, const std::string& searchString);
 
+  std::string trim(const std::string& _str);
+  std::string join(const std::vector<std::string>& _strings, const std::string& _delimiter);
+
   std::string urlDecode(const std::string& _in);
 
   //============================================= Encoding helpers
@@ -128,7 +104,6 @@
   uint16_t crc16(unsigned const char* _data, const int _size);
   uint16_t update_crc(uint16_t _crc, const unsigned char& c);
 
-  std::string trim(const std::string& _str);
 
   //============================================= Helper classes
 

Modified: dss/trunk/core/dss.cpp
===================================================================
--- dss/trunk/core/dss.cpp	2009-10-06 14:06:12 UTC (rev 8828)
+++ dss/trunk/core/dss.cpp	2009-10-06 15:35:18 UTC (rev 8829)
@@ -206,7 +206,7 @@
   void DSS::addDefaultInterpreterPlugins() {
     EventInterpreterPlugin* plugin = new EventInterpreterPluginRaiseEvent(m_pEventInterpreter.get());
     m_pEventInterpreter->addPlugin(plugin);
-    plugin = new EventInterpreterPluginDS485(m_pDS485Interface.get(), m_pEventInterpreter.get());
+    plugin = new EventInterpreterPluginDS485(getApartment(), m_pDS485Interface.get(), m_pEventInterpreter.get());
     m_pEventInterpreter->addPlugin(plugin);
     plugin = new EventInterpreterPluginJavascript(m_pEventInterpreter.get());
     m_pEventInterpreter->addPlugin(plugin);

Modified: dss/trunk/core/eventinterpreterplugins.cpp
===================================================================
--- dss/trunk/core/eventinterpreterplugins.cpp	2009-10-06 14:06:12 UTC (rev 8828)
+++ dss/trunk/core/eventinterpreterplugins.cpp	2009-10-06 15:35:18 UTC (rev 8829)
@@ -128,9 +128,10 @@
 
   //================================================== EventInterpreterPluginDS485
 
-  EventInterpreterPluginDS485::EventInterpreterPluginDS485(DS485Interface* _pInterface, EventInterpreter* _pInterpreter)
+  EventInterpreterPluginDS485::EventInterpreterPluginDS485(Apartment& _apartment, DS485Interface* _pInterface, EventInterpreter* _pInterpreter)
   : EventInterpreterPlugin("bus_handler", _pInterpreter),
-    m_pInterface(_pInterface)
+    m_pInterface(_pInterface),
+    m_Apartment(_apartment)
   { } // ctor
 
   class SubscriptionOptionsDS485 : public SubscriptionOptions {
@@ -260,7 +261,7 @@
       // else
       //   send to context's parent-entity (zone)
 
-      SetBuilder builder;
+      SetBuilder builder(m_Apartment);
       Set to;
       if(_event.hasPropertySet(EventPropertyLocation)) {
         to = builder.buildSet(_event.getPropertyByName(EventPropertyLocation), &_event.getRaisedAtZone());

Modified: dss/trunk/core/eventinterpreterplugins.h
===================================================================
--- dss/trunk/core/eventinterpreterplugins.h	2009-10-06 14:06:12 UTC (rev 8828)
+++ dss/trunk/core/eventinterpreterplugins.h	2009-10-06 15:35:18 UTC (rev 8829)
@@ -53,9 +53,10 @@
   class EventInterpreterPluginDS485 : public EventInterpreterPlugin {
   private:
     DS485Interface* m_pInterface;
+    Apartment& m_Apartment;
     string getParameter(XMLNodeList& _nodes, const string& _parameterName);
   public:
-    EventInterpreterPluginDS485(DS485Interface* _pInterface, EventInterpreter* _pInterpreter);
+    EventInterpreterPluginDS485(Apartment& _apartment, DS485Interface* _pInterface, EventInterpreter* _pInterpreter);
 
     virtual SubscriptionOptions* createOptionsFromXML(XMLNodeList& _nodes);
 

Modified: dss/trunk/core/model.cpp
===================================================================
--- dss/trunk/core/model.cpp	2009-10-06 14:06:12 UTC (rev 8828)
+++ dss/trunk/core/model.cpp	2009-10-06 15:35:18 UTC (rev 8829)
@@ -472,8 +472,18 @@
       // return a copy of this set if the broadcast zone was requested
       return *this;
     }
-  } // getByZone
+  } // getByZone(id)
 
+  Set Set::getByZone(const std::string& _zoneName) const {
+    Set result;
+    if(isEmpty()) {
+      return result;
+    } else {
+      Zone& zone = get(0).getDevice().getApartment().getZone(_zoneName);
+      return getByZone(zone.getZoneID());
+    }
+  } // getByZone(name)
+
   Set Set::getByModulator(const int _modulatorID) const {
     Set result;
     foreach(const DeviceReference& dev, m_ContainedDevices) {

Modified: dss/trunk/core/model.h
===================================================================
--- dss/trunk/core/model.h	2009-10-06 14:06:12 UTC (rev 8828)
+++ dss/trunk/core/model.h	2009-10-06 15:35:18 UTC (rev 8829)
@@ -426,6 +426,9 @@
     /** Returns a subset that contains all devices belonging to Zone \a _zoneID. */
     Set getByZone(int _zoneID) const;
 
+    /** Returns a subset that contains all devices belonging to Zone \a _zoneName */
+    Set getByZone(const std::string& _zoneName) const;
+
     /** Returns a subset that contains all devices belonging to Modulator \a _modulatorID */
     Set getByModulator(const int _modulatorID) const;
     /** Returns a subset that contains all devices belonging to Modulator \a _modulator */

Modified: dss/trunk/core/session.cpp
===================================================================
--- dss/trunk/core/session.cpp	2009-10-06 14:06:12 UTC (rev 8828)
+++ dss/trunk/core/session.cpp	2009-10-06 15:35:18 UTC (rev 8829)
@@ -34,44 +34,10 @@
     return true;//m_LastTouched.addMinute(TheSessionTimeout).after(DateTime());
   } // isStillValid
 
-  bool Session::hasSetWithID(const int _id) {
-    SetsByID::iterator iKey = m_SetsByID.find(_id);
-    return iKey != m_SetsByID.end();
-  } // hasSetWithID
-
-  Set& Session::getSetByID(const int _id) {
-    SetsByID::iterator iEntry = m_SetsByID.find(_id);
-    return iEntry->second;
-  } // getSetByID
-
-  Set& Session::allocateSet(int& id) {
-    id = ++m_LastSetNr;
-    m_SetsByID[id] = Set();
-    return m_SetsByID[id];
-  } // allocateSet
-
-  Set& Session::addSet(Set _set, int& id) {
-    id = ++m_LastSetNr;
-    m_SetsByID[id] = _set;
-    return m_SetsByID[id];
-  } // addSet
-
-  void Session::freeSet(const int _id) {
-    m_SetsByID.erase(m_SetsByID.find(_id));
-  } // freeSet
-
   Session& Session::operator=(const Session& _other) {
-    m_LastSetNr = _other.m_LastSetNr;
     m_Token = _other.m_Token;
     m_LastTouched = _other.m_LastTouched;
-    m_SetsByID = _other.m_SetsByID;
-/*
-    for(SetsByID::const_iterator iEntry = m_SetsByID.begin(), e = m_SetsByID.end();
-        iEntry != e; ++iEntry)
-    {
-      m_SetsByID[iEntry->first] = iEntry->second;
-    }
-    */
+
     return *this;
   }
 

Modified: dss/trunk/core/session.h
===================================================================
--- dss/trunk/core/session.h	2009-10-06 14:06:12 UTC (rev 8828)
+++ dss/trunk/core/session.h	2009-10-06 15:35:18 UTC (rev 8829)
@@ -23,32 +23,19 @@
 #define SESSION_H_INCLUDED
 
 #include "datetools.h"
-#include "model.h"
 
-#include <map>
-
 namespace dss {
 
-  typedef std::map<const int, Set> SetsByID;
-
   class Session {
   private:
     int m_Token;
 
-    int m_LastSetNr;
     DateTime m_LastTouched;
-    SetsByID m_SetsByID;
   public:
     Session() {}
     Session(const int _tokenID);
 
     bool isStillValid();
-    bool hasSetWithID(const int _id);
-    Set& getSetByID(const int _id);
-    Set& allocateSet(int& _id);
-    void freeSet(const int id);
-    Set& addSet(Set _set, int& id);
-
     Session& operator=(const Session& _other);
   }; // Session
 

Modified: dss/trunk/core/setbuilder.cpp
===================================================================
--- dss/trunk/core/setbuilder.cpp	2009-10-06 14:06:12 UTC (rev 8828)
+++ dss/trunk/core/setbuilder.cpp	2009-10-06 15:35:18 UTC (rev 8829)
@@ -21,7 +21,6 @@
 
 #include "setbuilder.h"
 #include "base.h"
-#include "dss.h"
 
 #include <vector>
 #include <stdexcept>
@@ -31,8 +30,9 @@
 
 namespace dss {
 
-  SetBuilder::SetBuilder() {
-
+  SetBuilder::SetBuilder(Apartment& _apartment)
+  : m_Apartment(_apartment)
+  {
   } // ctor
 
   void SetBuilder::skipWhitespace(unsigned int& _index) {
@@ -62,6 +62,19 @@
     return dsid_t::fromString(trim(readParameter(_index)));
   } // readDSID
 
+  std::string SetBuilder::readString(unsigned int& _index) {
+    std::string result = trim(readParameter(_index));
+    if(result.size() >= 2) {
+      char first = result[0];
+      char last = result[result.size()-1];
+      if((first == '\'') && (last == '\'')) {
+        result = result.substr(1, result.size() - 2);
+        return result;
+      }
+    }
+    throw std::runtime_error("String should be enclosed by \"'\"");
+  } // readString
+
   Set SetBuilder::restrictByFunction(const string& _functionName, unsigned int& _index, const Set& _set, const Zone& _zone) {
     if(_index >= m_SetDescription.size()) {
       throw std::range_error("_index is out of bounds");
@@ -74,11 +87,21 @@
       dsid_t dsid = readDSID(_index);
       result.addDevice(_set.getByDSID(dsid));
     } else if(_functionName == "zone") {
-      int zoneID = readInt(_index);
-      result = _set.getByZone(zoneID);
+      if(m_SetDescription[_index] == '\'') {
+        std::string zoneName = readString(_index);
+        result = _set.getByZone(zoneName);
+      } else {
+        int zoneID = readInt(_index);
+        result = _set.getByZone(zoneID);
+      }
     } else if(_functionName == "group") {
-      int groupID = readInt(_index);
-      result = _set.getByZone(groupID);
+      if(m_SetDescription[_index] == '\'') {
+        std::string groupName = readString(_index);
+        result = _set.getByGroup(groupName);
+      } else {
+        int groupID = readInt(_index);
+        result = _set.getByGroup(groupID);
+      }
     } else if(_functionName == "fid") {
       int fid = readInt(_index);
       result = _set.getByFunctionID(fid);
@@ -88,6 +111,17 @@
     } else if(_functionName == "remove") {
       Set inner = parseSet(_index, _zone.getDevices(), _zone);
       result = _set.remove(inner);
+    } else if(_functionName == "addDevices") {
+      result = _set;
+      do {
+        if(m_SetDescription[_index] == '\'') {
+          std::string name = readString(_index);
+          result.addDevice(m_Apartment.getDeviceByName(name));
+        } else {
+          dsid_t dsid = readDSID(_index);
+          result.addDevice(m_Apartment.getDeviceByDSID(dsid));
+        }
+      } while(m_SetDescription[_index] == ',');
     }
     assert(m_SetDescription[_index] == ')' || m_SetDescription[_index] == ',');
     if(m_SetDescription[_index] == ',') {
@@ -138,7 +172,7 @@
     string entry = m_SetDescription.substr(_index, pos + 1 - _index );
     if(entry == ".") {
       _index = pos + 1;
-      Set newRoot = DSS::getInstance()->getApartment().getDevices();
+      Set newRoot = m_Apartment.getDevices();
       return parseSet(_index, newRoot, _context);
     } else if(m_SetDescription[pos] == '(') {
       _index = pos + 1;
@@ -177,7 +211,7 @@
 	  const Zone* context = _context;
     unsigned int index = 0;
 	  if((_context == NULL) || beginsWith(_setDescription, ".")) {
-		  context = &DSS::getInstance()->getApartment().getZone(0);
+		  context = &m_Apartment.getZone(0);
 		  result = context->getDevices();
 		  index = 0;
 	  } else {

Modified: dss/trunk/core/setbuilder.h
===================================================================
--- dss/trunk/core/setbuilder.h	2009-10-06 14:06:12 UTC (rev 8828)
+++ dss/trunk/core/setbuilder.h	2009-10-06 15:35:18 UTC (rev 8829)
@@ -30,9 +30,11 @@
 using std::string;
 
 namespace dss {
+
   class SetBuilder {
   private:
     std::string m_SetDescription;
+    Apartment& m_Apartment;
   protected:
 	  Set restrictBy(const string& _identifier, const Set& _set, const Zone& _zone);
 	  Set restrictByFunction(const string& _functionName, unsigned int& _index, const Set& _set, const Zone& _zone);
@@ -40,9 +42,10 @@
 	  std::string readParameter(unsigned int& _index);
 	  int readInt(unsigned int& _index);
 	  dsid_t readDSID(unsigned int& _index);
+	  std::string readString(unsigned int& _index);
 	  Set parseSet(unsigned int& _index, const Set& _set, const Zone& _context);
 	public:
-	  SetBuilder();
+	  SetBuilder(Apartment& _apartment);
 
 	  Set buildSet(const string& _setDescription, const Zone* _context);
   }; // SetBuilder

Modified: dss/trunk/core/webserver.cpp
===================================================================
--- dss/trunk/core/webserver.cpp	2009-10-06 14:06:12 UTC (rev 8828)
+++ dss/trunk/core/webserver.cpp	2009-10-06 15:35:18 UTC (rev 8829)
@@ -1149,7 +1149,7 @@
         sstream << "{" << ToJSONValue("self") << ":" << ToJSONValue(self + additionalPart) << "}";
         return JSONOk(sstream.str());
       } else if(endsWith(_method, "/getDevices")) {
-        SetBuilder builder;
+        SetBuilder builder(getDSS().getApartment());
         Set set = builder.buildSet(self, NULL);
         return JSONOk("{" + ToJSONValue(set, "devices") + "}");
       } else if(endsWith(_method, "/add")) {
@@ -1181,7 +1181,7 @@
         sstream << "{" << ToJSONValue("self") << ":" << ToJSONValue(self + additionalPart) << "}";
         return JSONOk(sstream.str());
       } else if(isDeviceInterfaceCall(_method)) {
-        SetBuilder builder;
+        SetBuilder builder(getDSS().getApartment());
         Set set = builder.buildSet(self, NULL);
         return callDeviceInterface(_method, _parameter, _connection, &set, _session);
       } else {

Modified: dss/trunk/tests/eventtests.cpp
===================================================================
--- dss/trunk/tests/eventtests.cpp	2009-10-06 14:06:12 UTC (rev 8828)
+++ dss/trunk/tests/eventtests.cpp	2009-10-06 15:35:18 UTC (rev 8829)
@@ -170,11 +170,11 @@
 
 
 BOOST_AUTO_TEST_CASE(testSetBuilder) {
-  SetBuilder setBuilder;
-
   Apartment apt(NULL);
   apt.initialize();
 
+  SetBuilder setBuilder(apt);
+
   Device& dev1 = apt.allocateDevice(dsid_t(0,1));
   dev1.setName("dev1");
   dev1.setShortAddress(1);
@@ -232,7 +232,7 @@
 
   EventInterpreterPlugin* plugin = new EventInterpreterPluginRaiseEvent(&interpreter);
   interpreter.addPlugin(plugin);
-  plugin = new EventInterpreterPluginDS485(&proxy, &interpreter);
+  plugin = new EventInterpreterPluginDS485(apt, &proxy, &interpreter);
   interpreter.addPlugin(plugin);
 
   BOOST_CHECK_EQUAL(interpreter.getNumberOfSubscriptions(), 0);

Modified: dss/trunk/tests/modeltests.cpp
===================================================================
--- dss/trunk/tests/modeltests.cpp	2009-10-06 14:06:12 UTC (rev 8828)
+++ dss/trunk/tests/modeltests.cpp	2009-10-06 15:35:18 UTC (rev 8829)
@@ -194,7 +194,7 @@
   Device& dev4 = apt.allocateDevice(dsid_t(0,4));
   dev4.setShortAddress(4);
 
-  SetBuilder builder;
+  SetBuilder builder(apt);
   Set builderTest = builder.buildSet("yellow", &apt.getZone(0));
 
   BOOST_CHECK_EQUAL(1, builderTest.length());
@@ -283,6 +283,12 @@
 
   builderTest = builder.buildSet("remove(yellow)", &apt.getZone(0));
   BOOST_CHECK_EQUAL(3, builderTest.length());
+
+  builderTest = builder.buildSet("group('broadcast')", &apt.getZone(0));
+  BOOST_CHECK_EQUAL(4, builderTest.length());
+
+  builderTest = builder.buildSet("group('broadcast').remove(dsid(1))", &apt.getZone(0));
+  BOOST_CHECK_EQUAL(3, builderTest.length());
 } // testSetBuilder
 
 BOOST_AUTO_TEST_SUITE_END()

Modified: dss/trunk/webservices/dss.wsdl
===================================================================
--- dss/trunk/webservices/dss.wsdl	2009-10-06 14:06:12 UTC (rev 8828)
+++ dss/trunk/webservices/dss.wsdl	2009-10-06 15:35:18 UTC (rev 8829)
@@ -65,23 +65,6 @@
    </complexType>
   </element>
   <!-- operation request element -->
-  <element name="FreeSet">
-   <complexType>
-    <sequence>
-     <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-    </sequence>
-   </complexType>
-  </element>
-  <!-- operation response element -->
-  <element name="FreeSetResponse">
-   <complexType>
-    <sequence>
-     <element name="result" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
-    </sequence>
-   </complexType>
-  </element>
-  <!-- operation request element -->
   <element name="ApartmentCreateSetFromGroup">
    <complexType>
     <sequence>
@@ -94,7 +77,7 @@
   <element name="ApartmentCreateSetFromGroupResponse">
    <complexType>
     <sequence>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="result" type="xsd:string" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>
   </element>
@@ -111,7 +94,7 @@
   <element name="ApartmentCreateSetFromDeviceIDsResponse">
    <complexType>
     <sequence>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="result" type="xsd:string" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>
   </element>
@@ -128,27 +111,11 @@
   <element name="ApartmentCreateSetFromDeviceNamesResponse">
    <complexType>
     <sequence>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="result" type="xsd:string" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>
   </element>
   <!-- operation request element -->
-  <element name="ApartmentCreateEmptySet">
-   <complexType>
-    <sequence>
-     <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-    </sequence>
-   </complexType>
-  </element>
-  <!-- operation response element -->
-  <element name="ApartmentCreateEmptySetResponse">
-   <complexType>
-    <sequence>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-    </sequence>
-   </complexType>
-  </element>
-  <!-- operation request element -->
   <element name="ApartmentGetDevices">
    <complexType>
     <sequence>
@@ -160,7 +127,7 @@
   <element name="ApartmentGetDevicesResponse">
    <complexType>
     <sequence>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="result" type="xsd:string" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>
   </element>
@@ -186,7 +153,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
      <element name="name" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
     </sequence>
    </complexType>
@@ -195,7 +162,7 @@
   <element name="SetAddDeviceByNameResponse">
    <complexType>
     <sequence>
-     <element name="result" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
+     <element name="result" type="xsd:string" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>
   </element>
@@ -204,7 +171,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
      <element name="deviceID" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
     </sequence>
    </complexType>
@@ -213,7 +180,7 @@
   <element name="SetAddDeviceByIDResponse">
    <complexType>
     <sequence>
-     <element name="result" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
+     <element name="result" type="xsd:string" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>
   </element>
@@ -222,7 +189,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
      <element name="deviceID" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
     </sequence>
    </complexType>
@@ -231,7 +198,7 @@
   <element name="SetRemoveDeviceResponse">
    <complexType>
     <sequence>
-     <element name="result" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
+     <element name="result" type="xsd:string" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>
   </element>
@@ -240,8 +207,8 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID1" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID2" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec1" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
+     <element name="setSpec2" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
     </sequence>
    </complexType>
   </element>
@@ -249,7 +216,7 @@
   <element name="SetCombineResponse">
    <complexType>
     <sequence>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="result" type="xsd:string" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>
   </element>
@@ -258,8 +225,8 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setIDToRemove" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
+     <element name="setSpecToRemove" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
     </sequence>
    </complexType>
   </element>
@@ -267,7 +234,7 @@
   <element name="SetRemoveResponse">
    <complexType>
     <sequence>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="result" type="xsd:string" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>
   </element>
@@ -276,7 +243,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
      <element name="groupID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>
@@ -285,7 +252,7 @@
   <element name="SetByGroupResponse">
    <complexType>
     <sequence>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="result" type="xsd:string" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>
   </element>
@@ -294,7 +261,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
     </sequence>
    </complexType>
   </element>
@@ -361,7 +328,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
     </sequence>
    </complexType>
   </element>
@@ -378,7 +345,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
     </sequence>
    </complexType>
   </element>
@@ -395,7 +362,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
      <element name="paramID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>
@@ -413,7 +380,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
      <element name="paramID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>
@@ -431,7 +398,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
     </sequence>
    </complexType>
   </element>
@@ -448,7 +415,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
     </sequence>
    </complexType>
   </element>
@@ -465,7 +432,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
      <element name="directionUp" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
      <element name="paramID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
     </sequence>
@@ -484,7 +451,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
      <element name="paramID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>
@@ -502,7 +469,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
      <element name="value" type="xsd:double" minOccurs="1" maxOccurs="1"/>
      <element name="paramID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
     </sequence>
@@ -521,7 +488,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
      <element name="sceneNr" type="xsd:int" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>
@@ -539,7 +506,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
      <element name="sceneNr" type="xsd:int" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>
@@ -1692,14 +1659,6 @@
  <part name="parameters" element="dss:SignOffResponse"/>
 </message>
 
-<message name="FreeSetRequest">
- <part name="parameters" element="dss:FreeSet"/>
-</message>
-
-<message name="FreeSetResponse">
- <part name="parameters" element="dss:FreeSetResponse"/>
-</message>
-
 <message name="ApartmentCreateSetFromGroupRequest">
  <part name="parameters" element="dss:ApartmentCreateSetFromGroup"/>
 </message>
@@ -1724,14 +1683,6 @@
  <part name="parameters" element="dss:ApartmentCreateSetFromDeviceNamesResponse"/>
 </message>
 
-<message name="ApartmentCreateEmptySetRequest">
- <part name="parameters" element="dss:ApartmentCreateEmptySet"/>
-</message>
-
-<message name="ApartmentCreateEmptySetResponse">
- <part name="parameters" element="dss:ApartmentCreateEmptySetResponse"/>
-</message>
-
 <message name="ApartmentGetDevicesRequest">
  <part name="parameters" element="dss:ApartmentGetDevices"/>
 </message>
@@ -2431,11 +2382,6 @@
   <input message="tns:SignOffRequest"/>
   <output message="tns:SignOffResponse"/>
  </operation>
- <operation name="FreeSet">
-  <documentation>Service definition of function dss__FreeSet</documentation>
-  <input message="tns:FreeSetRequest"/>
-  <output message="tns:FreeSetResponse"/>
- </operation>
  <operation name="ApartmentCreateSetFromGroup">
   <documentation>Service definition of function dss__ApartmentCreateSetFromGroup</documentation>
   <input message="tns:ApartmentCreateSetFromGroupRequest"/>
@@ -2451,11 +2397,6 @@
   <input message="tns:ApartmentCreateSetFromDeviceNamesRequest"/>
   <output message="tns:ApartmentCreateSetFromDeviceNamesResponse"/>
  </operation>
- <operation name="ApartmentCreateEmptySet">
-  <documentation>Service definition of function dss__ApartmentCreateEmptySet</documentation>
-  <input message="tns:ApartmentCreateEmptySetRequest"/>
-  <output message="tns:ApartmentCreateEmptySetResponse"/>
- </operation>
  <operation name="ApartmentGetDevices">
   <documentation>Service definition of function dss__ApartmentGetDevices</documentation>
   <input message="tns:ApartmentGetDevicesRequest"/>
@@ -2908,15 +2849,6 @@
      <SOAP:body parts="parameters" use="literal"/>
   </output>
  </operation>
- <operation name="FreeSet">
-  <SOAP:operation soapAction=""/>
-  <input>
-     <SOAP:body parts="parameters" use="literal"/>
-  </input>
-  <output>
-     <SOAP:body parts="parameters" use="literal"/>
-  </output>
- </operation>
  <operation name="ApartmentCreateSetFromGroup">
   <SOAP:operation soapAction=""/>
   <input>
@@ -2944,15 +2876,6 @@
      <SOAP:body parts="parameters" use="literal"/>
   </output>
  </operation>
- <operation name="ApartmentCreateEmptySet">
-  <SOAP:operation soapAction=""/>
-  <input>
-     <SOAP:body parts="parameters" use="literal"/>
-  </input>
-  <output>
-     <SOAP:body parts="parameters" use="literal"/>
-  </output>
- </operation>
  <operation name="ApartmentGetDevices">
   <SOAP:operation soapAction=""/>
   <input>

Modified: dss/trunk/webservices/dss.xsd
===================================================================
--- dss/trunk/webservices/dss.xsd	2009-10-06 14:06:12 UTC (rev 8828)
+++ dss/trunk/webservices/dss.xsd	2009-10-06 15:35:18 UTC (rev 8829)
@@ -49,23 +49,6 @@
    </complexType>
   </element>
   <!-- operation request element -->
-  <element name="FreeSet">
-   <complexType>
-    <sequence>
-     <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-    </sequence>
-   </complexType>
-  </element>
-  <!-- operation response element -->
-  <element name="FreeSetResponse">
-   <complexType>
-    <sequence>
-     <element name="result" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
-    </sequence>
-   </complexType>
-  </element>
-  <!-- operation request element -->
   <element name="ApartmentCreateSetFromGroup">
    <complexType>
     <sequence>
@@ -78,7 +61,7 @@
   <element name="ApartmentCreateSetFromGroupResponse">
    <complexType>
     <sequence>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="result" type="xsd:string" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>
   </element>
@@ -95,7 +78,7 @@
   <element name="ApartmentCreateSetFromDeviceIDsResponse">
    <complexType>
     <sequence>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="result" type="xsd:string" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>
   </element>
@@ -112,27 +95,11 @@
   <element name="ApartmentCreateSetFromDeviceNamesResponse">
    <complexType>
     <sequence>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="result" type="xsd:string" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>
   </element>
   <!-- operation request element -->
-  <element name="ApartmentCreateEmptySet">
-   <complexType>
-    <sequence>
-     <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-    </sequence>
-   </complexType>
-  </element>
-  <!-- operation response element -->
-  <element name="ApartmentCreateEmptySetResponse">
-   <complexType>
-    <sequence>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-    </sequence>
-   </complexType>
-  </element>
-  <!-- operation request element -->
   <element name="ApartmentGetDevices">
    <complexType>
     <sequence>
@@ -144,7 +111,7 @@
   <element name="ApartmentGetDevicesResponse">
    <complexType>
     <sequence>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="result" type="xsd:string" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>
   </element>
@@ -170,7 +137,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
      <element name="name" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
     </sequence>
    </complexType>
@@ -179,7 +146,7 @@
   <element name="SetAddDeviceByNameResponse">
    <complexType>
     <sequence>
-     <element name="result" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
+     <element name="result" type="xsd:string" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>
   </element>
@@ -188,7 +155,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
      <element name="deviceID" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
     </sequence>
    </complexType>
@@ -197,7 +164,7 @@
   <element name="SetAddDeviceByIDResponse">
    <complexType>
     <sequence>
-     <element name="result" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
+     <element name="result" type="xsd:string" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>
   </element>
@@ -206,7 +173,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
      <element name="deviceID" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
     </sequence>
    </complexType>
@@ -215,7 +182,7 @@
   <element name="SetRemoveDeviceResponse">
    <complexType>
     <sequence>
-     <element name="result" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
+     <element name="result" type="xsd:string" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>
   </element>
@@ -224,8 +191,8 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID1" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID2" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec1" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
+     <element name="setSpec2" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
     </sequence>
    </complexType>
   </element>
@@ -233,7 +200,7 @@
   <element name="SetCombineResponse">
    <complexType>
     <sequence>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="result" type="xsd:string" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>
   </element>
@@ -242,8 +209,8 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setIDToRemove" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
+     <element name="setSpecToRemove" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
     </sequence>
    </complexType>
   </element>
@@ -251,7 +218,7 @@
   <element name="SetRemoveResponse">
    <complexType>
     <sequence>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="result" type="xsd:string" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>
   </element>
@@ -260,7 +227,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
      <element name="groupID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>
@@ -269,7 +236,7 @@
   <element name="SetByGroupResponse">
    <complexType>
     <sequence>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="result" type="xsd:string" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>
   </element>
@@ -278,7 +245,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
     </sequence>
    </complexType>
   </element>
@@ -345,7 +312,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
     </sequence>
    </complexType>
   </element>
@@ -362,7 +329,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
     </sequence>
    </complexType>
   </element>
@@ -379,7 +346,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
      <element name="paramID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>
@@ -397,7 +364,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
      <element name="paramID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>
@@ -415,7 +382,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
     </sequence>
    </complexType>
   </element>
@@ -432,7 +399,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
     </sequence>
    </complexType>
   </element>
@@ -449,7 +416,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
      <element name="directionUp" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
      <element name="paramID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
     </sequence>
@@ -468,7 +435,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
      <element name="paramID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>
@@ -486,7 +453,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
      <element name="value" type="xsd:double" minOccurs="1" maxOccurs="1"/>
      <element name="paramID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
     </sequence>
@@ -505,7 +472,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
      <element name="sceneNr" type="xsd:int" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>
@@ -523,7 +490,7 @@
    <complexType>
     <sequence>
      <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
-     <element name="setID" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+     <element name="setSpec" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
      <element name="sceneNr" type="xsd:int" minOccurs="1" maxOccurs="1"/>
     </sequence>
    </complexType>

Modified: dss/trunk/webservices/model_soap.cpp
===================================================================
--- dss/trunk/webservices/model_soap.cpp	2009-10-06 14:06:12 UTC (rev 8828)
+++ dss/trunk/webservices/model_soap.cpp	2009-10-06 15:35:18 UTC (rev 8829)
@@ -5,6 +5,7 @@
 #include "webservices/webservices.h"
 #include "core/sim/dssim.h"
 #include "core/propertysystem.h"
+#include "core/setbuilder.h"
 
 #include <vector>
 #include <string>
@@ -40,15 +41,13 @@
   return SOAP_OK;
 } // AuthorizeAndGetSession
 
-int AuthorizeAndGetSet(struct soap *soap, const int _token, const int _setID, dss::Set& result) {
+int AuthorizeAndGetSet(struct soap *soap, const int _token, const char* _setSpec, dss::Set& result) {
   if(!IsAuthorized(soap, _token)) {
     return NotAuthorized(soap);
   }
-  dss::WebServiceSession& sess = dss::DSS::getInstance()->getWebServices().getSession(soap, _token);
-  if(!sess.hasSetWithID(_setID)) {
-    return soap_receiver_fault(soap, "The Set with the given id does not exist",  NULL);
-  }
-  result = sess.getSetByID(_setID);
+  dss::Apartment& apt = dss::DSS::getInstance()->getApartment();
+  dss::SetBuilder builder(apt);
+  result = builder.buildSet(_setSpec, NULL);
   return SOAP_OK;
 } // authorizeAndGetSet
 
@@ -137,91 +136,71 @@
   }
   dss::DSS::getInstance()->getWebServices().deleteSession(soap, _token);
   return SOAP_OK;
-}
+} // dss__SignOff
 
-int dss__FreeSet(struct soap *soap, int _token, int _setID, bool& result) {
-  dss::Set set;
-  int res = AuthorizeAndGetSet(soap, _token, _setID, set);
-  if(res != SOAP_OK) {
-    return res;
-  }
-
-  dss::WebServiceSession& sess = dss::DSS::getInstance()->getWebServices().getSession(soap, _token);
-  sess.freeSet(_setID);
-  result = true;
-  return SOAP_OK;
-} // dss__FreeSet
-
-int dss__ApartmentCreateSetFromGroup(struct soap *soap, int _token,  char* _groupName, int& setID) {
+int dss__ApartmentCreateSetFromGroup(struct soap *soap, int _token, char* _groupName, std::string& result) {
   if(!IsAuthorized(soap, _token)) {
     return NotAuthorized(soap);
   }
-  dss::WebServiceSession& sess = dss::DSS::getInstance()->getWebServices().getSession(soap, _token);
   dss::Apartment& apt = dss::DSS::getInstance()->getApartment();
   try {
-    sess.addSet(apt.getDevices().getByGroup(_groupName), setID);
+    apt.getDevices().getByGroup(_groupName); // check that the group exists
+    result = std::string(".group('") + _groupName + "')";
   } catch(dss::ItemNotFoundException& _ex) {
     return soap_receiver_fault(soap, "Unknown group", NULL);
   }
   return SOAP_OK;
-}
+} // dss__ApartmentCreateSetFromGroup
 
-int dss__ApartmentCreateSetFromDeviceIDs(struct soap *soap, int _token, std::vector<std::string> _ids, int& setID) {
+int dss__ApartmentCreateSetFromDeviceIDs(struct soap *soap, int _token, std::vector<std::string> _ids, std::string& result) {
   if(!IsAuthorized(soap, _token)) {
     return NotAuthorized(soap);
   }
-  dss::WebServiceSession& sess = dss::DSS::getInstance()->getWebServices().getSession(soap, _token);
   dss::Apartment& apt = dss::DSS::getInstance()->getApartment();
   try {
-    dss::Set set;
+    result = "addDevices(";
+    std::vector<std::string> dsids;
     for(unsigned int iID = 0; iID < _ids.size(); iID++) {
       dss::Device& dev = apt.getDeviceByDSID(FromSOAP(_ids[iID].c_str()));
-      set.addDevice(dev);
+      dsids.push_back(dev.getDSID().toString());
     }
-    sess.addSet(set, setID);
+    result += dss::join(dsids, ",");
+    result += ")";
   } catch(dss::ItemNotFoundException& _ex) {
     return soap_receiver_fault(soap, "Unknown device", NULL);
   }
   return SOAP_OK;
-}
+} // dss__ApartmentCreateSetFromDeviceIDs
 
-int dss__ApartmentCreateSetFromDeviceNames(struct soap *soap, int _token,  std::vector<std::string> _names, int& setID) {
+int dss__ApartmentCreateSetFromDeviceNames(struct soap *soap, int _token,  std::vector<std::string> _names, std::string& result) {
   if(!IsAuthorized(soap, _token)) {
     return NotAuthorized(soap);
   }
-  dss::WebServiceSession& sess = dss::DSS::getInstance()->getWebServices().getSession(soap, _token);
   dss::Apartment& apt = dss::DSS::getInstance()->getApartment();
   try {
     dss::Set set;
+    result = "addDevices(";
+    std::vector<std::string> names;
     for(unsigned int iName = 0; iName < _names.size(); iName++) {
       dss::Device& dev = apt.getDeviceByName(_names[iName]);
-      set.addDevice(dev);
+      names.push_back("'" + dev.getName() + "'");
     }
-    sess.addSet(set, setID);
+    result += dss::join(names, ",");
+    result += ")";
   } catch(dss::ItemNotFoundException& _ex) {
     return soap_receiver_fault(soap, "Unknown device", NULL);
   }
   return SOAP_OK;
-}
+} // dss__ApartmentCreateSetFromDeviceNames
 
-int dss__ApartmentCreateEmptySet(struct soap *soap, int _token, int& setID) {
+int dss__ApartmentGetDevices(struct soap *soap, int _token, std::string& result) {
   if(!IsAuthorized(soap, _token)) {
     return NotAuthorized(soap);
   }
-  dss::DSS::getInstance()->getWebServices().getSession(soap, _token).allocateSet(setID);
+  result = ".";
   return SOAP_OK;
-}
+} // dss__ApartmenGetDevices
 
-int dss__ApartmentGetDevices(struct soap *soap, int _token, int& setID) {
-  if(!IsAuthorized(soap, _token)) {
-    return NotAuthorized(soap);
-  }
-  dss::WebServiceSession& sess = dss::DSS::getInstance()->getWebServices().getSession(soap, _token);
-  dss::Apartment& apt = dss::DSS::getInstance()->getApartment();
-  sess.addSet(apt.getDevices(), setID);
-  return SOAP_OK;
-}
-
 int dss__ApartmentGetDeviceIDByName(struct soap *soap, int _token,  char* _deviceName, std::string& deviceID) {
   if(!IsAuthorized(soap, _token)) {
     return NotAuthorized(soap);
@@ -237,131 +216,93 @@
   return SOAP_OK;
 }
 
-int dss__SetAddDeviceByName(struct soap *soap, int _token, int _setID, char* _name, bool& result) {
+//==================================================== Set
+
+int dss__SetAddDeviceByName(struct soap *soap, int _token, char* _setSpec, char* _name, std::string& result) {
   if(!IsAuthorized(soap, _token)) {
     return NotAuthorized(soap);
   }
-  dss::WebServiceSession& sess = dss::DSS::getInstance()->getWebServices().getSession(soap, _token);
-  if(!sess.hasSetWithID(_setID)) {
-    return soap_receiver_fault(soap, "The Set with the given id does not exist",  NULL);
-  }
   dss::Apartment& apt = dss::DSS::getInstance()->getApartment();
-  dss::Set& origSet = sess.getSetByID(_setID);
   try {
     dss::DeviceReference devRef = apt.getDevices().getByName(_name);
-    origSet.addDevice(devRef);
-    result = true;
+    result = _setSpec;
+    if(!result.empty()) {
+      result += ".";
+    }
+    result += "addDevices('" + std::string(_name) + "')";
   } catch(dss::ItemNotFoundException& _ex) {
     return soap_receiver_fault(soap, "Could not find device", NULL);
   }
   return SOAP_OK;
-}
+} // dss__SetAddDeviceByName
 
-int dss__SetAddDeviceByID(struct soap *soap, int _token, int _setID, char* _deviceID, bool& result) {
+int dss__SetAddDeviceByID(struct soap *soap, int _token, char* _setSpec, char* _deviceID, std::string& result) {
   if(!IsAuthorized(soap, _token)) {
     return NotAuthorized(soap);
   }
-  dss::WebServiceSession& sess = dss::DSS::getInstance()->getWebServices().getSession(soap, _token);
-  if(!sess.hasSetWithID(_setID)) {
-    return soap_receiver_fault(soap, "The Set with the given id does not exist",  NULL);
-  }
   dss::Apartment& apt = dss::DSS::getInstance()->getApartment();
-  dss::Set& origSet = sess.getSetByID(_setID);
   try {
     dss::DeviceReference devRef = apt.getDevices().getByDSID(FromSOAP(_deviceID));
-    origSet.addDevice(devRef);
-    result = true;
+    result = _setSpec;
+    if(!result.empty()) {
+      result += ".";
+    }
+    result += "addDevice(" + devRef.getDSID().toString() + ")";
   } catch(dss::ItemNotFoundException& _ex) {
     return soap_receiver_fault(soap, "Could not find device", NULL);
   }
   return SOAP_OK;
-}
+} // dss__SetAddDeviceByID
 
-int dss__SetRemoveDevice(struct soap *soap, int _token, int _setID, char* _deviceID, bool& result) {
+int dss__SetRemoveDevice(struct soap *soap, int _token, char* _setSpec, char* _deviceID, std::string& result) {
   if(!IsAuthorized(soap, _token)) {
     return NotAuthorized(soap);
   }
-  dss::WebServiceSession& sess = dss::DSS::getInstance()->getWebServices().getSession(soap, _token);
-  if(!sess.hasSetWithID(_setID)) {
-    return soap_receiver_fault(soap, "The Set with the given id does not exist",  NULL);
-  }
   dss::Apartment& apt = dss::DSS::getInstance()->getApartment();
-  dss::Set& origSet = sess.getSetByID(_setID);
   try {
     dss::DeviceReference devRef = apt.getDevices().getByDSID(FromSOAP(_deviceID));
-    origSet.removeDevice(devRef);
-    result = true;
+    result = _setSpec;
+    result += ".remove(.dsid(" + devRef.getDSID().toString() + "))";
   } catch(dss::ItemNotFoundException& _ex) {
     return soap_receiver_fault(soap, "Could not find device", NULL);
   }
   return SOAP_OK;
-}
+} // dss__SetRemoveDevice
 
-int dss__SetCombine(struct soap *soap, int _token, int _setID1, int _setID2, int& setID) {
+int dss__SetCombine(struct soap *soap, int _token, char* _setSpec1, char* _setSpec2, std::string& result) {
   if(!IsAuthorized(soap, _token)) {
     return NotAuthorized(soap);
   }
-  dss::WebServiceSession& sess = dss::DSS::getInstance()->getWebServices().getSession(soap, _token);
-  if(!sess.hasSetWithID(_setID1)) {
-    return soap_receiver_fault(soap, "Set1 with the given id does not exist",  NULL);
-  }
-  if(!sess.hasSetWithID(_setID2)) {
-    return soap_receiver_fault(soap, "Set2 with the given id does not exist",  NULL);
-  }
-  dss::Set& set1 = sess.getSetByID(_setID1);
-  dss::Set& set2 = sess.getSetByID(_setID2);
-  try {
-    dss::Set resultingSet = set1.combine(set2);
-    sess.addSet(resultingSet, setID);
-  } catch(dss::ItemNotFoundException& _ex) {
-    return soap_receiver_fault(soap, "Could not find device", NULL);
-  }
+  result = _setSpec1;
+  result += ".combine(";
+  result += _setSpec2;
+  result += ")";
   return SOAP_OK;
-}
+} // dss_SetCombine
 
-int dss__SetRemove(struct soap *soap, int _token, int _setID, int _setIDToRemove, int& setID) {
+int dss__SetRemove(struct soap *soap, int _token, char* _setSpec, char* _setSpecToRemove, std::string& result) {
   if(!IsAuthorized(soap, _token)) {
     return NotAuthorized(soap);
   }
-  dss::WebServiceSession& sess = dss::DSS::getInstance()->getWebServices().getSession(soap, _token);
-  if(!sess.hasSetWithID(_setID)) {
-    return soap_receiver_fault(soap, "Set with the given id does not exist",  NULL);
-  }
-  if(!sess.hasSetWithID(_setIDToRemove)) {
-    return soap_receiver_fault(soap, "Set to remove with the given id does not exist",  NULL);
-  }
-  dss::Set& set1 = sess.getSetByID(_setID);
-  dss::Set& set2 = sess.getSetByID(_setIDToRemove);
-  try {
-    dss::Set resultingSet = set1.remove(set2);
-    sess.addSet(resultingSet, setID);
-  } catch(dss::ItemNotFoundException& _ex) {
-    return soap_receiver_fault(soap, "Could not find device", NULL);
-  }
+  result = _setSpec;
+  result += ".remove(";
+  result += _setSpecToRemove;
+  result += ")";
   return SOAP_OK;
-}
+} // dss__SetRemove
 
-int dss__SetByGroup(struct soap *soap, int _token, int _setID, int _groupID, int& setID) {
+int dss__SetByGroup(struct soap *soap, int _token, char* _setSpec, int _groupID, std::string& result) {
   if(!IsAuthorized(soap, _token)) {
     return NotAuthorized(soap);
   }
-  dss::WebServiceSession& sess = dss::DSS::getInstance()->getWebServices().getSession(soap, _token);
-  if(!sess.hasSetWithID(_setID)) {
-    return soap_receiver_fault(soap, "The Set with the given id does not exist",  NULL);
-  }
-  dss::Set& origSet = sess.getSetByID(_setID);
-  try {
-    dss::Set newSet = origSet.getByGroup(_groupID);
-    sess.addSet(newSet, setID);
-  } catch(dss::ItemNotFoundException& _ex) {
-    return soap_receiver_fault(soap, "Could not find device", NULL);
-  }
+  result = _setSpec;
+  result += ".group(" + dss::intToString(_groupID) + ")";
   return SOAP_OK;
 } // dss__SetByGroup
 
-int dss__SetGetContainedDevices(struct soap* soap, int _token, int _setID, std::vector<std::string>& deviceIDs) {
+int dss__SetGetContainedDevices(struct soap* soap, int _token, char* _setSpec, std::vector<std::string>& deviceIDs) {
   dss::Set set;
-  int res = AuthorizeAndGetSet(soap, _token, _setID, set);
+  int res = AuthorizeAndGetSet(soap, _token, _setSpec, set);
   if(res != SOAP_OK) {
     return res;
   }
@@ -465,9 +406,9 @@
 
 //--------------------------- Set
 
-int dss__SetTurnOn(struct soap *soap, int _token, int _setID, bool& result) {
+int dss__SetTurnOn(struct soap *soap, int _token, char* _setSpec, bool& result) {
   dss::Set set;
-  int getResult = AuthorizeAndGetSet(soap, _token, _setID, set);
+  int getResult = AuthorizeAndGetSet(soap, _token, _setSpec, set);
   if(getResult != SOAP_OK) {
     return getResult;
   }
@@ -476,9 +417,9 @@
   return SOAP_OK;
 }
 
-int dss__SetTurnOff(struct soap *soap, int _token, int _setID, bool& result) {
+int dss__SetTurnOff(struct soap *soap, int _token, char* _setSpec, bool& result) {
   dss::Set set;
-  int getResult = AuthorizeAndGetSet(soap, _token, _setID, set);
+  int getResult = AuthorizeAndGetSet(soap, _token, _setSpec, set);
   if(getResult != SOAP_OK) {
     return getResult;
   }
@@ -487,9 +428,9 @@
   return SOAP_OK;
 }
 
-int dss__SetIncreaseValue(struct soap *soap, int _token, int _setID, int _paramID, bool& result) {
+int dss__SetIncreaseValue(struct soap *soap, int _token, char* _setSpec, int _paramID, bool& result) {
   dss::Set set;
-  int getResult = AuthorizeAndGetSet(soap, _token, _setID, set);
+  int getResult = AuthorizeAndGetSet(soap, _token, _setSpec, set);
   if(getResult != SOAP_OK) {
     return getResult;
   }
@@ -498,9 +439,9 @@
   return SOAP_OK;
 }
 
-int dss__SetDecreaseValue(struct soap *soap, int _token, int _setID, int _paramID, bool& result) {
+int dss__SetDecreaseValue(struct soap *soap, int _token, char* _setSpec, int _paramID, bool& result) {
   dss::Set set;
-  int getResult = AuthorizeAndGetSet(soap, _token, _setID, set);
+  int getResult = AuthorizeAndGetSet(soap, _token, _setSpec, set);
   if(getResult != SOAP_OK) {
     return getResult;
   }
@@ -509,9 +450,9 @@
   return SOAP_OK;
 }
 
-int dss__SetEnable(struct soap *soap, int _token, int _setID, bool& result) {
+int dss__SetEnable(struct soap *soap, int _token, char* _setSpec, bool& result) {
   dss::Set set;
-  int getResult = AuthorizeAndGetSet(soap, _token, _setID, set);
+  int getResult = AuthorizeAndGetSet(soap, _token, _setSpec, set);
   if(getResult != SOAP_OK) {
     return getResult;
   }
@@ -520,9 +461,9 @@
   return SOAP_OK;
 }
 
-int dss__SetDisable(struct soap *soap, int _token, int _setID, bool& result) {
+int dss__SetDisable(struct soap *soap, int _token, char* _setSpec, bool& result) {
   dss::Set set;
-  int getResult = AuthorizeAndGetSet(soap, _token, _setID, set);
+  int getResult = AuthorizeAndGetSet(soap, _token, _setSpec, set);
   if(getResult != SOAP_OK) {
     return getResult;
   }
@@ -531,9 +472,9 @@
   return SOAP_OK;
 }
 
-int dss__SetStartDim(struct soap *soap, int _token, int _setID, bool _directionUp, int _paramID, bool& result) {
+int dss__SetStartDim(struct soap *soap, int _token, char* _setSpec, bool _directionUp, int _paramID, bool& result) {
   dss::Set set;
-  int getResult = AuthorizeAndGetSet(soap, _token, _setID, set);
+  int getResult = AuthorizeAndGetSet(soap, _token, _setSpec, set);
   if(getResult != SOAP_OK) {
     return getResult;
   }
@@ -542,9 +483,9 @@
   return SOAP_OK;
 }
 
-int dss__SetEndDim(struct soap *soap, int _token, int _setID, int _paramID, bool& result) {
+int dss__SetEndDim(struct soap *soap, int _token, char* _setSpec, int _paramID, bool& result) {
   dss::Set set;
-  int getResult = AuthorizeAndGetSet(soap, _token, _setID, set);
+  int getResult = AuthorizeAndGetSet(soap, _token, _setSpec, set);
   if(getResult != SOAP_OK) {
     return getResult;
   }
@@ -553,9 +494,9 @@
   return SOAP_OK;
 }
 
-int dss__SetSetValue(struct soap *soap, int _token, int _setID, double _value, int _paramID, bool& result) {
+int dss__SetSetValue(struct soap *soap, int _token, char* _setSpec, double _value, int _paramID, bool& result) {
   dss::Set set;
-  int getResult = AuthorizeAndGetSet(soap, _token, _setID, set);
+  int getResult = AuthorizeAndGetSet(soap, _token, _setSpec, set);
   if(getResult != SOAP_OK) {
     return getResult;
   }
@@ -564,9 +505,9 @@
   return SOAP_OK;
 }
 
-int dss__SetCallScene(struct soap *soap, int _token, int _setID, int _sceneID, bool& result) {
+int dss__SetCallScene(struct soap *soap, int _token, char* _setSpec, int _sceneID, bool& result) {
   dss::Set set;
-  int getResult = AuthorizeAndGetSet(soap, _token, _setID, set);
+  int getResult = AuthorizeAndGetSet(soap, _token, _setSpec, set);
   if(getResult != SOAP_OK) {
     return getResult;
   }
@@ -575,9 +516,9 @@
   return SOAP_OK;
 }
 
-int dss__SetSaveScene(struct soap *soap, int _token, int _setID, int _sceneID, bool& result) {
+int dss__SetSaveScene(struct soap *soap, int _token, char* _setSpec, int _sceneID, bool& result) {
   dss::Set set;
-  int getResult = AuthorizeAndGetSet(soap, _token, _setID, set);
+  int getResult = AuthorizeAndGetSet(soap, _token, _setSpec, set);
   if(getResult != SOAP_OK) {
     return getResult;
   }
@@ -586,9 +527,9 @@
   return SOAP_OK;
 }
 
-int dss__SetUndoScene(struct soap *soap, int _token, int _setID, int _sceneID, bool& result) {
+int dss__SetUndoScene(struct soap *soap, int _token, char* _setSpec, int _sceneID, bool& result) {
   dss::Set set;
-  int getResult = AuthorizeAndGetSet(soap, _token, _setID, set);
+  int getResult = AuthorizeAndGetSet(soap, _token, _setSpec, set);
   if(getResult != SOAP_OK) {
     return getResult;
   }

Modified: dss/trunk/webservices/model_soap.h
===================================================================
--- dss/trunk/webservices/model_soap.h	2009-10-06 14:06:12 UTC (rev 8828)
+++ dss/trunk/webservices/model_soap.h	2009-10-06 15:35:18 UTC (rev 8829)
@@ -15,42 +15,38 @@
  * The token received will be used in any subsequent call. The ip/token pair
  * identifies a session. A Session will time out after n minutes of no activity (default 5).*/
 int dss__Authenticate(char* _userName, char* _password, int& token);
-/** Terminates a session. All resources allocate by the session (e.g. sets) will be
+/** Terminates a session. All resources allocate by the session will be
  * released. */
 int dss__SignOff(int _token, int& result);
-/** Frees the set (_setID) on the server. */
-int dss__FreeSet(int _token, int _setID, bool& result);
 
 /** Creates a set containing all devices which are contained in a group named _groupName.
  * @see dss__CreateEmptySet */
-int dss__ApartmentCreateSetFromGroup(int _token, char* _groupName, int& setID);
+int dss__ApartmentCreateSetFromGroup(int _token, char* _groupName, std::string& result);
 /** Creates a set containing all devices in the given array
  * @see dss__CreateEmptySet*/
-int dss__ApartmentCreateSetFromDeviceIDs(int _token, std::vector<std::string> _ids, int& setID);
+int dss__ApartmentCreateSetFromDeviceIDs(int _token, std::vector<std::string> _ids, std::string& result);
 /** Creates a set containing all devices in the given array */
-int dss__ApartmentCreateSetFromDeviceNames(int _token, std::vector<std::string> _names, int& setID);
-/** Creates an empty set.
- * The set is allocated on the server and must be freed either by a SignOff or a call to FreeSet.*/
-int dss__ApartmentCreateEmptySet(int _token, int& setID);
+int dss__ApartmentCreateSetFromDeviceNames(int _token, std::vector<std::string> _names, std::string& result);
 /** Creates a set containing all devices */
-int dss__ApartmentGetDevices(int _token, int& setID);
+int dss__ApartmentGetDevices(int _token, std::string& result);
+
 /** Returns the device ID for the given _deviceName */
 int dss__ApartmentGetDeviceIDByName(int _token, char* _deviceName, std::string& deviceID);
 
 /** Adds the given device to the set */
-int dss__SetAddDeviceByName(int _token, int _setID, char* _name, bool& result);
+int dss__SetAddDeviceByName(int _token, char* _setSpec, char* _name, std::string& result);
 /** Adds the given device to the set */
-int dss__SetAddDeviceByID(int _token, int _setID, char* _deviceID, bool& result);
+int dss__SetAddDeviceByID(int _token, char* _setSpec, char* _deviceID, std::string& result);
 /** Removes the device from the set */
-int dss__SetRemoveDevice(int _token, int _setID, char* _deviceID, bool& result);
+int dss__SetRemoveDevice(int _token, char* _setSpec, char* _deviceID, std::string& result);
 /** Combines two sets into another set */
-int dss__SetCombine(int _token, int _setID1, int _setID2, int& setID);
+int dss__SetCombine(int _token, char* _setSpec1, char* _setSpec2, std::string& result);
 /** Removes all devices contained in _SetIDToRemove from _setID and copies those into setID */
-int dss__SetRemove(int _token, int _setID, int _setIDToRemove, int& setID);
+int dss__SetRemove(int _token, char* _setSpec, char* _setSpecToRemove, std::string& result);
 /** Removes all devices which don't belong to the specified group */
-int dss__SetByGroup(int _token, int _setID, int _groupID, int& setID);
+int dss__SetByGroup(int _token, char* _setSpec, int _groupID, std::string& result);
 /** Returns an array containing all device ids contained in the given set */
-int dss__SetGetContainedDevices(int _token, int _setID, std::vector<std::string>& deviceIDs);
+int dss__SetGetContainedDevices(int _token, char* _setSpec, std::vector<std::string>& deviceIDs);
 
 /** Looks up the group id for the given group name */
 int dss__ApartmentGetGroupByName(int _token, char* _groupName, int& groupID);
@@ -64,34 +60,34 @@
 //--------------------------- Set
 
 /** Sends a turn on command to all devices contained in the set */
-int dss__SetTurnOn(int _token, int _setID, bool& result);
+int dss__SetTurnOn(int _token, char* _setSpec, bool& result);
 /** Sends a turn off command to all devices contained in the set */
-int dss__SetTurnOff(int _token, int _setID, bool& result);
+int dss__SetTurnOff(int _token, char* _setSpec, bool& result);
 /** Increases the param described by _paramID for each device contained in the set. If _paramID
  *  == -1 the default parameter will be increased. */
-int dss__SetIncreaseValue(int _token, int _setID, int _paramID, bool& result);
+int dss__SetIncreaseValue(int _token, char* _setSpec, int _paramID, bool& result);
 /** Decreases the param described by _paramID for each device contained in the set. If _paramID
  *  == -1 the default parameter will be decreased. */
-int dss__SetDecreaseValue(int _token, int _setID, int _paramID, bool& result);
+int dss__SetDecreaseValue(int _token, char* _setSpec, int _paramID, bool& result);
 
 /** Enables all previously disabled devices in the set. */
-int dss__SetEnable(int _token, int _setID, bool& result);
+int dss__SetEnable(int _token, char* _setSpec, bool& result);
 /** Disables all devices in the set. */
-int dss__SetDisable(int _token, int _setID, bool& result);
+int dss__SetDisable(int _token, char* _setSpec, bool& result);
 /** Starts dimming the given parameter on all devices contained in the set. If _directionUp is
  * true, the dimming will increase the parameter specified by _paramID. If _paramID == -1 the
  * default parameter will be dimmed */
-int dss__SetStartDim(int _token, int _setID, bool _directionUp, int _paramID, bool& result);
+int dss__SetStartDim(int _token, char* _setSpec, bool _directionUp, int _paramID, bool& result);
 /** Stops dimming the given parameter on all devices contained in the set. */
-int dss__SetEndDim(int _token, int _setID, int _paramID, bool& result);
+int dss__SetEndDim(int _token, char* _setSpec, int _paramID, bool& result);
 /** Sets the parameter specified by _paramID to _value. If _paramID == -1 the default parameter
  * will be set. */
-int dss__SetSetValue(int _token, int _setID, double _value, int _paramID, bool& result);
+int dss__SetSetValue(int _token, char* _setSpec, double _value, int _paramID, bool& result);
 
 /** Calls the scene _sceneNr on all devices contained int the set _setID. */
-int dss__SetCallScene(int _token, int _setID, int _sceneNr, bool& result);
+int dss__SetCallScene(int _token, char* _setSpec, int _sceneNr, bool& result);
 /** Saves the scene _sceneNr on all devices contained int the set _setID. */
-int dss__SetSaveScene(int _token, int _setID, int _sceneNr, bool& result);
+int dss__SetSaveScene(int _token, char* _setSpec, int _sceneNr, bool& result);
 
 //--------------------------- Apartment
 
@@ -242,10 +238,6 @@
 int dss__DeviceGetFunctionID(int _token, char* _deviceID, int& result);
 /** Returns the group id of the specified switch */
 int dss__SwitchGetGroupID(int _token, char* _deviceID, int& result);
-/** Simulates a key press on the specified switch and button
-  * @param _kind One of ("click", "touch", "touchend")
-  */
-//int dss__SwitchSimulateKeypress(int _token, char* _deviceID, int _buttonNr, char* _kind, bool& result);
 
 
 //==================================================== Events

Modified: dss/trunk/webservices/soapC.cpp
===================================================================
--- dss/trunk/webservices/soapC.cpp	2009-10-06 14:06:12 UTC (rev 8828)
+++ dss/trunk/webservices/soapC.cpp	2009-10-06 15:35:18 UTC (rev 8829)
@@ -7,7 +7,7 @@
 
 #include "soapH.h"
 
-SOAP_SOURCE_STAMP("@(#) soapC.cpp ver 2.7.10 2009-10-05 14:18:40 GMT")
+SOAP_SOURCE_STAMP("@(#) soapC.cpp ver 2.7.10 2009-10-06 15:04:05 GMT")
 
 
 #ifndef WITH_NOGLOBAL
@@ -525,10 +525,6 @@
 		return soap_in_dss__ApartmentGetDevices(soap, NULL, NULL, "dss:ApartmentGetDevices");
 	case SOAP_TYPE_dss__ApartmentGetDevicesResponse:
 		return soap_in_dss__ApartmentGetDevicesResponse(soap, NULL, NULL, "dss:ApartmentGetDevicesResponse");
-	case SOAP_TYPE_dss__ApartmentCreateEmptySet:
-		return soap_in_dss__ApartmentCreateEmptySet(soap, NULL, NULL, "dss:ApartmentCreateEmptySet");
-	case SOAP_TYPE_dss__ApartmentCreateEmptySetResponse:
-		return soap_in_dss__ApartmentCreateEmptySetResponse(soap, NULL, NULL, "dss:ApartmentCreateEmptySetResponse");
 	case SOAP_TYPE_dss__ApartmentCreateSetFromDeviceNames:
 		return soap_in_dss__ApartmentCreateSetFromDeviceNames(soap, NULL, NULL, "dss:ApartmentCreateSetFromDeviceNames");
 	case SOAP_TYPE_dss__ApartmentCreateSetFromDeviceNamesResponse:
@@ -541,10 +537,6 @@
 		return soap_in_dss__ApartmentCreateSetFromGroup(soap, NULL, NULL, "dss:ApartmentCreateSetFromGroup");
 	case SOAP_TYPE_dss__ApartmentCreateSetFromGroupResponse:
 		return soap_in_dss__ApartmentCreateSetFromGroupResponse(soap, NULL, NULL, "dss:ApartmentCreateSetFromGroupResponse");
-	case SOAP_TYPE_dss__FreeSet:
-		return soap_in_dss__FreeSet(soap, NULL, NULL, "dss:FreeSet");
-	case SOAP_TYPE_dss__FreeSetResponse:
-		return soap_in_dss__FreeSetResponse(soap, NULL, NULL, "dss:FreeSetResponse");
 	case SOAP_TYPE_dss__SignOff:
 		return soap_in_dss__SignOff(soap, NULL, NULL, "dss:SignOff");
 	case SOAP_TYPE_dss__SignOffResponse:
@@ -1304,14 +1296,6 @@
 		{	*type = SOAP_TYPE_dss__ApartmentGetDevicesResponse;
 			return soap_in_dss__ApartmentGetDevicesResponse(soap, NULL, NULL, NULL);
 		}
-		if (!soap_match_tag(soap, t, "dss:ApartmentCreateEmptySet"))
-		{	*type = SOAP_TYPE_dss__ApartmentCreateEmptySet;
-			return soap_in_dss__ApartmentCreateEmptySet(soap, NULL, NULL, NULL);
-		}
-		if (!soap_match_tag(soap, t, "dss:ApartmentCreateEmptySetResponse"))
-		{	*type = SOAP_TYPE_dss__ApartmentCreateEmptySetResponse;
-			return soap_in_dss__ApartmentCreateEmptySetResponse(soap, NULL, NULL, NULL);
-		}
 		if (!soap_match_tag(soap, t, "dss:ApartmentCreateSetFromDeviceNames"))
 		{	*type = SOAP_TYPE_dss__ApartmentCreateSetFromDeviceNames;
 			return soap_in_dss__ApartmentCreateSetFromDeviceNames(soap, NULL, NULL, NULL);
@@ -1336,14 +1320,6 @@
 		{	*type = SOAP_TYPE_dss__ApartmentCreateSetFromGroupResponse;
 			return soap_in_dss__ApartmentCreateSetFromGroupResponse(soap, NULL, NULL, NULL);
 		}
-		if (!soap_match_tag(soap, t, "dss:FreeSet"))
-		{	*type = SOAP_TYPE_dss__FreeSet;
-			return soap_in_dss__FreeSet(soap, NULL, NULL, NULL);
-		}
-		if (!soap_match_tag(soap, t, "dss:FreeSetResponse"))
-		{	*type = SOAP_TYPE_dss__FreeSetResponse;
-			return soap_in_dss__FreeSetResponse(soap, NULL, NULL, NULL);
-		}
 		if (!soap_match_tag(soap, t, "dss:SignOff"))
 		{	*type = SOAP_TYPE_dss__SignOff;
 			return soap_in_dss__SignOff(soap, NULL, NULL, NULL);
@@ -1808,10 +1784,6 @@
 		return soap_out_dss__ApartmentGetDevices(soap, tag, id, (const struct dss__ApartmentGetDevices *)ptr, "dss:ApartmentGetDevices");
 	case SOAP_TYPE_dss__ApartmentGetDevicesResponse:
 		return soap_out_dss__ApartmentGetDevicesResponse(soap, tag, id, (const struct dss__ApartmentGetDevicesResponse *)ptr, "dss:ApartmentGetDevicesResponse");
-	case SOAP_TYPE_dss__ApartmentCreateEmptySet:
-		return soap_out_dss__ApartmentCreateEmptySet(soap, tag, id, (const struct dss__ApartmentCreateEmptySet *)ptr, "dss:ApartmentCreateEmptySet");
-	case SOAP_TYPE_dss__ApartmentCreateEmptySetResponse:
-		return soap_out_dss__ApartmentCreateEmptySetResponse(soap, tag, id, (const struct dss__ApartmentCreateEmptySetResponse *)ptr, "dss:ApartmentCreateEmptySetResponse");
 	case SOAP_TYPE_dss__ApartmentCreateSetFromDeviceNames:
 		return soap_out_dss__ApartmentCreateSetFromDeviceNames(soap, tag, id, (const struct dss__ApartmentCreateSetFromDeviceNames *)ptr, "dss:ApartmentCreateSetFromDeviceNames");
 	case SOAP_TYPE_dss__ApartmentCreateSetFromDeviceNamesResponse:
@@ -1824,10 +1796,6 @@
 		return soap_out_dss__ApartmentCreateSetFromGroup(soap, tag, id, (const struct dss__ApartmentCreateSetFromGroup *)ptr, "dss:ApartmentCreateSetFromGroup");
 	case SOAP_TYPE_dss__ApartmentCreateSetFromGroupResponse:
 		return soap_out_dss__ApartmentCreateSetFromGroupResponse(soap, tag, id, (const struct dss__ApartmentCreateSetFromGroupResponse *)ptr, "dss:ApartmentCreateSetFromGroupResponse");
-	case SOAP_TYPE_dss__FreeSet:
-		return soap_out_dss__FreeSet(soap, tag, id, (const struct dss__FreeSet *)ptr, "dss:FreeSet");
-	case SOAP_TYPE_dss__FreeSetResponse:
-		return soap_out_dss__FreeSetResponse(soap, tag, id, (const struct dss__FreeSetResponse *)ptr, "dss:FreeSetResponse");
 	case SOAP_TYPE_dss__SignOff:
 		return soap_out_dss__SignOff(soap, tag, id, (const struct dss__SignOff *)ptr, "dss:SignOff");
 	case SOAP_TYPE_dss__SignOffResponse:
@@ -2383,12 +2351,6 @@
 	case SOAP_TYPE_dss__ApartmentGetDevicesResponse:
 		soap_serialize_dss__ApartmentGetDevicesResponse(soap, (const struct dss__ApartmentGetDevicesResponse *)ptr);
 		break;
-	case SOAP_TYPE_dss__ApartmentCreateEmptySet:
-		soap_serialize_dss__ApartmentCreateEmptySet(soap, (const struct dss__ApartmentCreateEmptySet *)ptr);
-		break;
-	case SOAP_TYPE_dss__ApartmentCreateEmptySetResponse:
-		soap_serialize_dss__ApartmentCreateEmptySetResponse(soap, (const struct dss__ApartmentCreateEmptySetResponse *)ptr);
-		break;
 	case SOAP_TYPE_dss__ApartmentCreateSetFromDeviceNames:
 		soap_serialize_dss__ApartmentCreateSetFromDeviceNames(soap, (const struct dss__ApartmentCreateSetFromDeviceNames *)ptr);
 		break;
@@ -2407,12 +2369,6 @@
 	case SOAP_TYPE_dss__ApartmentCreateSetFromGroupResponse:
 		soap_serialize_dss__ApartmentCreateSetFromGroupResponse(soap, (const struct dss__ApartmentCreateSetFromGroupResponse *)ptr);
 		break;
-	case SOAP_TYPE_dss__FreeSet:
-		soap_serialize_dss__FreeSet(soap, (const struct dss__FreeSet *)ptr);
-		break;
-	case SOAP_TYPE_dss__FreeSetResponse:
-		soap_serialize_dss__FreeSetResponse(soap, (const struct dss__FreeSetResponse *)ptr);
-		break;
 	case SOAP_TYPE_dss__SignOff:
 		soap_serialize_dss__SignOff(soap, (const struct dss__SignOff *)ptr);
 		break;
@@ -2454,16 +2410,12 @@
 		return (void*)soap_instantiate_dss__SignOffResponse(soap, -1, type, arrayType, n);
 	case SOAP_TYPE_dss__SignOff:
 		return (void*)soap_instantiate_dss__SignOff(soap, -1, type, arrayType, n);
-	case SOAP_TYPE_dss__FreeSetResponse:
-		return (void*)soap_instantiate_dss__FreeSetResponse(soap, -1, type, arrayType, n);
-	case SOAP_TYPE_dss__FreeSet:
-		return (void*)soap_instantiate_dss__FreeSet(soap, -1, type, arrayType, n);
+	case SOAP_TYPE_std__string:
+		return (void*)soap_instantiate_std__string(soap, -1, type, arrayType, n);
 	case SOAP_TYPE_dss__ApartmentCreateSetFromGroupResponse:
 		return (void*)soap_instantiate_dss__ApartmentCreateSetFromGroupResponse(soap, -1, type, arrayType, n);
 	case SOAP_TYPE_dss__ApartmentCreateSetFromGroup:
 		return (void*)soap_instantiate_dss__ApartmentCreateSetFromGroup(soap, -1, type, arrayType, n);
-	case SOAP_TYPE_std__string:
-		return (void*)soap_instantiate_std__string(soap, -1, type, arrayType, n);
 	case SOAP_TYPE_dss__ApartmentCreateSetFromDeviceIDsResponse:
 		return (void*)soap_instantiate_dss__ApartmentCreateSetFromDeviceIDsResponse(soap, -1, type, arrayType, n);
 	case SOAP_TYPE_dss__ApartmentCreateSetFromDeviceIDs:
@@ -2472,10 +2424,6 @@
 		return (void*)soap_instantiate_dss__ApartmentCreateSetFromDeviceNamesResponse(soap, -1, type, arrayType, n);
 	case SOAP_TYPE_dss__ApartmentCreateSetFromDeviceNames:
 		return (void*)soap_instantiate_dss__ApartmentCreateSetFromDeviceNames(soap, -1, type, arrayType, n);
-	case SOAP_TYPE_dss__ApartmentCreateEmptySetResponse:
-		return (void*)soap_instantiate_dss__ApartmentCreateEmptySetResponse(soap, -1, type, arrayType, n);
-	case SOAP_TYPE_dss__ApartmentCreateEmptySet:
-		return (void*)soap_instantiate_dss__ApartmentCreateEmptySet(soap, -1, type, arrayType, n);
 	case SOAP_TYPE_dss__ApartmentGetDevicesResponse:
 		return (void*)soap_instantiate_dss__ApartmentGetDevicesResponse(soap, -1, type, arrayType, n);
 	case SOAP_TYPE_dss__ApartmentGetDevices:
@@ -2879,18 +2827,12 @@
 		else
 			delete[] (struct dss__SignOff*)p->ptr;
 		break;
-	case SOAP_TYPE_dss__FreeSetResponse:
+	case SOAP_TYPE_std__string:
 		if (p->size < 0)
-			delete (struct dss__FreeSetResponse*)p->ptr;
+			delete (std::string*)p->ptr;
 		else
-			delete[] (struct dss__FreeSetResponse*)p->ptr;
+			delete[] (std::string*)p->ptr;
 		break;
-	case SOAP_TYPE_dss__FreeSet:
-		if (p->size < 0)
-			delete (struct dss__FreeSet*)p->ptr;
-		else
-			delete[] (struct dss__FreeSet*)p->ptr;
-		break;
 	case SOAP_TYPE_dss__ApartmentCreateSetFromGroupResponse:
 		if (p->size < 0)
 			delete (struct dss__ApartmentCreateSetFromGroupResponse*)p->ptr;
@@ -2903,12 +2845,6 @@
 		else
 			delete[] (struct dss__ApartmentCreateSetFromGroup*)p->ptr;
 		break;
-	case SOAP_TYPE_std__string:
-		if (p->size < 0)
-			delete (std::string*)p->ptr;
-		else
-			delete[] (std::string*)p->ptr;
-		break;
 	case SOAP_TYPE_dss__ApartmentCreateSetFromDeviceIDsResponse:
 		if (p->size < 0)
 			delete (struct dss__ApartmentCreateSetFromDeviceIDsResponse*)p->ptr;
@@ -2933,18 +2869,6 @@
 		else
 			delete[] (struct dss__ApartmentCreateSetFromDeviceNames*)p->ptr;
 		break;
-	case SOAP_TYPE_dss__ApartmentCreateEmptySetResponse:
-		if (p->size < 0)
-			delete (struct dss__ApartmentCreateEmptySetResponse*)p->ptr;
-		else
-			delete[] (struct dss__ApartmentCreateEmptySetResponse*)p->ptr;
-		break;
-	case SOAP_TYPE_dss__ApartmentCreateEmptySet:
-		if (p->size < 0)
-			delete (struct dss__ApartmentCreateEmptySet*)p->ptr;
-		else
-			delete[] (struct dss__ApartmentCreateEmptySet*)p->ptr;
-		break;
 	case SOAP_TYPE_dss__ApartmentGetDevicesResponse:
 		if (p->size < 0)
 			delete (struct dss__ApartmentGetDevicesResponse*)p->ptr;
@@ -20531,13 +20455,14 @@
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
 	soap_default_int(soap, &a->_token);
-	soap_default_int(soap, &a->_setID);
+	soap_default_string(soap, &a->_setSpec);
 	soap_default_int(soap, &a->_sceneNr);
 }
 
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetSaveScene(struct soap *soap, const struct dss__SetSaveScene *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_setSpec);
 }
 
 SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__SetSaveScene(struct soap *soap, const struct dss__SetSaveScene *a, const char *tag, const char *type)
@@ -20554,7 +20479,7 @@
 		return soap->error;
 	if (soap_out_int(soap, "token", -1, &a->_token, ""))
 		return soap->error;
-	if (soap_out_int(soap, "setID", -1, &a->_setID, ""))
+	if (soap_out_string(soap, "setSpec", -1, &a->_setSpec, ""))
 		return soap->error;
 	if (soap_out_int(soap, "sceneNr", -1, &a->_sceneNr, ""))
 		return soap->error;
@@ -20571,7 +20496,7 @@
 
 SOAP_FMAC3 struct dss__SetSaveScene * SOAP_FMAC4 soap_in_dss__SetSaveScene(struct soap *soap, const char *tag, struct dss__SetSaveScene *a, const char *type)
 {
-	short soap_flag__token = 1, soap_flag__setID = 1, soap_flag__sceneNr = 1;
+	short soap_flag__token = 1, soap_flag__setSpec = 1, soap_flag__sceneNr = 1;
 	if (soap_element_begin_in(soap, tag, 0, type))
 		return NULL;
 	a = (struct dss__SetSaveScene *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__SetSaveScene, sizeof(struct dss__SetSaveScene), 0, NULL, NULL, NULL);
@@ -20587,9 +20512,9 @@
 				{	soap_flag__token--;
 					continue;
 				}
-			if (soap_flag__setID && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_int(soap, NULL, &a->_setID, "xsd:int"))
-				{	soap_flag__setID--;
+			if (soap_flag__setSpec && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_setSpec, "xsd:string"))
+				{	soap_flag__setSpec--;
 					continue;
 				}
 			if (soap_flag__sceneNr && soap->error == SOAP_TAG_MISMATCH)
@@ -20612,7 +20537,7 @@
 		if (soap->body && soap_element_end_in(soap, tag))
 			return NULL;
 	}
-	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0 || soap_flag__setID > 0 || soap_flag__sceneNr > 0))
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0 || soap_flag__sceneNr > 0))
 	{	soap->error = SOAP_OCCURS;
 		return NULL;
 	}
@@ -20773,13 +20698,14 @@
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
 	soap_default_int(soap, &a->_token);
-	soap_default_int(soap, &a->_setID);
+	soap_default_string(soap, &a->_setSpec);
 	soap_default_int(soap, &a->_sceneNr);
 }
 
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetCallScene(struct soap *soap, const struct dss__SetCallScene *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_setSpec);
 }
 
 SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__SetCallScene(struct soap *soap, const struct dss__SetCallScene *a, const char *tag, const char *type)
@@ -20796,7 +20722,7 @@
 		return soap->error;
 	if (soap_out_int(soap, "token", -1, &a->_token, ""))
 		return soap->error;
-	if (soap_out_int(soap, "setID", -1, &a->_setID, ""))
+	if (soap_out_string(soap, "setSpec", -1, &a->_setSpec, ""))
 		return soap->error;
 	if (soap_out_int(soap, "sceneNr", -1, &a->_sceneNr, ""))
 		return soap->error;
@@ -20813,7 +20739,7 @@
 
 SOAP_FMAC3 struct dss__SetCallScene * SOAP_FMAC4 soap_in_dss__SetCallScene(struct soap *soap, const char *tag, struct dss__SetCallScene *a, const char *type)
 {
-	short soap_flag__token = 1, soap_flag__setID = 1, soap_flag__sceneNr = 1;
+	short soap_flag__token = 1, soap_flag__setSpec = 1, soap_flag__sceneNr = 1;
 	if (soap_element_begin_in(soap, tag, 0, type))
 		return NULL;
 	a = (struct dss__SetCallScene *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__SetCallScene, sizeof(struct dss__SetCallScene), 0, NULL, NULL, NULL);
@@ -20829,9 +20755,9 @@
 				{	soap_flag__token--;
 					continue;
 				}
-			if (soap_flag__setID && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_int(soap, NULL, &a->_setID, "xsd:int"))
-				{	soap_flag__setID--;
+			if (soap_flag__setSpec && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_setSpec, "xsd:string"))
+				{	soap_flag__setSpec--;
 					continue;
 				}
 			if (soap_flag__sceneNr && soap->error == SOAP_TAG_MISMATCH)
@@ -20854,7 +20780,7 @@
 		if (soap->body && soap_element_end_in(soap, tag))
 			return NULL;
 	}
-	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0 || soap_flag__setID > 0 || soap_flag__sceneNr > 0))
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0 || soap_flag__sceneNr > 0))
 	{	soap->error = SOAP_OCCURS;
 		return NULL;
 	}
@@ -21015,7 +20941,7 @@
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
 	soap_default_int(soap, &a->_token);
-	soap_default_int(soap, &a->_setID);
+	soap_default_string(soap, &a->_setSpec);
 	soap_default_double(soap, &a->_value);
 	soap_default_int(soap, &a->_paramID);
 }
@@ -21023,6 +20949,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetSetValue(struct soap *soap, const struct dss__SetSetValue *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_setSpec);
 }
 
 SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__SetSetValue(struct soap *soap, const struct dss__SetSetValue *a, const char *tag, const char *type)
@@ -21039,7 +20966,7 @@
 		return soap->error;
 	if (soap_out_int(soap, "token", -1, &a->_token, ""))
 		return soap->error;
-	if (soap_out_int(soap, "setID", -1, &a->_setID, ""))
+	if (soap_out_string(soap, "setSpec", -1, &a->_setSpec, ""))
 		return soap->error;
 	if (soap_out_double(soap, "value", -1, &a->_value, ""))
 		return soap->error;
@@ -21058,7 +20985,7 @@
 
 SOAP_FMAC3 struct dss__SetSetValue * SOAP_FMAC4 soap_in_dss__SetSetValue(struct soap *soap, const char *tag, struct dss__SetSetValue *a, const char *type)
 {
-	short soap_flag__token = 1, soap_flag__setID = 1, soap_flag__value = 1, soap_flag__paramID = 1;
+	short soap_flag__token = 1, soap_flag__setSpec = 1, soap_flag__value = 1, soap_flag__paramID = 1;
 	if (soap_element_begin_in(soap, tag, 0, type))
 		return NULL;
 	a = (struct dss__SetSetValue *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__SetSetValue, sizeof(struct dss__SetSetValue), 0, NULL, NULL, NULL);
@@ -21074,9 +21001,9 @@
 				{	soap_flag__token--;
 					continue;
 				}
-			if (soap_flag__setID && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_int(soap, NULL, &a->_setID, "xsd:int"))
-				{	soap_flag__setID--;
+			if (soap_flag__setSpec && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_setSpec, "xsd:string"))
+				{	soap_flag__setSpec--;
 					continue;
 				}
 			if (soap_flag__value && soap->error == SOAP_TAG_MISMATCH)
@@ -21104,7 +21031,7 @@
 		if (soap->body && soap_element_end_in(soap, tag))
 			return NULL;
 	}
-	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0 || soap_flag__setID > 0 || soap_flag__value > 0 || soap_flag__paramID > 0))
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0 || soap_flag__value > 0 || soap_flag__paramID > 0))
 	{	soap->error = SOAP_OCCURS;
 		return NULL;
 	}
@@ -21265,13 +21192,14 @@
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
 	soap_default_int(soap, &a->_token);
-	soap_default_int(soap, &a->_setID);
+	soap_default_string(soap, &a->_setSpec);
 	soap_default_int(soap, &a->_paramID);
 }
 
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetEndDim(struct soap *soap, const struct dss__SetEndDim *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_setSpec);
 }
 
 SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__SetEndDim(struct soap *soap, const struct dss__SetEndDim *a, const char *tag, const char *type)
@@ -21288,7 +21216,7 @@
 		return soap->error;
 	if (soap_out_int(soap, "token", -1, &a->_token, ""))
 		return soap->error;
-	if (soap_out_int(soap, "setID", -1, &a->_setID, ""))
+	if (soap_out_string(soap, "setSpec", -1, &a->_setSpec, ""))
 		return soap->error;
 	if (soap_out_int(soap, "paramID", -1, &a->_paramID, ""))
 		return soap->error;
@@ -21305,7 +21233,7 @@
 
 SOAP_FMAC3 struct dss__SetEndDim * SOAP_FMAC4 soap_in_dss__SetEndDim(struct soap *soap, const char *tag, struct dss__SetEndDim *a, const char *type)
 {
-	short soap_flag__token = 1, soap_flag__setID = 1, soap_flag__paramID = 1;
+	short soap_flag__token = 1, soap_flag__setSpec = 1, soap_flag__paramID = 1;
 	if (soap_element_begin_in(soap, tag, 0, type))
 		return NULL;
 	a = (struct dss__SetEndDim *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__SetEndDim, sizeof(struct dss__SetEndDim), 0, NULL, NULL, NULL);
@@ -21321,9 +21249,9 @@
 				{	soap_flag__token--;
 					continue;
 				}
-			if (soap_flag__setID && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_int(soap, NULL, &a->_setID, "xsd:int"))
-				{	soap_flag__setID--;
+			if (soap_flag__setSpec && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_setSpec, "xsd:string"))
+				{	soap_flag__setSpec--;
 					continue;
 				}
 			if (soap_flag__paramID && soap->error == SOAP_TAG_MISMATCH)
@@ -21346,7 +21274,7 @@
 		if (soap->body && soap_element_end_in(soap, tag))
 			return NULL;
 	}
-	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0 || soap_flag__setID > 0 || soap_flag__paramID > 0))
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0 || soap_flag__paramID > 0))
 	{	soap->error = SOAP_OCCURS;
 		return NULL;
 	}
@@ -21507,7 +21435,7 @@
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
 	soap_default_int(soap, &a->_token);
-	soap_default_int(soap, &a->_setID);
+	soap_default_string(soap, &a->_setSpec);
 	soap_default_bool(soap, &a->_directionUp);
 	soap_default_int(soap, &a->_paramID);
 }
@@ -21515,6 +21443,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetStartDim(struct soap *soap, const struct dss__SetStartDim *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_setSpec);
 }
 
 SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__SetStartDim(struct soap *soap, const struct dss__SetStartDim *a, const char *tag, const char *type)
@@ -21531,7 +21460,7 @@
 		return soap->error;
 	if (soap_out_int(soap, "token", -1, &a->_token, ""))
 		return soap->error;
-	if (soap_out_int(soap, "setID", -1, &a->_setID, ""))
+	if (soap_out_string(soap, "setSpec", -1, &a->_setSpec, ""))
 		return soap->error;
 	if (soap_out_bool(soap, "directionUp", -1, &a->_directionUp, ""))
 		return soap->error;
@@ -21550,7 +21479,7 @@
 
 SOAP_FMAC3 struct dss__SetStartDim * SOAP_FMAC4 soap_in_dss__SetStartDim(struct soap *soap, const char *tag, struct dss__SetStartDim *a, const char *type)
 {
-	short soap_flag__token = 1, soap_flag__setID = 1, soap_flag__directionUp = 1, soap_flag__paramID = 1;
+	short soap_flag__token = 1, soap_flag__setSpec = 1, soap_flag__directionUp = 1, soap_flag__paramID = 1;
 	if (soap_element_begin_in(soap, tag, 0, type))
 		return NULL;
 	a = (struct dss__SetStartDim *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__SetStartDim, sizeof(struct dss__SetStartDim), 0, NULL, NULL, NULL);
@@ -21566,9 +21495,9 @@
 				{	soap_flag__token--;
 					continue;
 				}
-			if (soap_flag__setID && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_int(soap, NULL, &a->_setID, "xsd:int"))
-				{	soap_flag__setID--;
+			if (soap_flag__setSpec && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_setSpec, "xsd:string"))
+				{	soap_flag__setSpec--;
 					continue;
 				}
 			if (soap_flag__directionUp && soap->error == SOAP_TAG_MISMATCH)
@@ -21596,7 +21525,7 @@
 		if (soap->body && soap_element_end_in(soap, tag))
 			return NULL;
 	}
-	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0 || soap_flag__setID > 0 || soap_flag__directionUp > 0 || soap_flag__paramID > 0))
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0 || soap_flag__directionUp > 0 || soap_flag__paramID > 0))
 	{	soap->error = SOAP_OCCURS;
 		return NULL;
 	}
@@ -21757,12 +21686,13 @@
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
 	soap_default_int(soap, &a->_token);
-	soap_default_int(soap, &a->_setID);
+	soap_default_string(soap, &a->_setSpec);
 }
 
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetDisable(struct soap *soap, const struct dss__SetDisable *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_setSpec);
 }
 
 SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__SetDisable(struct soap *soap, const struct dss__SetDisable *a, const char *tag, const char *type)
@@ -21779,7 +21709,7 @@
 		return soap->error;
 	if (soap_out_int(soap, "token", -1, &a->_token, ""))
 		return soap->error;
-	if (soap_out_int(soap, "setID", -1, &a->_setID, ""))
+	if (soap_out_string(soap, "setSpec", -1, &a->_setSpec, ""))
 		return soap->error;
 	return soap_element_end_out(soap, tag);
 }
@@ -21794,7 +21724,7 @@
 
 SOAP_FMAC3 struct dss__SetDisable * SOAP_FMAC4 soap_in_dss__SetDisable(struct soap *soap, const char *tag, struct dss__SetDisable *a, const char *type)
 {
-	short soap_flag__token = 1, soap_flag__setID = 1;
+	short soap_flag__token = 1, soap_flag__setSpec = 1;
 	if (soap_element_begin_in(soap, tag, 0, type))
 		return NULL;
 	a = (struct dss__SetDisable *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__SetDisable, sizeof(struct dss__SetDisable), 0, NULL, NULL, NULL);
@@ -21810,9 +21740,9 @@
 				{	soap_flag__token--;
 					continue;
 				}
-			if (soap_flag__setID && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_int(soap, NULL, &a->_setID, "xsd:int"))
-				{	soap_flag__setID--;
+			if (soap_flag__setSpec && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_setSpec, "xsd:string"))
+				{	soap_flag__setSpec--;
 					continue;
 				}
 			if (soap->error == SOAP_TAG_MISMATCH)
@@ -21830,7 +21760,7 @@
 		if (soap->body && soap_element_end_in(soap, tag))
 			return NULL;
 	}
-	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0 || soap_flag__setID > 0))
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0))
 	{	soap->error = SOAP_OCCURS;
 		return NULL;
 	}
@@ -21991,12 +21921,13 @@
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
 	soap_default_int(soap, &a->_token);
-	soap_default_int(soap, &a->_setID);
+	soap_default_string(soap, &a->_setSpec);
 }
 
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetEnable(struct soap *soap, const struct dss__SetEnable *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_setSpec);
 }
 
 SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__SetEnable(struct soap *soap, const struct dss__SetEnable *a, const char *tag, const char *type)
@@ -22013,7 +21944,7 @@
 		return soap->error;
 	if (soap_out_int(soap, "token", -1, &a->_token, ""))
 		return soap->error;
-	if (soap_out_int(soap, "setID", -1, &a->_setID, ""))
+	if (soap_out_string(soap, "setSpec", -1, &a->_setSpec, ""))
 		return soap->error;
 	return soap_element_end_out(soap, tag);
 }
@@ -22028,7 +21959,7 @@
 
 SOAP_FMAC3 struct dss__SetEnable * SOAP_FMAC4 soap_in_dss__SetEnable(struct soap *soap, const char *tag, struct dss__SetEnable *a, const char *type)
 {
-	short soap_flag__token = 1, soap_flag__setID = 1;
+	short soap_flag__token = 1, soap_flag__setSpec = 1;
 	if (soap_element_begin_in(soap, tag, 0, type))
 		return NULL;
 	a = (struct dss__SetEnable *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__SetEnable, sizeof(struct dss__SetEnable), 0, NULL, NULL, NULL);
@@ -22044,9 +21975,9 @@
 				{	soap_flag__token--;
 					continue;
 				}
-			if (soap_flag__setID && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_int(soap, NULL, &a->_setID, "xsd:int"))
-				{	soap_flag__setID--;
+			if (soap_flag__setSpec && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_setSpec, "xsd:string"))
+				{	soap_flag__setSpec--;
 					continue;
 				}
 			if (soap->error == SOAP_TAG_MISMATCH)
@@ -22064,7 +21995,7 @@
 		if (soap->body && soap_element_end_in(soap, tag))
 			return NULL;
 	}
-	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0 || soap_flag__setID > 0))
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0))
 	{	soap->error = SOAP_OCCURS;
 		return NULL;
 	}
@@ -22225,13 +22156,14 @@
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
 	soap_default_int(soap, &a->_token);
-	soap_default_int(soap, &a->_setID);
+	soap_default_string(soap, &a->_setSpec);
 	soap_default_int(soap, &a->_paramID);
 }
 
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetDecreaseValue(struct soap *soap, const struct dss__SetDecreaseValue *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_setSpec);
 }
 
 SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__SetDecreaseValue(struct soap *soap, const struct dss__SetDecreaseValue *a, const char *tag, const char *type)
@@ -22248,7 +22180,7 @@
 		return soap->error;
 	if (soap_out_int(soap, "token", -1, &a->_token, ""))
 		return soap->error;
-	if (soap_out_int(soap, "setID", -1, &a->_setID, ""))
+	if (soap_out_string(soap, "setSpec", -1, &a->_setSpec, ""))
 		return soap->error;
 	if (soap_out_int(soap, "paramID", -1, &a->_paramID, ""))
 		return soap->error;
@@ -22265,7 +22197,7 @@
 
 SOAP_FMAC3 struct dss__SetDecreaseValue * SOAP_FMAC4 soap_in_dss__SetDecreaseValue(struct soap *soap, const char *tag, struct dss__SetDecreaseValue *a, const char *type)
 {
-	short soap_flag__token = 1, soap_flag__setID = 1, soap_flag__paramID = 1;
+	short soap_flag__token = 1, soap_flag__setSpec = 1, soap_flag__paramID = 1;
 	if (soap_element_begin_in(soap, tag, 0, type))
 		return NULL;
 	a = (struct dss__SetDecreaseValue *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__SetDecreaseValue, sizeof(struct dss__SetDecreaseValue), 0, NULL, NULL, NULL);
@@ -22281,9 +22213,9 @@
 				{	soap_flag__token--;
 					continue;
 				}
-			if (soap_flag__setID && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_int(soap, NULL, &a->_setID, "xsd:int"))
-				{	soap_flag__setID--;
+			if (soap_flag__setSpec && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_setSpec, "xsd:string"))
+				{	soap_flag__setSpec--;
 					continue;
 				}
 			if (soap_flag__paramID && soap->error == SOAP_TAG_MISMATCH)
@@ -22306,7 +22238,7 @@
 		if (soap->body && soap_element_end_in(soap, tag))
 			return NULL;
 	}
-	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0 || soap_flag__setID > 0 || soap_flag__paramID > 0))
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0 || soap_flag__paramID > 0))
 	{	soap->error = SOAP_OCCURS;
 		return NULL;
 	}
@@ -22467,13 +22399,14 @@
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
 	soap_default_int(soap, &a->_token);
-	soap_default_int(soap, &a->_setID);
+	soap_default_string(soap, &a->_setSpec);
 	soap_default_int(soap, &a->_paramID);
 }
 
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetIncreaseValue(struct soap *soap, const struct dss__SetIncreaseValue *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_setSpec);
 }
 
 SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__SetIncreaseValue(struct soap *soap, const struct dss__SetIncreaseValue *a, const char *tag, const char *type)
@@ -22490,7 +22423,7 @@
 		return soap->error;
 	if (soap_out_int(soap, "token", -1, &a->_token, ""))
 		return soap->error;
-	if (soap_out_int(soap, "setID", -1, &a->_setID, ""))
+	if (soap_out_string(soap, "setSpec", -1, &a->_setSpec, ""))
 		return soap->error;
 	if (soap_out_int(soap, "paramID", -1, &a->_paramID, ""))
 		return soap->error;
@@ -22507,7 +22440,7 @@
 
 SOAP_FMAC3 struct dss__SetIncreaseValue * SOAP_FMAC4 soap_in_dss__SetIncreaseValue(struct soap *soap, const char *tag, struct dss__SetIncreaseValue *a, const char *type)
 {
-	short soap_flag__token = 1, soap_flag__setID = 1, soap_flag__paramID = 1;
+	short soap_flag__token = 1, soap_flag__setSpec = 1, soap_flag__paramID = 1;
 	if (soap_element_begin_in(soap, tag, 0, type))
 		return NULL;
 	a = (struct dss__SetIncreaseValue *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__SetIncreaseValue, sizeof(struct dss__SetIncreaseValue), 0, NULL, NULL, NULL);
@@ -22523,9 +22456,9 @@
 				{	soap_flag__token--;
 					continue;
 				}
-			if (soap_flag__setID && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_int(soap, NULL, &a->_setID, "xsd:int"))
-				{	soap_flag__setID--;
+			if (soap_flag__setSpec && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_setSpec, "xsd:string"))
+				{	soap_flag__setSpec--;
 					continue;
 				}
 			if (soap_flag__paramID && soap->error == SOAP_TAG_MISMATCH)
@@ -22548,7 +22481,7 @@
 		if (soap->body && soap_element_end_in(soap, tag))
 			return NULL;
 	}
-	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0 || soap_flag__setID > 0 || soap_flag__paramID > 0))
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0 || soap_flag__paramID > 0))
 	{	soap->error = SOAP_OCCURS;
 		return NULL;
 	}
@@ -22709,12 +22642,13 @@
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
 	soap_default_int(soap, &a->_token);
-	soap_default_int(soap, &a->_setID);
+	soap_default_string(soap, &a->_setSpec);
 }
 
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetTurnOff(struct soap *soap, const struct dss__SetTurnOff *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_setSpec);
 }
 
 SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__SetTurnOff(struct soap *soap, const struct dss__SetTurnOff *a, const char *tag, const char *type)
@@ -22731,7 +22665,7 @@
 		return soap->error;
 	if (soap_out_int(soap, "token", -1, &a->_token, ""))
 		return soap->error;
-	if (soap_out_int(soap, "setID", -1, &a->_setID, ""))
+	if (soap_out_string(soap, "setSpec", -1, &a->_setSpec, ""))
 		return soap->error;
 	return soap_element_end_out(soap, tag);
 }
@@ -22746,7 +22680,7 @@
 
 SOAP_FMAC3 struct dss__SetTurnOff * SOAP_FMAC4 soap_in_dss__SetTurnOff(struct soap *soap, const char *tag, struct dss__SetTurnOff *a, const char *type)
 {
-	short soap_flag__token = 1, soap_flag__setID = 1;
+	short soap_flag__token = 1, soap_flag__setSpec = 1;
 	if (soap_element_begin_in(soap, tag, 0, type))
 		return NULL;
 	a = (struct dss__SetTurnOff *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__SetTurnOff, sizeof(struct dss__SetTurnOff), 0, NULL, NULL, NULL);
@@ -22762,9 +22696,9 @@
 				{	soap_flag__token--;
 					continue;
 				}
-			if (soap_flag__setID && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_int(soap, NULL, &a->_setID, "xsd:int"))
-				{	soap_flag__setID--;
+			if (soap_flag__setSpec && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_setSpec, "xsd:string"))
+				{	soap_flag__setSpec--;
 					continue;
 				}
 			if (soap->error == SOAP_TAG_MISMATCH)
@@ -22782,7 +22716,7 @@
 		if (soap->body && soap_element_end_in(soap, tag))
 			return NULL;
 	}
-	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0 || soap_flag__setID > 0))
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0))
 	{	soap->error = SOAP_OCCURS;
 		return NULL;
 	}
@@ -22943,12 +22877,13 @@
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
 	soap_default_int(soap, &a->_token);
-	soap_default_int(soap, &a->_setID);
+	soap_default_string(soap, &a->_setSpec);
 }
 
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetTurnOn(struct soap *soap, const struct dss__SetTurnOn *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_setSpec);
 }
 
 SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__SetTurnOn(struct soap *soap, const struct dss__SetTurnOn *a, const char *tag, const char *type)
@@ -22965,7 +22900,7 @@
 		return soap->error;
 	if (soap_out_int(soap, "token", -1, &a->_token, ""))
 		return soap->error;
-	if (soap_out_int(soap, "setID", -1, &a->_setID, ""))
+	if (soap_out_string(soap, "setSpec", -1, &a->_setSpec, ""))
 		return soap->error;
 	return soap_element_end_out(soap, tag);
 }
@@ -22980,7 +22915,7 @@
 
 SOAP_FMAC3 struct dss__SetTurnOn * SOAP_FMAC4 soap_in_dss__SetTurnOn(struct soap *soap, const char *tag, struct dss__SetTurnOn *a, const char *type)
 {
-	short soap_flag__token = 1, soap_flag__setID = 1;
+	short soap_flag__token = 1, soap_flag__setSpec = 1;
 	if (soap_element_begin_in(soap, tag, 0, type))
 		return NULL;
 	a = (struct dss__SetTurnOn *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__SetTurnOn, sizeof(struct dss__SetTurnOn), 0, NULL, NULL, NULL);
@@ -22996,9 +22931,9 @@
 				{	soap_flag__token--;
 					continue;
 				}
-			if (soap_flag__setID && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_int(soap, NULL, &a->_setID, "xsd:int"))
-				{	soap_flag__setID--;
+			if (soap_flag__setSpec && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_setSpec, "xsd:string"))
+				{	soap_flag__setSpec--;
 					continue;
 				}
 			if (soap->error == SOAP_TAG_MISMATCH)
@@ -23016,7 +22951,7 @@
 		if (soap->body && soap_element_end_in(soap, tag))
 			return NULL;
 	}
-	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0 || soap_flag__setID > 0))
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0))
 	{	soap->error = SOAP_OCCURS;
 		return NULL;
 	}
@@ -23867,12 +23802,13 @@
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
 	soap_default_int(soap, &a->_token);
-	soap_default_int(soap, &a->_setID);
+	soap_default_string(soap, &a->_setSpec);
 }
 
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetGetContainedDevices(struct soap *soap, const struct dss__SetGetContainedDevices *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_setSpec);
 }
 
 SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__SetGetContainedDevices(struct soap *soap, const struct dss__SetGetContainedDevices *a, const char *tag, const char *type)
@@ -23889,7 +23825,7 @@
 		return soap->error;
 	if (soap_out_int(soap, "token", -1, &a->_token, ""))
 		return soap->error;
-	if (soap_out_int(soap, "setID", -1, &a->_setID, ""))
+	if (soap_out_string(soap, "setSpec", -1, &a->_setSpec, ""))
 		return soap->error;
 	return soap_element_end_out(soap, tag);
 }
@@ -23904,7 +23840,7 @@
 
 SOAP_FMAC3 struct dss__SetGetContainedDevices * SOAP_FMAC4 soap_in_dss__SetGetContainedDevices(struct soap *soap, const char *tag, struct dss__SetGetContainedDevices *a, const char *type)
 {
-	short soap_flag__token = 1, soap_flag__setID = 1;
+	short soap_flag__token = 1, soap_flag__setSpec = 1;
 	if (soap_element_begin_in(soap, tag, 0, type))
 		return NULL;
 	a = (struct dss__SetGetContainedDevices *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__SetGetContainedDevices, sizeof(struct dss__SetGetContainedDevices), 0, NULL, NULL, NULL);
@@ -23920,9 +23856,9 @@
 				{	soap_flag__token--;
 					continue;
 				}
-			if (soap_flag__setID && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_int(soap, NULL, &a->_setID, "xsd:int"))
-				{	soap_flag__setID--;
+			if (soap_flag__setSpec && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_setSpec, "xsd:string"))
+				{	soap_flag__setSpec--;
 					continue;
 				}
 			if (soap->error == SOAP_TAG_MISMATCH)
@@ -23940,7 +23876,7 @@
 		if (soap->body && soap_element_end_in(soap, tag))
 			return NULL;
 	}
-	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0 || soap_flag__setID > 0))
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0))
 	{	soap->error = SOAP_OCCURS;
 		return NULL;
 	}
@@ -24095,13 +24031,14 @@
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
 	soap_default_int(soap, &a->_token);
-	soap_default_int(soap, &a->_setID);
+	soap_default_string(soap, &a->_setSpec);
 	soap_default_int(soap, &a->_groupID);
 }
 
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetByGroup(struct soap *soap, const struct dss__SetByGroup *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_setSpec);
 }
 
 SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__SetByGroup(struct soap *soap, const struct dss__SetByGroup *a, const char *tag, const char *type)
@@ -24118,7 +24055,7 @@
 		return soap->error;
 	if (soap_out_int(soap, "token", -1, &a->_token, ""))
 		return soap->error;
-	if (soap_out_int(soap, "setID", -1, &a->_setID, ""))
+	if (soap_out_string(soap, "setSpec", -1, &a->_setSpec, ""))
 		return soap->error;
 	if (soap_out_int(soap, "groupID", -1, &a->_groupID, ""))
 		return soap->error;
@@ -24135,7 +24072,7 @@
 
 SOAP_FMAC3 struct dss__SetByGroup * SOAP_FMAC4 soap_in_dss__SetByGroup(struct soap *soap, const char *tag, struct dss__SetByGroup *a, const char *type)
 {
-	short soap_flag__token = 1, soap_flag__setID = 1, soap_flag__groupID = 1;
+	short soap_flag__token = 1, soap_flag__setSpec = 1, soap_flag__groupID = 1;
 	if (soap_element_begin_in(soap, tag, 0, type))
 		return NULL;
 	a = (struct dss__SetByGroup *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__SetByGroup, sizeof(struct dss__SetByGroup), 0, NULL, NULL, NULL);
@@ -24151,9 +24088,9 @@
 				{	soap_flag__token--;
 					continue;
 				}
-			if (soap_flag__setID && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_int(soap, NULL, &a->_setID, "xsd:int"))
-				{	soap_flag__setID--;
+			if (soap_flag__setSpec && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_setSpec, "xsd:string"))
+				{	soap_flag__setSpec--;
 					continue;
 				}
 			if (soap_flag__groupID && soap->error == SOAP_TAG_MISMATCH)
@@ -24176,7 +24113,7 @@
 		if (soap->body && soap_element_end_in(soap, tag))
 			return NULL;
 	}
-	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0 || soap_flag__setID > 0 || soap_flag__groupID > 0))
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0 || soap_flag__groupID > 0))
 	{	soap->error = SOAP_OCCURS;
 		return NULL;
 	}
@@ -24223,12 +24160,13 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetByGroupResponse(struct soap *soap, struct dss__SetByGroupResponse *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
-	soap_default_int(soap, &a->setID);
+	soap_default_std__string(soap, &a->result);
 }
 
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetByGroupResponse(struct soap *soap, const struct dss__SetByGroupResponse *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_std__string(soap, &a->result);
 }
 
 SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__SetByGroupResponse(struct soap *soap, const struct dss__SetByGroupResponse *a, const char *tag, const char *type)
@@ -24243,7 +24181,7 @@
 {
 	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_dss__SetByGroupResponse), type))
 		return soap->error;
-	if (soap_out_int(soap, "setID", -1, &a->setID, ""))
+	if (soap_out_std__string(soap, "result", -1, &a->result, ""))
 		return soap->error;
 	return soap_element_end_out(soap, tag);
 }
@@ -24258,10 +24196,10 @@
 
 SOAP_FMAC3 struct dss__SetByGroupResponse * SOAP_FMAC4 soap_in_dss__SetByGroupResponse(struct soap *soap, const char *tag, struct dss__SetByGroupResponse *a, const char *type)
 {
-	short soap_flag_setID = 1;
+	short soap_flag_result = 1;
 	if (soap_element_begin_in(soap, tag, 0, type))
 		return NULL;
-	a = (struct dss__SetByGroupResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__SetByGroupResponse, sizeof(struct dss__SetByGroupResponse), 0, NULL, NULL, NULL);
+	a = (struct dss__SetByGroupResponse *)soap_class_id_enter(soap, soap->id, a, SOAP_TYPE_dss__SetByGroupResponse, sizeof(struct dss__SetByGroupResponse), soap->type, soap->arrayType);
 	if (!a)
 		return NULL;
 	soap_default_dss__SetByGroupResponse(soap, a);
@@ -24269,9 +24207,9 @@
 	{
 		for (;;)
 		{	soap->error = SOAP_TAG_MISMATCH;
-			if (soap_flag_setID && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_int(soap, "setID", &a->setID, "xsd:int"))
-				{	soap_flag_setID--;
+			if (soap_flag_result && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_std__string(soap, "result", &a->result, "xsd:string"))
+				{	soap_flag_result--;
 					continue;
 				}
 			if (soap->error == SOAP_TAG_MISMATCH)
@@ -24285,11 +24223,11 @@
 			return NULL;
 	}
 	else
-	{	a = (struct dss__SetByGroupResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__SetByGroupResponse, 0, sizeof(struct dss__SetByGroupResponse), 0, NULL);
+	{	a = (struct dss__SetByGroupResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__SetByGroupResponse, 0, sizeof(struct dss__SetByGroupResponse), 0, soap_copy_dss__SetByGroupResponse);
 		if (soap->body && soap_element_end_in(soap, tag))
 			return NULL;
 	}
-	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_setID > 0))
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_result > 0))
 	{	soap->error = SOAP_OCCURS;
 		return NULL;
 	}
@@ -24337,13 +24275,15 @@
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
 	soap_default_int(soap, &a->_token);
-	soap_default_int(soap, &a->_setID);
-	soap_default_int(soap, &a->_setIDToRemove);
+	soap_default_string(soap, &a->_setSpec);
+	soap_default_string(soap, &a->_setSpecToRemove);
 }
 
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetRemove(struct soap *soap, const struct dss__SetRemove *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_setSpec);
+	soap_serialize_string(soap, &a->_setSpecToRemove);
 }
 
 SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__SetRemove(struct soap *soap, const struct dss__SetRemove *a, const char *tag, const char *type)
@@ -24360,9 +24300,9 @@
 		return soap->error;
 	if (soap_out_int(soap, "token", -1, &a->_token, ""))
 		return soap->error;
-	if (soap_out_int(soap, "setID", -1, &a->_setID, ""))
+	if (soap_out_string(soap, "setSpec", -1, &a->_setSpec, ""))
 		return soap->error;
-	if (soap_out_int(soap, "setIDToRemove", -1, &a->_setIDToRemove, ""))
+	if (soap_out_string(soap, "setSpecToRemove", -1, &a->_setSpecToRemove, ""))
 		return soap->error;
 	return soap_element_end_out(soap, tag);
 }
@@ -24377,7 +24317,7 @@
 
 SOAP_FMAC3 struct dss__SetRemove * SOAP_FMAC4 soap_in_dss__SetRemove(struct soap *soap, const char *tag, struct dss__SetRemove *a, const char *type)
 {
-	short soap_flag__token = 1, soap_flag__setID = 1, soap_flag__setIDToRemove = 1;
+	short soap_flag__token = 1, soap_flag__setSpec = 1, soap_flag__setSpecToRemove = 1;
 	if (soap_element_begin_in(soap, tag, 0, type))
 		return NULL;
 	a = (struct dss__SetRemove *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__SetRemove, sizeof(struct dss__SetRemove), 0, NULL, NULL, NULL);
@@ -24393,14 +24333,14 @@
 				{	soap_flag__token--;
 					continue;
 				}
-			if (soap_flag__setID && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_int(soap, NULL, &a->_setID, "xsd:int"))
-				{	soap_flag__setID--;
+			if (soap_flag__setSpec && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_setSpec, "xsd:string"))
+				{	soap_flag__setSpec--;
 					continue;
 				}
-			if (soap_flag__setIDToRemove && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_int(soap, NULL, &a->_setIDToRemove, "xsd:int"))
-				{	soap_flag__setIDToRemove--;
+			if (soap_flag__setSpecToRemove && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_setSpecToRemove, "xsd:string"))
+				{	soap_flag__setSpecToRemove--;
 					continue;
 				}
 			if (soap->error == SOAP_TAG_MISMATCH)
@@ -24418,7 +24358,7 @@
 		if (soap->body && soap_element_end_in(soap, tag))
 			return NULL;
 	}
-	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0 || soap_flag__setID > 0 || soap_flag__setIDToRemove > 0))
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0))
 	{	soap->error = SOAP_OCCURS;
 		return NULL;
 	}
@@ -24465,12 +24405,13 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetRemoveResponse(struct soap *soap, struct dss__SetRemoveResponse *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
-	soap_default_int(soap, &a->setID);
+	soap_default_std__string(soap, &a->result);
 }
 
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetRemoveResponse(struct soap *soap, const struct dss__SetRemoveResponse *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_std__string(soap, &a->result);
 }
 
 SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__SetRemoveResponse(struct soap *soap, const struct dss__SetRemoveResponse *a, const char *tag, const char *type)
@@ -24485,7 +24426,7 @@
 {
 	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_dss__SetRemoveResponse), type))
 		return soap->error;
-	if (soap_out_int(soap, "setID", -1, &a->setID, ""))
+	if (soap_out_std__string(soap, "result", -1, &a->result, ""))
 		return soap->error;
 	return soap_element_end_out(soap, tag);
 }
@@ -24500,10 +24441,10 @@
 
 SOAP_FMAC3 struct dss__SetRemoveResponse * SOAP_FMAC4 soap_in_dss__SetRemoveResponse(struct soap *soap, const char *tag, struct dss__SetRemoveResponse *a, const char *type)
 {
-	short soap_flag_setID = 1;
+	short soap_flag_result = 1;
 	if (soap_element_begin_in(soap, tag, 0, type))
 		return NULL;
-	a = (struct dss__SetRemoveResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__SetRemoveResponse, sizeof(struct dss__SetRemoveResponse), 0, NULL, NULL, NULL);
+	a = (struct dss__SetRemoveResponse *)soap_class_id_enter(soap, soap->id, a, SOAP_TYPE_dss__SetRemoveResponse, sizeof(struct dss__SetRemoveResponse), soap->type, soap->arrayType);
 	if (!a)
 		return NULL;
 	soap_default_dss__SetRemoveResponse(soap, a);
@@ -24511,9 +24452,9 @@
 	{
 		for (;;)
 		{	soap->error = SOAP_TAG_MISMATCH;
-			if (soap_flag_setID && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_int(soap, "setID", &a->setID, "xsd:int"))
-				{	soap_flag_setID--;
+			if (soap_flag_result && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_std__string(soap, "result", &a->result, "xsd:string"))
+				{	soap_flag_result--;
 					continue;
 				}
 			if (soap->error == SOAP_TAG_MISMATCH)
@@ -24527,11 +24468,11 @@
 			return NULL;
 	}
 	else
-	{	a = (struct dss__SetRemoveResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__SetRemoveResponse, 0, sizeof(struct dss__SetRemoveResponse), 0, NULL);
+	{	a = (struct dss__SetRemoveResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__SetRemoveResponse, 0, sizeof(struct dss__SetRemoveResponse), 0, soap_copy_dss__SetRemoveResponse);
 		if (soap->body && soap_element_end_in(soap, tag))
 			return NULL;
 	}
-	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_setID > 0))
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_result > 0))
 	{	soap->error = SOAP_OCCURS;
 		return NULL;
 	}
@@ -24579,13 +24520,15 @@
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
 	soap_default_int(soap, &a->_token);
-	soap_default_int(soap, &a->_setID1);
-	soap_default_int(soap, &a->_setID2);
+	soap_default_string(soap, &a->_setSpec1);
+	soap_default_string(soap, &a->_setSpec2);
 }
 
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetCombine(struct soap *soap, const struct dss__SetCombine *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_setSpec1);
+	soap_serialize_string(soap, &a->_setSpec2);
 }
 
 SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__SetCombine(struct soap *soap, const struct dss__SetCombine *a, const char *tag, const char *type)
@@ -24602,9 +24545,9 @@
 		return soap->error;
 	if (soap_out_int(soap, "token", -1, &a->_token, ""))
 		return soap->error;
-	if (soap_out_int(soap, "setID1", -1, &a->_setID1, ""))
+	if (soap_out_string(soap, "setSpec1", -1, &a->_setSpec1, ""))
 		return soap->error;
-	if (soap_out_int(soap, "setID2", -1, &a->_setID2, ""))
+	if (soap_out_string(soap, "setSpec2", -1, &a->_setSpec2, ""))
 		return soap->error;
 	return soap_element_end_out(soap, tag);
 }
@@ -24619,7 +24562,7 @@
 
 SOAP_FMAC3 struct dss__SetCombine * SOAP_FMAC4 soap_in_dss__SetCombine(struct soap *soap, const char *tag, struct dss__SetCombine *a, const char *type)
 {
-	short soap_flag__token = 1, soap_flag__setID1 = 1, soap_flag__setID2 = 1;
+	short soap_flag__token = 1, soap_flag__setSpec1 = 1, soap_flag__setSpec2 = 1;
 	if (soap_element_begin_in(soap, tag, 0, type))
 		return NULL;
 	a = (struct dss__SetCombine *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__SetCombine, sizeof(struct dss__SetCombine), 0, NULL, NULL, NULL);
@@ -24635,14 +24578,14 @@
 				{	soap_flag__token--;
 					continue;
 				}
-			if (soap_flag__setID1 && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_int(soap, NULL, &a->_setID1, "xsd:int"))
-				{	soap_flag__setID1--;
+			if (soap_flag__setSpec1 && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_setSpec1, "xsd:string"))
+				{	soap_flag__setSpec1--;
 					continue;
 				}
-			if (soap_flag__setID2 && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_int(soap, NULL, &a->_setID2, "xsd:int"))
-				{	soap_flag__setID2--;
+			if (soap_flag__setSpec2 && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_setSpec2, "xsd:string"))
+				{	soap_flag__setSpec2--;
 					continue;
 				}
 			if (soap->error == SOAP_TAG_MISMATCH)
@@ -24660,7 +24603,7 @@
 		if (soap->body && soap_element_end_in(soap, tag))
 			return NULL;
 	}
-	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0 || soap_flag__setID1 > 0 || soap_flag__setID2 > 0))
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0))
 	{	soap->error = SOAP_OCCURS;
 		return NULL;
 	}
@@ -24707,12 +24650,13 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetCombineResponse(struct soap *soap, struct dss__SetCombineResponse *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
-	soap_default_int(soap, &a->setID);
+	soap_default_std__string(soap, &a->result);
 }
 
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetCombineResponse(struct soap *soap, const struct dss__SetCombineResponse *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_std__string(soap, &a->result);
 }
 
 SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__SetCombineResponse(struct soap *soap, const struct dss__SetCombineResponse *a, const char *tag, const char *type)
@@ -24727,7 +24671,7 @@
 {
 	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_dss__SetCombineResponse), type))
 		return soap->error;
-	if (soap_out_int(soap, "setID", -1, &a->setID, ""))
+	if (soap_out_std__string(soap, "result", -1, &a->result, ""))
 		return soap->error;
 	return soap_element_end_out(soap, tag);
 }
@@ -24742,10 +24686,10 @@
 
 SOAP_FMAC3 struct dss__SetCombineResponse * SOAP_FMAC4 soap_in_dss__SetCombineResponse(struct soap *soap, const char *tag, struct dss__SetCombineResponse *a, const char *type)
 {
-	short soap_flag_setID = 1;
+	short soap_flag_result = 1;
 	if (soap_element_begin_in(soap, tag, 0, type))
 		return NULL;
-	a = (struct dss__SetCombineResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__SetCombineResponse, sizeof(struct dss__SetCombineResponse), 0, NULL, NULL, NULL);
+	a = (struct dss__SetCombineResponse *)soap_class_id_enter(soap, soap->id, a, SOAP_TYPE_dss__SetCombineResponse, sizeof(struct dss__SetCombineResponse), soap->type, soap->arrayType);
 	if (!a)
 		return NULL;
 	soap_default_dss__SetCombineResponse(soap, a);
@@ -24753,9 +24697,9 @@
 	{
 		for (;;)
 		{	soap->error = SOAP_TAG_MISMATCH;
-			if (soap_flag_setID && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_int(soap, "setID", &a->setID, "xsd:int"))
-				{	soap_flag_setID--;
+			if (soap_flag_result && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_std__string(soap, "result", &a->result, "xsd:string"))
+				{	soap_flag_result--;
 					continue;
 				}
 			if (soap->error == SOAP_TAG_MISMATCH)
@@ -24769,11 +24713,11 @@
 			return NULL;
 	}
 	else
-	{	a = (struct dss__SetCombineResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__SetCombineResponse, 0, sizeof(struct dss__SetCombineResponse), 0, NULL);
+	{	a = (struct dss__SetCombineResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__SetCombineResponse, 0, sizeof(struct dss__SetCombineResponse), 0, soap_copy_dss__SetCombineResponse);
 		if (soap->body && soap_element_end_in(soap, tag))
 			return NULL;
 	}
-	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_setID > 0))
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_result > 0))
 	{	soap->error = SOAP_OCCURS;
 		return NULL;
 	}
@@ -24821,13 +24765,14 @@
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
 	soap_default_int(soap, &a->_token);
-	soap_default_int(soap, &a->_setID);
+	soap_default_string(soap, &a->_setSpec);
 	soap_default_string(soap, &a->_deviceID);
 }
 
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetRemoveDevice(struct soap *soap, const struct dss__SetRemoveDevice *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_setSpec);
 	soap_serialize_string(soap, &a->_deviceID);
 }
 
@@ -24845,7 +24790,7 @@
 		return soap->error;
 	if (soap_out_int(soap, "token", -1, &a->_token, ""))
 		return soap->error;
-	if (soap_out_int(soap, "setID", -1, &a->_setID, ""))
+	if (soap_out_string(soap, "setSpec", -1, &a->_setSpec, ""))
 		return soap->error;
 	if (soap_out_string(soap, "deviceID", -1, &a->_deviceID, ""))
 		return soap->error;
@@ -24862,7 +24807,7 @@
 
 SOAP_FMAC3 struct dss__SetRemoveDevice * SOAP_FMAC4 soap_in_dss__SetRemoveDevice(struct soap *soap, const char *tag, struct dss__SetRemoveDevice *a, const char *type)
 {
-	short soap_flag__token = 1, soap_flag__setID = 1, soap_flag__deviceID = 1;
+	short soap_flag__token = 1, soap_flag__setSpec = 1, soap_flag__deviceID = 1;
 	if (soap_element_begin_in(soap, tag, 0, type))
 		return NULL;
 	a = (struct dss__SetRemoveDevice *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__SetRemoveDevice, sizeof(struct dss__SetRemoveDevice), 0, NULL, NULL, NULL);
@@ -24878,9 +24823,9 @@
 				{	soap_flag__token--;
 					continue;
 				}
-			if (soap_flag__setID && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_int(soap, NULL, &a->_setID, "xsd:int"))
-				{	soap_flag__setID--;
+			if (soap_flag__setSpec && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_setSpec, "xsd:string"))
+				{	soap_flag__setSpec--;
 					continue;
 				}
 			if (soap_flag__deviceID && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
@@ -24903,7 +24848,7 @@
 		if (soap->body && soap_element_end_in(soap, tag))
 			return NULL;
 	}
-	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0 || soap_flag__setID > 0))
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0))
 	{	soap->error = SOAP_OCCURS;
 		return NULL;
 	}
@@ -24950,12 +24895,13 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetRemoveDeviceResponse(struct soap *soap, struct dss__SetRemoveDeviceResponse *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
-	soap_default_bool(soap, &a->result);
+	soap_default_std__string(soap, &a->result);
 }
 
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetRemoveDeviceResponse(struct soap *soap, const struct dss__SetRemoveDeviceResponse *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_std__string(soap, &a->result);
 }
 
 SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__SetRemoveDeviceResponse(struct soap *soap, const struct dss__SetRemoveDeviceResponse *a, const char *tag, const char *type)
@@ -24970,7 +24916,7 @@
 {
 	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_dss__SetRemoveDeviceResponse), type))
 		return soap->error;
-	if (soap_out_bool(soap, "result", -1, &a->result, ""))
+	if (soap_out_std__string(soap, "result", -1, &a->result, ""))
 		return soap->error;
 	return soap_element_end_out(soap, tag);
 }
@@ -24988,7 +24934,7 @@
 	short soap_flag_result = 1;
 	if (soap_element_begin_in(soap, tag, 0, type))
 		return NULL;
-	a = (struct dss__SetRemoveDeviceResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__SetRemoveDeviceResponse, sizeof(struct dss__SetRemoveDeviceResponse), 0, NULL, NULL, NULL);
+	a = (struct dss__SetRemoveDeviceResponse *)soap_class_id_enter(soap, soap->id, a, SOAP_TYPE_dss__SetRemoveDeviceResponse, sizeof(struct dss__SetRemoveDeviceResponse), soap->type, soap->arrayType);
 	if (!a)
 		return NULL;
 	soap_default_dss__SetRemoveDeviceResponse(soap, a);
@@ -24996,8 +24942,8 @@
 	{
 		for (;;)
 		{	soap->error = SOAP_TAG_MISMATCH;
-			if (soap_flag_result && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_bool(soap, "result", &a->result, "xsd:boolean"))
+			if (soap_flag_result && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_std__string(soap, "result", &a->result, "xsd:string"))
 				{	soap_flag_result--;
 					continue;
 				}
@@ -25012,7 +24958,7 @@
 			return NULL;
 	}
 	else
-	{	a = (struct dss__SetRemoveDeviceResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__SetRemoveDeviceResponse, 0, sizeof(struct dss__SetRemoveDeviceResponse), 0, NULL);
+	{	a = (struct dss__SetRemoveDeviceResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__SetRemoveDeviceResponse, 0, sizeof(struct dss__SetRemoveDeviceResponse), 0, soap_copy_dss__SetRemoveDeviceResponse);
 		if (soap->body && soap_element_end_in(soap, tag))
 			return NULL;
 	}
@@ -25064,13 +25010,14 @@
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
 	soap_default_int(soap, &a->_token);
-	soap_default_int(soap, &a->_setID);
+	soap_default_string(soap, &a->_setSpec);
 	soap_default_string(soap, &a->_deviceID);
 }
 
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetAddDeviceByID(struct soap *soap, const struct dss__SetAddDeviceByID *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_setSpec);
 	soap_serialize_string(soap, &a->_deviceID);
 }
 
@@ -25088,7 +25035,7 @@
 		return soap->error;
 	if (soap_out_int(soap, "token", -1, &a->_token, ""))
 		return soap->error;
-	if (soap_out_int(soap, "setID", -1, &a->_setID, ""))
+	if (soap_out_string(soap, "setSpec", -1, &a->_setSpec, ""))
 		return soap->error;
 	if (soap_out_string(soap, "deviceID", -1, &a->_deviceID, ""))
 		return soap->error;
@@ -25105,7 +25052,7 @@
 
 SOAP_FMAC3 struct dss__SetAddDeviceByID * SOAP_FMAC4 soap_in_dss__SetAddDeviceByID(struct soap *soap, const char *tag, struct dss__SetAddDeviceByID *a, const char *type)
 {
-	short soap_flag__token = 1, soap_flag__setID = 1, soap_flag__deviceID = 1;
+	short soap_flag__token = 1, soap_flag__setSpec = 1, soap_flag__deviceID = 1;
 	if (soap_element_begin_in(soap, tag, 0, type))
 		return NULL;
 	a = (struct dss__SetAddDeviceByID *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__SetAddDeviceByID, sizeof(struct dss__SetAddDeviceByID), 0, NULL, NULL, NULL);
@@ -25121,9 +25068,9 @@
 				{	soap_flag__token--;
 					continue;
 				}
-			if (soap_flag__setID && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_int(soap, NULL, &a->_setID, "xsd:int"))
-				{	soap_flag__setID--;
+			if (soap_flag__setSpec && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_setSpec, "xsd:string"))
+				{	soap_flag__setSpec--;
 					continue;
 				}
 			if (soap_flag__deviceID && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
@@ -25146,7 +25093,7 @@
 		if (soap->body && soap_element_end_in(soap, tag))
 			return NULL;
 	}
-	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0 || soap_flag__setID > 0))
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0))
 	{	soap->error = SOAP_OCCURS;
 		return NULL;
 	}
@@ -25193,12 +25140,13 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetAddDeviceByIDResponse(struct soap *soap, struct dss__SetAddDeviceByIDResponse *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
-	soap_default_bool(soap, &a->result);
+	soap_default_std__string(soap, &a->result);
 }
 
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetAddDeviceByIDResponse(struct soap *soap, const struct dss__SetAddDeviceByIDResponse *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_std__string(soap, &a->result);
 }
 
 SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__SetAddDeviceByIDResponse(struct soap *soap, const struct dss__SetAddDeviceByIDResponse *a, const char *tag, const char *type)
@@ -25213,7 +25161,7 @@
 {
 	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_dss__SetAddDeviceByIDResponse), type))
 		return soap->error;
-	if (soap_out_bool(soap, "result", -1, &a->result, ""))
+	if (soap_out_std__string(soap, "result", -1, &a->result, ""))
 		return soap->error;
 	return soap_element_end_out(soap, tag);
 }
@@ -25231,7 +25179,7 @@
 	short soap_flag_result = 1;
 	if (soap_element_begin_in(soap, tag, 0, type))
 		return NULL;
-	a = (struct dss__SetAddDeviceByIDResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__SetAddDeviceByIDResponse, sizeof(struct dss__SetAddDeviceByIDResponse), 0, NULL, NULL, NULL);
+	a = (struct dss__SetAddDeviceByIDResponse *)soap_class_id_enter(soap, soap->id, a, SOAP_TYPE_dss__SetAddDeviceByIDResponse, sizeof(struct dss__SetAddDeviceByIDResponse), soap->type, soap->arrayType);
 	if (!a)
 		return NULL;
 	soap_default_dss__SetAddDeviceByIDResponse(soap, a);
@@ -25239,8 +25187,8 @@
 	{
 		for (;;)
 		{	soap->error = SOAP_TAG_MISMATCH;
-			if (soap_flag_result && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_bool(soap, "result", &a->result, "xsd:boolean"))
+			if (soap_flag_result && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_std__string(soap, "result", &a->result, "xsd:string"))
 				{	soap_flag_result--;
 					continue;
 				}
@@ -25255,7 +25203,7 @@
 			return NULL;
 	}
 	else
-	{	a = (struct dss__SetAddDeviceByIDResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__SetAddDeviceByIDResponse, 0, sizeof(struct dss__SetAddDeviceByIDResponse), 0, NULL);
+	{	a = (struct dss__SetAddDeviceByIDResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__SetAddDeviceByIDResponse, 0, sizeof(struct dss__SetAddDeviceByIDResponse), 0, soap_copy_dss__SetAddDeviceByIDResponse);
 		if (soap->body && soap_element_end_in(soap, tag))
 			return NULL;
 	}
@@ -25307,13 +25255,14 @@
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
 	soap_default_int(soap, &a->_token);
-	soap_default_int(soap, &a->_setID);
+	soap_default_string(soap, &a->_setSpec);
 	soap_default_string(soap, &a->_name);
 }
 
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetAddDeviceByName(struct soap *soap, const struct dss__SetAddDeviceByName *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_string(soap, &a->_setSpec);
 	soap_serialize_string(soap, &a->_name);
 }
 
@@ -25331,7 +25280,7 @@
 		return soap->error;
 	if (soap_out_int(soap, "token", -1, &a->_token, ""))
 		return soap->error;
-	if (soap_out_int(soap, "setID", -1, &a->_setID, ""))
+	if (soap_out_string(soap, "setSpec", -1, &a->_setSpec, ""))
 		return soap->error;
 	if (soap_out_string(soap, "name", -1, &a->_name, ""))
 		return soap->error;
@@ -25348,7 +25297,7 @@
 
 SOAP_FMAC3 struct dss__SetAddDeviceByName * SOAP_FMAC4 soap_in_dss__SetAddDeviceByName(struct soap *soap, const char *tag, struct dss__SetAddDeviceByName *a, const char *type)
 {
-	short soap_flag__token = 1, soap_flag__setID = 1, soap_flag__name = 1;
+	short soap_flag__token = 1, soap_flag__setSpec = 1, soap_flag__name = 1;
 	if (soap_element_begin_in(soap, tag, 0, type))
 		return NULL;
 	a = (struct dss__SetAddDeviceByName *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__SetAddDeviceByName, sizeof(struct dss__SetAddDeviceByName), 0, NULL, NULL, NULL);
@@ -25364,9 +25313,9 @@
 				{	soap_flag__token--;
 					continue;
 				}
-			if (soap_flag__setID && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_int(soap, NULL, &a->_setID, "xsd:int"))
-				{	soap_flag__setID--;
+			if (soap_flag__setSpec && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_string(soap, NULL, &a->_setSpec, "xsd:string"))
+				{	soap_flag__setSpec--;
 					continue;
 				}
 			if (soap_flag__name && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
@@ -25389,7 +25338,7 @@
 		if (soap->body && soap_element_end_in(soap, tag))
 			return NULL;
 	}
-	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0 || soap_flag__setID > 0))
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0))
 	{	soap->error = SOAP_OCCURS;
 		return NULL;
 	}
@@ -25436,12 +25385,13 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetAddDeviceByNameResponse(struct soap *soap, struct dss__SetAddDeviceByNameResponse *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
-	soap_default_bool(soap, &a->result);
+	soap_default_std__string(soap, &a->result);
 }
 
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetAddDeviceByNameResponse(struct soap *soap, const struct dss__SetAddDeviceByNameResponse *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_std__string(soap, &a->result);
 }
 
 SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__SetAddDeviceByNameResponse(struct soap *soap, const struct dss__SetAddDeviceByNameResponse *a, const char *tag, const char *type)
@@ -25456,7 +25406,7 @@
 {
 	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_dss__SetAddDeviceByNameResponse), type))
 		return soap->error;
-	if (soap_out_bool(soap, "result", -1, &a->result, ""))
+	if (soap_out_std__string(soap, "result", -1, &a->result, ""))
 		return soap->error;
 	return soap_element_end_out(soap, tag);
 }
@@ -25474,7 +25424,7 @@
 	short soap_flag_result = 1;
 	if (soap_element_begin_in(soap, tag, 0, type))
 		return NULL;
-	a = (struct dss__SetAddDeviceByNameResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__SetAddDeviceByNameResponse, sizeof(struct dss__SetAddDeviceByNameResponse), 0, NULL, NULL, NULL);
+	a = (struct dss__SetAddDeviceByNameResponse *)soap_class_id_enter(soap, soap->id, a, SOAP_TYPE_dss__SetAddDeviceByNameResponse, sizeof(struct dss__SetAddDeviceByNameResponse), soap->type, soap->arrayType);
 	if (!a)
 		return NULL;
 	soap_default_dss__SetAddDeviceByNameResponse(soap, a);
@@ -25482,8 +25432,8 @@
 	{
 		for (;;)
 		{	soap->error = SOAP_TAG_MISMATCH;
-			if (soap_flag_result && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_bool(soap, "result", &a->result, "xsd:boolean"))
+			if (soap_flag_result && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_std__string(soap, "result", &a->result, "xsd:string"))
 				{	soap_flag_result--;
 					continue;
 				}
@@ -25498,7 +25448,7 @@
 			return NULL;
 	}
 	else
-	{	a = (struct dss__SetAddDeviceByNameResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__SetAddDeviceByNameResponse, 0, sizeof(struct dss__SetAddDeviceByNameResponse), 0, NULL);
+	{	a = (struct dss__SetAddDeviceByNameResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__SetAddDeviceByNameResponse, 0, sizeof(struct dss__SetAddDeviceByNameResponse), 0, soap_copy_dss__SetAddDeviceByNameResponse);
 		if (soap->body && soap_element_end_in(soap, tag))
 			return NULL;
 	}
@@ -25898,12 +25848,13 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentGetDevicesResponse(struct soap *soap, struct dss__ApartmentGetDevicesResponse *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
-	soap_default_int(soap, &a->setID);
+	soap_default_std__string(soap, &a->result);
 }
 
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentGetDevicesResponse(struct soap *soap, const struct dss__ApartmentGetDevicesResponse *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_std__string(soap, &a->result);
 }
 
 SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__ApartmentGetDevicesResponse(struct soap *soap, const struct dss__ApartmentGetDevicesResponse *a, const char *tag, const char *type)
@@ -25918,7 +25869,7 @@
 {
 	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_dss__ApartmentGetDevicesResponse), type))
 		return soap->error;
-	if (soap_out_int(soap, "setID", -1, &a->setID, ""))
+	if (soap_out_std__string(soap, "result", -1, &a->result, ""))
 		return soap->error;
 	return soap_element_end_out(soap, tag);
 }
@@ -25933,10 +25884,10 @@
 
 SOAP_FMAC3 struct dss__ApartmentGetDevicesResponse * SOAP_FMAC4 soap_in_dss__ApartmentGetDevicesResponse(struct soap *soap, const char *tag, struct dss__ApartmentGetDevicesResponse *a, const char *type)
 {
-	short soap_flag_setID = 1;
+	short soap_flag_result = 1;
 	if (soap_element_begin_in(soap, tag, 0, type))
 		return NULL;
-	a = (struct dss__ApartmentGetDevicesResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__ApartmentGetDevicesResponse, sizeof(struct dss__ApartmentGetDevicesResponse), 0, NULL, NULL, NULL);
+	a = (struct dss__ApartmentGetDevicesResponse *)soap_class_id_enter(soap, soap->id, a, SOAP_TYPE_dss__ApartmentGetDevicesResponse, sizeof(struct dss__ApartmentGetDevicesResponse), soap->type, soap->arrayType);
 	if (!a)
 		return NULL;
 	soap_default_dss__ApartmentGetDevicesResponse(soap, a);
@@ -25944,9 +25895,9 @@
 	{
 		for (;;)
 		{	soap->error = SOAP_TAG_MISMATCH;
-			if (soap_flag_setID && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_int(soap, "setID", &a->setID, "xsd:int"))
-				{	soap_flag_setID--;
+			if (soap_flag_result && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_std__string(soap, "result", &a->result, "xsd:string"))
+				{	soap_flag_result--;
 					continue;
 				}
 			if (soap->error == SOAP_TAG_MISMATCH)
@@ -25960,11 +25911,11 @@
 			return NULL;
 	}
 	else
-	{	a = (struct dss__ApartmentGetDevicesResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__ApartmentGetDevicesResponse, 0, sizeof(struct dss__ApartmentGetDevicesResponse), 0, NULL);
+	{	a = (struct dss__ApartmentGetDevicesResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__ApartmentGetDevicesResponse, 0, sizeof(struct dss__ApartmentGetDevicesResponse), 0, soap_copy_dss__ApartmentGetDevicesResponse);
 		if (soap->body && soap_element_end_in(soap, tag))
 			return NULL;
 	}
-	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_setID > 0))
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_result > 0))
 	{	soap->error = SOAP_OCCURS;
 		return NULL;
 	}
@@ -26008,232 +25959,6 @@
 	*(struct dss__ApartmentGetDevicesResponse*)p = *(struct dss__ApartmentGetDevicesResponse*)q;
 }
 
-SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentCreateEmptySet(struct soap *soap, struct dss__ApartmentCreateEmptySet *a)
-{
-	(void)soap; (void)a; /* appease -Wall -Werror */
-	soap_default_int(soap, &a->_token);
-}
-
-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentCreateEmptySet(struct soap *soap, const struct dss__ApartmentCreateEmptySet *a)
-{
-	(void)soap; (void)a; /* appease -Wall -Werror */
-}
-
-SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__ApartmentCreateEmptySet(struct soap *soap, const struct dss__ApartmentCreateEmptySet *a, const char *tag, const char *type)
-{
-	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_dss__ApartmentCreateEmptySet);
-	if (soap_out_dss__ApartmentCreateEmptySet(soap, tag, id, a, type))
-		return soap->error;
-	return soap_putindependent(soap);
-}
-
-SOAP_FMAC3 int SOAP_FMAC4 soap_out_dss__ApartmentCreateEmptySet(struct soap *soap, const char *tag, int id, const struct dss__ApartmentCreateEmptySet *a, const char *type)
-{
-	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_dss__ApartmentCreateEmptySet), type))
-		return soap->error;
-	if (soap_out_int(soap, "token", -1, &a->_token, ""))
-		return soap->error;
-	return soap_element_end_out(soap, tag);
-}
-
-SOAP_FMAC3 struct dss__ApartmentCreateEmptySet * SOAP_FMAC4 soap_get_dss__ApartmentCreateEmptySet(struct soap *soap, struct dss__ApartmentCreateEmptySet *p, const char *tag, const char *type)
-{
-	if ((p = soap_in_dss__ApartmentCreateEmptySet(soap, tag, p, type)))
-		if (soap_getindependent(soap))
-			return NULL;
-	return p;
-}
-
-SOAP_FMAC3 struct dss__ApartmentCreateEmptySet * SOAP_FMAC4 soap_in_dss__ApartmentCreateEmptySet(struct soap *soap, const char *tag, struct dss__ApartmentCreateEmptySet *a, const char *type)
-{
-	short soap_flag__token = 1;
-	if (soap_element_begin_in(soap, tag, 0, type))
-		return NULL;
-	a = (struct dss__ApartmentCreateEmptySet *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__ApartmentCreateEmptySet, sizeof(struct dss__ApartmentCreateEmptySet), 0, NULL, NULL, NULL);
-	if (!a)
-		return NULL;
-	soap_default_dss__ApartmentCreateEmptySet(soap, a);
-	if (soap->body && !*soap->href)
-	{
-		for (;;)
-		{	soap->error = SOAP_TAG_MISMATCH;
-			if (soap_flag__token && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_int(soap, NULL, &a->_token, "xsd:int"))
-				{	soap_flag__token--;
-					continue;
-				}
-			if (soap->error == SOAP_TAG_MISMATCH)
-				soap->error = soap_ignore_element(soap);
-			if (soap->error == SOAP_NO_TAG)
-				break;
-			if (soap->error)
-				return NULL;
-		}
-		if (soap_element_end_in(soap, tag))
-			return NULL;
-	}
-	else
-	{	a = (struct dss__ApartmentCreateEmptySet *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__ApartmentCreateEmptySet, 0, sizeof(struct dss__ApartmentCreateEmptySet), 0, NULL);
-		if (soap->body && soap_element_end_in(soap, tag))
-			return NULL;
-	}
-	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0))
-	{	soap->error = SOAP_OCCURS;
-		return NULL;
-	}
-	return a;
-}
-
-SOAP_FMAC5 struct dss__ApartmentCreateEmptySet * SOAP_FMAC6 soap_new_dss__ApartmentCreateEmptySet(struct soap *soap, int n)
-{	return soap_instantiate_dss__ApartmentCreateEmptySet(soap, n, NULL, NULL, NULL);
-}
-
-SOAP_FMAC5 void SOAP_FMAC6 soap_delete_dss__ApartmentCreateEmptySet(struct soap *soap, struct dss__ApartmentCreateEmptySet *p)
-{	soap_delete(soap, p);
-}
-
-SOAP_FMAC3 struct dss__ApartmentCreateEmptySet * SOAP_FMAC4 soap_instantiate_dss__ApartmentCreateEmptySet(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
-{
-	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_dss__ApartmentCreateEmptySet(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
-	struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_dss__ApartmentCreateEmptySet, n, soap_fdelete);
-	if (!cp)
-		return NULL;
-	if (n < 0)
-	{	cp->ptr = (void*)new struct dss__ApartmentCreateEmptySet;
-		if (size)
-			*size = sizeof(struct dss__ApartmentCreateEmptySet);
-	}
-	else
-	{	cp->ptr = (void*)new struct dss__ApartmentCreateEmptySet[n];
-		if (!cp->ptr)
-		{	soap->error = SOAP_EOM;
-			return NULL;
-		}
-		if (size)
-			*size = n * sizeof(struct dss__ApartmentCreateEmptySet);
-	}
-		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
-	return (struct dss__ApartmentCreateEmptySet*)cp->ptr;
-}
-SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentCreateEmptySet(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
-{
-	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct dss__ApartmentCreateEmptySet %p -> %p\n", q, p));
-	*(struct dss__ApartmentCreateEmptySet*)p = *(struct dss__ApartmentCreateEmptySet*)q;
-}
-
-SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentCreateEmptySetResponse(struct soap *soap, struct dss__ApartmentCreateEmptySetResponse *a)
-{
-	(void)soap; (void)a; /* appease -Wall -Werror */
-	soap_default_int(soap, &a->setID);
-}
-
-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentCreateEmptySetResponse(struct soap *soap, const struct dss__ApartmentCreateEmptySetResponse *a)
-{
-	(void)soap; (void)a; /* appease -Wall -Werror */
-}
-
-SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__ApartmentCreateEmptySetResponse(struct soap *soap, const struct dss__ApartmentCreateEmptySetResponse *a, const char *tag, const char *type)
-{
-	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_dss__ApartmentCreateEmptySetResponse);
-	if (soap_out_dss__ApartmentCreateEmptySetResponse(soap, tag, id, a, type))
-		return soap->error;
-	return soap_putindependent(soap);
-}
-
-SOAP_FMAC3 int SOAP_FMAC4 soap_out_dss__ApartmentCreateEmptySetResponse(struct soap *soap, const char *tag, int id, const struct dss__ApartmentCreateEmptySetResponse *a, const char *type)
-{
-	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_dss__ApartmentCreateEmptySetResponse), type))
-		return soap->error;
-	if (soap_out_int(soap, "setID", -1, &a->setID, ""))
-		return soap->error;
-	return soap_element_end_out(soap, tag);
-}
-
-SOAP_FMAC3 struct dss__ApartmentCreateEmptySetResponse * SOAP_FMAC4 soap_get_dss__ApartmentCreateEmptySetResponse(struct soap *soap, struct dss__ApartmentCreateEmptySetResponse *p, const char *tag, const char *type)
-{
-	if ((p = soap_in_dss__ApartmentCreateEmptySetResponse(soap, tag, p, type)))
-		if (soap_getindependent(soap))
-			return NULL;
-	return p;
-}
-
-SOAP_FMAC3 struct dss__ApartmentCreateEmptySetResponse * SOAP_FMAC4 soap_in_dss__ApartmentCreateEmptySetResponse(struct soap *soap, const char *tag, struct dss__ApartmentCreateEmptySetResponse *a, const char *type)
-{
-	short soap_flag_setID = 1;
-	if (soap_element_begin_in(soap, tag, 0, type))
-		return NULL;
-	a = (struct dss__ApartmentCreateEmptySetResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__ApartmentCreateEmptySetResponse, sizeof(struct dss__ApartmentCreateEmptySetResponse), 0, NULL, NULL, NULL);
-	if (!a)
-		return NULL;
-	soap_default_dss__ApartmentCreateEmptySetResponse(soap, a);
-	if (soap->body && !*soap->href)
-	{
-		for (;;)
-		{	soap->error = SOAP_TAG_MISMATCH;
-			if (soap_flag_setID && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_int(soap, "setID", &a->setID, "xsd:int"))
-				{	soap_flag_setID--;
-					continue;
-				}
-			if (soap->error == SOAP_TAG_MISMATCH)
-				soap->error = soap_ignore_element(soap);
-			if (soap->error == SOAP_NO_TAG)
-				break;
-			if (soap->error)
-				return NULL;
-		}
-		if (soap_element_end_in(soap, tag))
-			return NULL;
-	}
-	else
-	{	a = (struct dss__ApartmentCreateEmptySetResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__ApartmentCreateEmptySetResponse, 0, sizeof(struct dss__ApartmentCreateEmptySetResponse), 0, NULL);
-		if (soap->body && soap_element_end_in(soap, tag))
-			return NULL;
-	}
-	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_setID > 0))
-	{	soap->error = SOAP_OCCURS;
-		return NULL;
-	}
-	return a;
-}
-
-SOAP_FMAC5 struct dss__ApartmentCreateEmptySetResponse * SOAP_FMAC6 soap_new_dss__ApartmentCreateEmptySetResponse(struct soap *soap, int n)
-{	return soap_instantiate_dss__ApartmentCreateEmptySetResponse(soap, n, NULL, NULL, NULL);
-}
-
-SOAP_FMAC5 void SOAP_FMAC6 soap_delete_dss__ApartmentCreateEmptySetResponse(struct soap *soap, struct dss__ApartmentCreateEmptySetResponse *p)
-{	soap_delete(soap, p);
-}
-
-SOAP_FMAC3 struct dss__ApartmentCreateEmptySetResponse * SOAP_FMAC4 soap_instantiate_dss__ApartmentCreateEmptySetResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
-{
-	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_dss__ApartmentCreateEmptySetResponse(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
-	struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_dss__ApartmentCreateEmptySetResponse, n, soap_fdelete);
-	if (!cp)
-		return NULL;
-	if (n < 0)
-	{	cp->ptr = (void*)new struct dss__ApartmentCreateEmptySetResponse;
-		if (size)
-			*size = sizeof(struct dss__ApartmentCreateEmptySetResponse);
-	}
-	else
-	{	cp->ptr = (void*)new struct dss__ApartmentCreateEmptySetResponse[n];
-		if (!cp->ptr)
-		{	soap->error = SOAP_EOM;
-			return NULL;
-		}
-		if (size)
-			*size = n * sizeof(struct dss__ApartmentCreateEmptySetResponse);
-	}
-		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
-	return (struct dss__ApartmentCreateEmptySetResponse*)cp->ptr;
-}
-SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentCreateEmptySetResponse(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
-{
-	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct dss__ApartmentCreateEmptySetResponse %p -> %p\n", q, p));
-	*(struct dss__ApartmentCreateEmptySetResponse*)p = *(struct dss__ApartmentCreateEmptySetResponse*)q;
-}
-
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentCreateSetFromDeviceNames(struct soap *soap, struct dss__ApartmentCreateSetFromDeviceNames *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
@@ -26357,12 +26082,13 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentCreateSetFromDeviceNamesResponse(struct soap *soap, struct dss__ApartmentCreateSetFromDeviceNamesResponse *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
-	soap_default_int(soap, &a->setID);
+	soap_default_std__string(soap, &a->result);
 }
 
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentCreateSetFromDeviceNamesResponse(struct soap *soap, const struct dss__ApartmentCreateSetFromDeviceNamesResponse *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_std__string(soap, &a->result);
 }
 
 SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__ApartmentCreateSetFromDeviceNamesResponse(struct soap *soap, const struct dss__ApartmentCreateSetFromDeviceNamesResponse *a, const char *tag, const char *type)
@@ -26377,7 +26103,7 @@
 {
 	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_dss__ApartmentCreateSetFromDeviceNamesResponse), type))
 		return soap->error;
-	if (soap_out_int(soap, "setID", -1, &a->setID, ""))
+	if (soap_out_std__string(soap, "result", -1, &a->result, ""))
 		return soap->error;
 	return soap_element_end_out(soap, tag);
 }
@@ -26392,10 +26118,10 @@
 
 SOAP_FMAC3 struct dss__ApartmentCreateSetFromDeviceNamesResponse * SOAP_FMAC4 soap_in_dss__ApartmentCreateSetFromDeviceNamesResponse(struct soap *soap, const char *tag, struct dss__ApartmentCreateSetFromDeviceNamesResponse *a, const char *type)
 {
-	short soap_flag_setID = 1;
+	short soap_flag_result = 1;
 	if (soap_element_begin_in(soap, tag, 0, type))
 		return NULL;
-	a = (struct dss__ApartmentCreateSetFromDeviceNamesResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__ApartmentCreateSetFromDeviceNamesResponse, sizeof(struct dss__ApartmentCreateSetFromDeviceNamesResponse), 0, NULL, NULL, NULL);
+	a = (struct dss__ApartmentCreateSetFromDeviceNamesResponse *)soap_class_id_enter(soap, soap->id, a, SOAP_TYPE_dss__ApartmentCreateSetFromDeviceNamesResponse, sizeof(struct dss__ApartmentCreateSetFromDeviceNamesResponse), soap->type, soap->arrayType);
 	if (!a)
 		return NULL;
 	soap_default_dss__ApartmentCreateSetFromDeviceNamesResponse(soap, a);
@@ -26403,9 +26129,9 @@
 	{
 		for (;;)
 		{	soap->error = SOAP_TAG_MISMATCH;
-			if (soap_flag_setID && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_int(soap, "setID", &a->setID, "xsd:int"))
-				{	soap_flag_setID--;
+			if (soap_flag_result && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_std__string(soap, "result", &a->result, "xsd:string"))
+				{	soap_flag_result--;
 					continue;
 				}
 			if (soap->error == SOAP_TAG_MISMATCH)
@@ -26419,11 +26145,11 @@
 			return NULL;
 	}
 	else
-	{	a = (struct dss__ApartmentCreateSetFromDeviceNamesResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__ApartmentCreateSetFromDeviceNamesResponse, 0, sizeof(struct dss__ApartmentCreateSetFromDeviceNamesResponse), 0, NULL);
+	{	a = (struct dss__ApartmentCreateSetFromDeviceNamesResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__ApartmentCreateSetFromDeviceNamesResponse, 0, sizeof(struct dss__ApartmentCreateSetFromDeviceNamesResponse), 0, soap_copy_dss__ApartmentCreateSetFromDeviceNamesResponse);
 		if (soap->body && soap_element_end_in(soap, tag))
 			return NULL;
 	}
-	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_setID > 0))
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_result > 0))
 	{	soap->error = SOAP_OCCURS;
 		return NULL;
 	}
@@ -26590,12 +26316,13 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentCreateSetFromDeviceIDsResponse(struct soap *soap, struct dss__ApartmentCreateSetFromDeviceIDsResponse *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
-	soap_default_int(soap, &a->setID);
+	soap_default_std__string(soap, &a->result);
 }
 
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentCreateSetFromDeviceIDsResponse(struct soap *soap, const struct dss__ApartmentCreateSetFromDeviceIDsResponse *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_std__string(soap, &a->result);
 }
 
 SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__ApartmentCreateSetFromDeviceIDsResponse(struct soap *soap, const struct dss__ApartmentCreateSetFromDeviceIDsResponse *a, const char *tag, const char *type)
@@ -26610,7 +26337,7 @@
 {
 	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_dss__ApartmentCreateSetFromDeviceIDsResponse), type))
 		return soap->error;
-	if (soap_out_int(soap, "setID", -1, &a->setID, ""))
+	if (soap_out_std__string(soap, "result", -1, &a->result, ""))
 		return soap->error;
 	return soap_element_end_out(soap, tag);
 }
@@ -26625,10 +26352,10 @@
 
 SOAP_FMAC3 struct dss__ApartmentCreateSetFromDeviceIDsResponse * SOAP_FMAC4 soap_in_dss__ApartmentCreateSetFromDeviceIDsResponse(struct soap *soap, const char *tag, struct dss__ApartmentCreateSetFromDeviceIDsResponse *a, const char *type)
 {
-	short soap_flag_setID = 1;
+	short soap_flag_result = 1;
 	if (soap_element_begin_in(soap, tag, 0, type))
 		return NULL;
-	a = (struct dss__ApartmentCreateSetFromDeviceIDsResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__ApartmentCreateSetFromDeviceIDsResponse, sizeof(struct dss__ApartmentCreateSetFromDeviceIDsResponse), 0, NULL, NULL, NULL);
+	a = (struct dss__ApartmentCreateSetFromDeviceIDsResponse *)soap_class_id_enter(soap, soap->id, a, SOAP_TYPE_dss__ApartmentCreateSetFromDeviceIDsResponse, sizeof(struct dss__ApartmentCreateSetFromDeviceIDsResponse), soap->type, soap->arrayType);
 	if (!a)
 		return NULL;
 	soap_default_dss__ApartmentCreateSetFromDeviceIDsResponse(soap, a);
@@ -26636,9 +26363,9 @@
 	{
 		for (;;)
 		{	soap->error = SOAP_TAG_MISMATCH;
-			if (soap_flag_setID && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_int(soap, "setID", &a->setID, "xsd:int"))
-				{	soap_flag_setID--;
+			if (soap_flag_result && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_std__string(soap, "result", &a->result, "xsd:string"))
+				{	soap_flag_result--;
 					continue;
 				}
 			if (soap->error == SOAP_TAG_MISMATCH)
@@ -26652,11 +26379,11 @@
 			return NULL;
 	}
 	else
-	{	a = (struct dss__ApartmentCreateSetFromDeviceIDsResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__ApartmentCreateSetFromDeviceIDsResponse, 0, sizeof(struct dss__ApartmentCreateSetFromDeviceIDsResponse), 0, NULL);
+	{	a = (struct dss__ApartmentCreateSetFromDeviceIDsResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__ApartmentCreateSetFromDeviceIDsResponse, 0, sizeof(struct dss__ApartmentCreateSetFromDeviceIDsResponse), 0, soap_copy_dss__ApartmentCreateSetFromDeviceIDsResponse);
 		if (soap->body && soap_element_end_in(soap, tag))
 			return NULL;
 	}
-	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_setID > 0))
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_result > 0))
 	{	soap->error = SOAP_OCCURS;
 		return NULL;
 	}
@@ -26825,12 +26552,13 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentCreateSetFromGroupResponse(struct soap *soap, struct dss__ApartmentCreateSetFromGroupResponse *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
-	soap_default_int(soap, &a->setID);
+	soap_default_std__string(soap, &a->result);
 }
 
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentCreateSetFromGroupResponse(struct soap *soap, const struct dss__ApartmentCreateSetFromGroupResponse *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */
+	soap_serialize_std__string(soap, &a->result);
 }
 
 SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__ApartmentCreateSetFromGroupResponse(struct soap *soap, const struct dss__ApartmentCreateSetFromGroupResponse *a, const char *tag, const char *type)
@@ -26845,7 +26573,7 @@
 {
 	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_dss__ApartmentCreateSetFromGroupResponse), type))
 		return soap->error;
-	if (soap_out_int(soap, "setID", -1, &a->setID, ""))
+	if (soap_out_std__string(soap, "result", -1, &a->result, ""))
 		return soap->error;
 	return soap_element_end_out(soap, tag);
 }
@@ -26860,10 +26588,10 @@
 
 SOAP_FMAC3 struct dss__ApartmentCreateSetFromGroupResponse * SOAP_FMAC4 soap_in_dss__ApartmentCreateSetFromGroupResponse(struct soap *soap, const char *tag, struct dss__ApartmentCreateSetFromGroupResponse *a, const char *type)
 {
-	short soap_flag_setID = 1;
+	short soap_flag_result = 1;
 	if (soap_element_begin_in(soap, tag, 0, type))
 		return NULL;
-	a = (struct dss__ApartmentCreateSetFromGroupResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__ApartmentCreateSetFromGroupResponse, sizeof(struct dss__ApartmentCreateSetFromGroupResponse), 0, NULL, NULL, NULL);
+	a = (struct dss__ApartmentCreateSetFromGroupResponse *)soap_class_id_enter(soap, soap->id, a, SOAP_TYPE_dss__ApartmentCreateSetFromGroupResponse, sizeof(struct dss__ApartmentCreateSetFromGroupResponse), soap->type, soap->arrayType);
 	if (!a)
 		return NULL;
 	soap_default_dss__ApartmentCreateSetFromGroupResponse(soap, a);
@@ -26871,9 +26599,9 @@
 	{
 		for (;;)
 		{	soap->error = SOAP_TAG_MISMATCH;
-			if (soap_flag_setID && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_int(soap, "setID", &a->setID, "xsd:int"))
-				{	soap_flag_setID--;
+			if (soap_flag_result && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+				if (soap_in_std__string(soap, "result", &a->result, "xsd:string"))
+				{	soap_flag_result--;
 					continue;
 				}
 			if (soap->error == SOAP_TAG_MISMATCH)
@@ -26887,11 +26615,11 @@
 			return NULL;
 	}
 	else
-	{	a = (struct dss__ApartmentCreateSetFromGroupResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__ApartmentCreateSetFromGroupResponse, 0, sizeof(struct dss__ApartmentCreateSetFromGroupResponse), 0, NULL);
+	{	a = (struct dss__ApartmentCreateSetFromGroupResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__ApartmentCreateSetFromGroupResponse, 0, sizeof(struct dss__ApartmentCreateSetFromGroupResponse), 0, soap_copy_dss__ApartmentCreateSetFromGroupResponse);
 		if (soap->body && soap_element_end_in(soap, tag))
 			return NULL;
 	}
-	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_setID > 0))
+	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_result > 0))
 	{	soap->error = SOAP_OCCURS;
 		return NULL;
 	}
@@ -26935,240 +26663,6 @@
 	*(struct dss__ApartmentCreateSetFromGroupResponse*)p = *(struct dss__ApartmentCreateSetFromGroupResponse*)q;
 }
 
-SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__FreeSet(struct soap *soap, struct dss__FreeSet *a)
-{
-	(void)soap; (void)a; /* appease -Wall -Werror */
-	soap_default_int(soap, &a->_token);
-	soap_default_int(soap, &a->_setID);
-}
-
-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__FreeSet(struct soap *soap, const struct dss__FreeSet *a)
-{
-	(void)soap; (void)a; /* appease -Wall -Werror */
-}
-
-SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__FreeSet(struct soap *soap, const struct dss__FreeSet *a, const char *tag, const char *type)
-{
-	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_dss__FreeSet);
-	if (soap_out_dss__FreeSet(soap, tag, id, a, type))
-		return soap->error;
-	return soap_putindependent(soap);
-}
-
-SOAP_FMAC3 int SOAP_FMAC4 soap_out_dss__FreeSet(struct soap *soap, const char *tag, int id, const struct dss__FreeSet *a, const char *type)
-{
-	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_dss__FreeSet), type))
-		return soap->error;
-	if (soap_out_int(soap, "token", -1, &a->_token, ""))
-		return soap->error;
-	if (soap_out_int(soap, "setID", -1, &a->_setID, ""))
-		return soap->error;
-	return soap_element_end_out(soap, tag);
-}
-
-SOAP_FMAC3 struct dss__FreeSet * SOAP_FMAC4 soap_get_dss__FreeSet(struct soap *soap, struct dss__FreeSet *p, const char *tag, const char *type)
-{
-	if ((p = soap_in_dss__FreeSet(soap, tag, p, type)))
-		if (soap_getindependent(soap))
-			return NULL;
-	return p;
-}
-
-SOAP_FMAC3 struct dss__FreeSet * SOAP_FMAC4 soap_in_dss__FreeSet(struct soap *soap, const char *tag, struct dss__FreeSet *a, const char *type)
-{
-	short soap_flag__token = 1, soap_flag__setID = 1;
-	if (soap_element_begin_in(soap, tag, 0, type))
-		return NULL;
-	a = (struct dss__FreeSet *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__FreeSet, sizeof(struct dss__FreeSet), 0, NULL, NULL, NULL);
-	if (!a)
-		return NULL;
-	soap_default_dss__FreeSet(soap, a);
-	if (soap->body && !*soap->href)
-	{
-		for (;;)
-		{	soap->error = SOAP_TAG_MISMATCH;
-			if (soap_flag__token && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_int(soap, NULL, &a->_token, "xsd:int"))
-				{	soap_flag__token--;
-					continue;
-				}
-			if (soap_flag__setID && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_int(soap, NULL, &a->_setID, "xsd:int"))
-				{	soap_flag__setID--;
-					continue;
-				}
-			if (soap->error == SOAP_TAG_MISMATCH)
-				soap->error = soap_ignore_element(soap);
-			if (soap->error == SOAP_NO_TAG)
-				break;
-			if (soap->error)
-				return NULL;
-		}
-		if (soap_element_end_in(soap, tag))
-			return NULL;
-	}
-	else
-	{	a = (struct dss__FreeSet *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__FreeSet, 0, sizeof(struct dss__FreeSet), 0, NULL);
-		if (soap->body && soap_element_end_in(soap, tag))
-			return NULL;
-	}
-	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0 || soap_flag__setID > 0))
-	{	soap->error = SOAP_OCCURS;
-		return NULL;
-	}
-	return a;
-}
-
-SOAP_FMAC5 struct dss__FreeSet * SOAP_FMAC6 soap_new_dss__FreeSet(struct soap *soap, int n)
-{	return soap_instantiate_dss__FreeSet(soap, n, NULL, NULL, NULL);
-}
-
-SOAP_FMAC5 void SOAP_FMAC6 soap_delete_dss__FreeSet(struct soap *soap, struct dss__FreeSet *p)
-{	soap_delete(soap, p);
-}
-
-SOAP_FMAC3 struct dss__FreeSet * SOAP_FMAC4 soap_instantiate_dss__FreeSet(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
-{
-	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_dss__FreeSet(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
-	struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_dss__FreeSet, n, soap_fdelete);
-	if (!cp)
-		return NULL;
-	if (n < 0)
-	{	cp->ptr = (void*)new struct dss__FreeSet;
-		if (size)
-			*size = sizeof(struct dss__FreeSet);
-	}
-	else
-	{	cp->ptr = (void*)new struct dss__FreeSet[n];
-		if (!cp->ptr)
-		{	soap->error = SOAP_EOM;
-			return NULL;
-		}
-		if (size)
-			*size = n * sizeof(struct dss__FreeSet);
-	}
-		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
-	return (struct dss__FreeSet*)cp->ptr;
-}
-SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__FreeSet(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
-{
-	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct dss__FreeSet %p -> %p\n", q, p));
-	*(struct dss__FreeSet*)p = *(struct dss__FreeSet*)q;
-}
-
-SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__FreeSetResponse(struct soap *soap, struct dss__FreeSetResponse *a)
-{
-	(void)soap; (void)a; /* appease -Wall -Werror */
-	soap_default_bool(soap, &a->result);
-}
-
-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__FreeSetResponse(struct soap *soap, const struct dss__FreeSetResponse *a)
-{
-	(void)soap; (void)a; /* appease -Wall -Werror */
-}
-
-SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__FreeSetResponse(struct soap *soap, const struct dss__FreeSetResponse *a, const char *tag, const char *type)
-{
-	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_dss__FreeSetResponse);
-	if (soap_out_dss__FreeSetResponse(soap, tag, id, a, type))
-		return soap->error;
-	return soap_putindependent(soap);
-}
-
-SOAP_FMAC3 int SOAP_FMAC4 soap_out_dss__FreeSetResponse(struct soap *soap, const char *tag, int id, const struct dss__FreeSetResponse *a, const char *type)
-{
-	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_dss__FreeSetResponse), type))
-		return soap->error;
-	if (soap_out_bool(soap, "result", -1, &a->result, ""))
-		return soap->error;
-	return soap_element_end_out(soap, tag);
-}
-
-SOAP_FMAC3 struct dss__FreeSetResponse * SOAP_FMAC4 soap_get_dss__FreeSetResponse(struct soap *soap, struct dss__FreeSetResponse *p, const char *tag, const char *type)
-{
-	if ((p = soap_in_dss__FreeSetResponse(soap, tag, p, type)))
-		if (soap_getindependent(soap))
-			return NULL;
-	return p;
-}
-
-SOAP_FMAC3 struct dss__FreeSetResponse * SOAP_FMAC4 soap_in_dss__FreeSetResponse(struct soap *soap, const char *tag, struct dss__FreeSetResponse *a, const char *type)
-{
-	short soap_flag_result = 1;
-	if (soap_element_begin_in(soap, tag, 0, type))
-		return NULL;
-	a = (struct dss__FreeSetResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__FreeSetResponse, sizeof(struct dss__FreeSetResponse), 0, NULL, NULL, NULL);
-	if (!a)
-		return NULL;
-	soap_default_dss__FreeSetResponse(soap, a);
-	if (soap->body && !*soap->href)
-	{
-		for (;;)
-		{	soap->error = SOAP_TAG_MISMATCH;
-			if (soap_flag_result && soap->error == SOAP_TAG_MISMATCH)
-				if (soap_in_bool(soap, "result", &a->result, "xsd:boolean"))
-				{	soap_flag_result--;
-					continue;
-				}
-			if (soap->error == SOAP_TAG_MISMATCH)
-				soap->error = soap_ignore_element(soap);
-			if (soap->error == SOAP_NO_TAG)
-				break;
-			if (soap->error)
-				return NULL;
-		}
-		if (soap_element_end_in(soap, tag))
-			return NULL;
-	}
-	else
-	{	a = (struct dss__FreeSetResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__FreeSetResponse, 0, sizeof(struct dss__FreeSetResponse), 0, NULL);
-		if (soap->body && soap_element_end_in(soap, tag))
-			return NULL;
-	}
-	if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_result > 0))
-	{	soap->error = SOAP_OCCURS;
-		return NULL;
-	}
-	return a;
-}
-
-SOAP_FMAC5 struct dss__FreeSetResponse * SOAP_FMAC6 soap_new_dss__FreeSetResponse(struct soap *soap, int n)
-{	return soap_instantiate_dss__FreeSetResponse(soap, n, NULL, NULL, NULL);
-}
-
-SOAP_FMAC5 void SOAP_FMAC6 soap_delete_dss__FreeSetResponse(struct soap *soap, struct dss__FreeSetResponse *p)
-{	soap_delete(soap, p);
-}
-
-SOAP_FMAC3 struct dss__FreeSetResponse * SOAP_FMAC4 soap_instantiate_dss__FreeSetResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
-{
-	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_dss__FreeSetResponse(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
-	struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_dss__FreeSetResponse, n, soap_fdelete);
-	if (!cp)
-		return NULL;
-	if (n < 0)
-	{	cp->ptr = (void*)new struct dss__FreeSetResponse;
-		if (size)
-			*size = sizeof(struct dss__FreeSetResponse);
-	}
-	else
-	{	cp->ptr = (void*)new struct dss__FreeSetResponse[n];
-		if (!cp->ptr)
-		{	soap->error = SOAP_EOM;
-			return NULL;
-		}
-		if (size)
-			*size = n * sizeof(struct dss__FreeSetResponse);
-	}
-		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
-	return (struct dss__FreeSetResponse*)cp->ptr;
-}
-SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__FreeSetResponse(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
-{
-	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct dss__FreeSetResponse %p -> %p\n", q, p));
-	*(struct dss__FreeSetResponse*)p = *(struct dss__FreeSetResponse*)q;
-}
-
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SignOff(struct soap *soap, struct dss__SignOff *a)
 {
 	(void)soap; (void)a; /* appease -Wall -Werror */

Modified: dss/trunk/webservices/soapH.h
===================================================================
--- dss/trunk/webservices/soapH.h	2009-10-06 14:06:12 UTC (rev 8828)
+++ dss/trunk/webservices/soapH.h	2009-10-06 15:35:18 UTC (rev 8829)
@@ -70,7 +70,7 @@
 SOAP_FMAC3 LONG64 * SOAP_FMAC4 soap_in_LONG64(struct soap*, const char*, LONG64 *, const char*);
 
 #ifndef SOAP_TYPE_double
-#define SOAP_TYPE_double (108)
+#define SOAP_TYPE_double (102)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_double(struct soap*, double *);
 SOAP_FMAC3 int SOAP_FMAC4 soap_put_double(struct soap*, const double *, const char*, const char*);
@@ -124,7 +124,7 @@
 SOAP_FMAC3 ULONG64 * SOAP_FMAC4 soap_in_unsignedLONG64(struct soap*, const char*, ULONG64 *, const char*);
 
 #ifndef SOAP_TYPE_bool
-#define SOAP_TYPE_bool (25)
+#define SOAP_TYPE_bool (76)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_bool(struct soap*, bool *);
 SOAP_FMAC3 int SOAP_FMAC4 soap_put_bool(struct soap*, const bool *, const char*, const char*);
@@ -137,7 +137,7 @@
 SOAP_FMAC3S int SOAP_FMAC4S soap_s2bool(struct soap*, const char*, bool *);
 
 #ifndef SOAP_TYPE_dss__Event
-#define SOAP_TYPE_dss__Event (277)
+#define SOAP_TYPE_dss__Event (271)
 #endif
 
 SOAP_FMAC3 int SOAP_FMAC4 soap_out_dss__Event(struct soap*, const char*, int, const dss__Event *, const char*);
@@ -149,7 +149,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__Event(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_std__string
-#define SOAP_TYPE_std__string (33)
+#define SOAP_TYPE_std__string (25)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_std__string(struct soap*, std::string *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_std__string(struct soap*, const std::string *);
@@ -165,7 +165,7 @@
 #ifndef WITH_NOGLOBAL
 
 #ifndef SOAP_TYPE_SOAP_ENV__Fault
-#define SOAP_TYPE_SOAP_ENV__Fault (320)
+#define SOAP_TYPE_SOAP_ENV__Fault (314)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Fault(struct soap*, struct SOAP_ENV__Fault *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Fault(struct soap*, const struct SOAP_ENV__Fault *);
@@ -183,7 +183,7 @@
 #ifndef WITH_NOGLOBAL
 
 #ifndef SOAP_TYPE_SOAP_ENV__Reason
-#define SOAP_TYPE_SOAP_ENV__Reason (319)
+#define SOAP_TYPE_SOAP_ENV__Reason (313)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Reason(struct soap*, struct SOAP_ENV__Reason *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Reason(struct soap*, const struct SOAP_ENV__Reason *);
@@ -201,7 +201,7 @@
 #ifndef WITH_NOGLOBAL
 
 #ifndef SOAP_TYPE_SOAP_ENV__Detail
-#define SOAP_TYPE_SOAP_ENV__Detail (316)
+#define SOAP_TYPE_SOAP_ENV__Detail (310)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Detail(struct soap*, struct SOAP_ENV__Detail *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Detail(struct soap*, const struct SOAP_ENV__Detail *);
@@ -219,7 +219,7 @@
 #ifndef WITH_NOGLOBAL
 
 #ifndef SOAP_TYPE_SOAP_ENV__Code
-#define SOAP_TYPE_SOAP_ENV__Code (314)
+#define SOAP_TYPE_SOAP_ENV__Code (308)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Code(struct soap*, struct SOAP_ENV__Code *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Code(struct soap*, const struct SOAP_ENV__Code *);
@@ -237,7 +237,7 @@
 #ifndef WITH_NOGLOBAL
 
 #ifndef SOAP_TYPE_SOAP_ENV__Header
-#define SOAP_TYPE_SOAP_ENV__Header (313)
+#define SOAP_TYPE_SOAP_ENV__Header (307)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Header(struct soap*, struct SOAP_ENV__Header *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Header(struct soap*, const struct SOAP_ENV__Header *);
@@ -253,7 +253,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__PropertyGetChildren
-#define SOAP_TYPE_dss__PropertyGetChildren (312)
+#define SOAP_TYPE_dss__PropertyGetChildren (306)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__PropertyGetChildren(struct soap*, struct dss__PropertyGetChildren *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__PropertyGetChildren(struct soap*, const struct dss__PropertyGetChildren *);
@@ -267,7 +267,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__PropertyGetChildren(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__PropertyGetChildrenResponse
-#define SOAP_TYPE_dss__PropertyGetChildrenResponse (311)
+#define SOAP_TYPE_dss__PropertyGetChildrenResponse (305)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__PropertyGetChildrenResponse(struct soap*, struct dss__PropertyGetChildrenResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__PropertyGetChildrenResponse(struct soap*, const struct dss__PropertyGetChildrenResponse *);
@@ -281,7 +281,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__PropertyGetChildrenResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__PropertyGetBool
-#define SOAP_TYPE_dss__PropertyGetBool (309)
+#define SOAP_TYPE_dss__PropertyGetBool (303)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__PropertyGetBool(struct soap*, struct dss__PropertyGetBool *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__PropertyGetBool(struct soap*, const struct dss__PropertyGetBool *);
@@ -295,7 +295,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__PropertyGetBool(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__PropertyGetBoolResponse
-#define SOAP_TYPE_dss__PropertyGetBoolResponse (308)
+#define SOAP_TYPE_dss__PropertyGetBoolResponse (302)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__PropertyGetBoolResponse(struct soap*, struct dss__PropertyGetBoolResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__PropertyGetBoolResponse(struct soap*, const struct dss__PropertyGetBoolResponse *);
@@ -309,7 +309,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__PropertyGetBoolResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__PropertyGetString
-#define SOAP_TYPE_dss__PropertyGetString (306)
+#define SOAP_TYPE_dss__PropertyGetString (300)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__PropertyGetString(struct soap*, struct dss__PropertyGetString *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__PropertyGetString(struct soap*, const struct dss__PropertyGetString *);
@@ -323,7 +323,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__PropertyGetString(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__PropertyGetStringResponse
-#define SOAP_TYPE_dss__PropertyGetStringResponse (305)
+#define SOAP_TYPE_dss__PropertyGetStringResponse (299)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__PropertyGetStringResponse(struct soap*, struct dss__PropertyGetStringResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__PropertyGetStringResponse(struct soap*, const struct dss__PropertyGetStringResponse *);
@@ -337,7 +337,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__PropertyGetStringResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__PropertyGetInt
-#define SOAP_TYPE_dss__PropertyGetInt (303)
+#define SOAP_TYPE_dss__PropertyGetInt (297)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__PropertyGetInt(struct soap*, struct dss__PropertyGetInt *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__PropertyGetInt(struct soap*, const struct dss__PropertyGetInt *);
@@ -351,7 +351,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__PropertyGetInt(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__PropertyGetIntResponse
-#define SOAP_TYPE_dss__PropertyGetIntResponse (302)
+#define SOAP_TYPE_dss__PropertyGetIntResponse (296)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__PropertyGetIntResponse(struct soap*, struct dss__PropertyGetIntResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__PropertyGetIntResponse(struct soap*, const struct dss__PropertyGetIntResponse *);
@@ -365,7 +365,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__PropertyGetIntResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__PropertySetBool
-#define SOAP_TYPE_dss__PropertySetBool (300)
+#define SOAP_TYPE_dss__PropertySetBool (294)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__PropertySetBool(struct soap*, struct dss__PropertySetBool *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__PropertySetBool(struct soap*, const struct dss__PropertySetBool *);
@@ -379,7 +379,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__PropertySetBool(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__PropertySetBoolResponse
-#define SOAP_TYPE_dss__PropertySetBoolResponse (299)
+#define SOAP_TYPE_dss__PropertySetBoolResponse (293)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__PropertySetBoolResponse(struct soap*, struct dss__PropertySetBoolResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__PropertySetBoolResponse(struct soap*, const struct dss__PropertySetBoolResponse *);
@@ -393,7 +393,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__PropertySetBoolResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__PropertySetString
-#define SOAP_TYPE_dss__PropertySetString (297)
+#define SOAP_TYPE_dss__PropertySetString (291)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__PropertySetString(struct soap*, struct dss__PropertySetString *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__PropertySetString(struct soap*, const struct dss__PropertySetString *);
@@ -407,7 +407,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__PropertySetString(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__PropertySetStringResponse
-#define SOAP_TYPE_dss__PropertySetStringResponse (296)
+#define SOAP_TYPE_dss__PropertySetStringResponse (290)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__PropertySetStringResponse(struct soap*, struct dss__PropertySetStringResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__PropertySetStringResponse(struct soap*, const struct dss__PropertySetStringResponse *);
@@ -421,7 +421,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__PropertySetStringResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__PropertySetInt
-#define SOAP_TYPE_dss__PropertySetInt (294)
+#define SOAP_TYPE_dss__PropertySetInt (288)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__PropertySetInt(struct soap*, struct dss__PropertySetInt *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__PropertySetInt(struct soap*, const struct dss__PropertySetInt *);
@@ -435,7 +435,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__PropertySetInt(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__PropertySetIntResponse
-#define SOAP_TYPE_dss__PropertySetIntResponse (293)
+#define SOAP_TYPE_dss__PropertySetIntResponse (287)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__PropertySetIntResponse(struct soap*, struct dss__PropertySetIntResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__PropertySetIntResponse(struct soap*, const struct dss__PropertySetIntResponse *);
@@ -449,7 +449,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__PropertySetIntResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__PropertyGetType
-#define SOAP_TYPE_dss__PropertyGetType (291)
+#define SOAP_TYPE_dss__PropertyGetType (285)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__PropertyGetType(struct soap*, struct dss__PropertyGetType *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__PropertyGetType(struct soap*, const struct dss__PropertyGetType *);
@@ -463,7 +463,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__PropertyGetType(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__PropertyGetTypeResponse
-#define SOAP_TYPE_dss__PropertyGetTypeResponse (290)
+#define SOAP_TYPE_dss__PropertyGetTypeResponse (284)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__PropertyGetTypeResponse(struct soap*, struct dss__PropertyGetTypeResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__PropertyGetTypeResponse(struct soap*, const struct dss__PropertyGetTypeResponse *);
@@ -477,7 +477,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__PropertyGetTypeResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__EventSubscribeTo
-#define SOAP_TYPE_dss__EventSubscribeTo (288)
+#define SOAP_TYPE_dss__EventSubscribeTo (282)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__EventSubscribeTo(struct soap*, struct dss__EventSubscribeTo *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__EventSubscribeTo(struct soap*, const struct dss__EventSubscribeTo *);
@@ -491,7 +491,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__EventSubscribeTo(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__EventSubscribeToResponse
-#define SOAP_TYPE_dss__EventSubscribeToResponse (287)
+#define SOAP_TYPE_dss__EventSubscribeToResponse (281)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__EventSubscribeToResponse(struct soap*, struct dss__EventSubscribeToResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__EventSubscribeToResponse(struct soap*, const struct dss__EventSubscribeToResponse *);
@@ -505,7 +505,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__EventSubscribeToResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__EventWaitFor
-#define SOAP_TYPE_dss__EventWaitFor (285)
+#define SOAP_TYPE_dss__EventWaitFor (279)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__EventWaitFor(struct soap*, struct dss__EventWaitFor *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__EventWaitFor(struct soap*, const struct dss__EventWaitFor *);
@@ -519,7 +519,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__EventWaitFor(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__EventWaitForResponse
-#define SOAP_TYPE_dss__EventWaitForResponse (284)
+#define SOAP_TYPE_dss__EventWaitForResponse (278)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__EventWaitForResponse(struct soap*, struct dss__EventWaitForResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__EventWaitForResponse(struct soap*, const struct dss__EventWaitForResponse *);
@@ -533,7 +533,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__EventWaitForResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__EventRaise
-#define SOAP_TYPE_dss__EventRaise (280)
+#define SOAP_TYPE_dss__EventRaise (274)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__EventRaise(struct soap*, struct dss__EventRaise *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__EventRaise(struct soap*, const struct dss__EventRaise *);
@@ -547,7 +547,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__EventRaise(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__EventRaiseResponse
-#define SOAP_TYPE_dss__EventRaiseResponse (279)
+#define SOAP_TYPE_dss__EventRaiseResponse (273)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__EventRaiseResponse(struct soap*, struct dss__EventRaiseResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__EventRaiseResponse(struct soap*, const struct dss__EventRaiseResponse *);
@@ -561,7 +561,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__EventRaiseResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SwitchGetGroupID
-#define SOAP_TYPE_dss__SwitchGetGroupID (276)
+#define SOAP_TYPE_dss__SwitchGetGroupID (270)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SwitchGetGroupID(struct soap*, struct dss__SwitchGetGroupID *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SwitchGetGroupID(struct soap*, const struct dss__SwitchGetGroupID *);
@@ -575,7 +575,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SwitchGetGroupID(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SwitchGetGroupIDResponse
-#define SOAP_TYPE_dss__SwitchGetGroupIDResponse (275)
+#define SOAP_TYPE_dss__SwitchGetGroupIDResponse (269)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SwitchGetGroupIDResponse(struct soap*, struct dss__SwitchGetGroupIDResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SwitchGetGroupIDResponse(struct soap*, const struct dss__SwitchGetGroupIDResponse *);
@@ -589,7 +589,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SwitchGetGroupIDResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__DeviceGetFunctionID
-#define SOAP_TYPE_dss__DeviceGetFunctionID (273)
+#define SOAP_TYPE_dss__DeviceGetFunctionID (267)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceGetFunctionID(struct soap*, struct dss__DeviceGetFunctionID *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceGetFunctionID(struct soap*, const struct dss__DeviceGetFunctionID *);
@@ -603,7 +603,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceGetFunctionID(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__DeviceGetFunctionIDResponse
-#define SOAP_TYPE_dss__DeviceGetFunctionIDResponse (272)
+#define SOAP_TYPE_dss__DeviceGetFunctionIDResponse (266)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceGetFunctionIDResponse(struct soap*, struct dss__DeviceGetFunctionIDResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceGetFunctionIDResponse(struct soap*, const struct dss__DeviceGetFunctionIDResponse *);
@@ -617,7 +617,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceGetFunctionIDResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__GroupRemoveDevice
-#define SOAP_TYPE_dss__GroupRemoveDevice (270)
+#define SOAP_TYPE_dss__GroupRemoveDevice (264)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__GroupRemoveDevice(struct soap*, struct dss__GroupRemoveDevice *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__GroupRemoveDevice(struct soap*, const struct dss__GroupRemoveDevice *);
@@ -631,7 +631,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__GroupRemoveDevice(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__GroupRemoveDeviceResponse
-#define SOAP_TYPE_dss__GroupRemoveDeviceResponse (269)
+#define SOAP_TYPE_dss__GroupRemoveDeviceResponse (263)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__GroupRemoveDeviceResponse(struct soap*, struct dss__GroupRemoveDeviceResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__GroupRemoveDeviceResponse(struct soap*, const struct dss__GroupRemoveDeviceResponse *);
@@ -645,7 +645,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__GroupRemoveDeviceResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__GroupAddDevice
-#define SOAP_TYPE_dss__GroupAddDevice (267)
+#define SOAP_TYPE_dss__GroupAddDevice (261)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__GroupAddDevice(struct soap*, struct dss__GroupAddDevice *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__GroupAddDevice(struct soap*, const struct dss__GroupAddDevice *);
@@ -659,7 +659,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__GroupAddDevice(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__GroupAddDeviceResponse
-#define SOAP_TYPE_dss__GroupAddDeviceResponse (266)
+#define SOAP_TYPE_dss__GroupAddDeviceResponse (260)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__GroupAddDeviceResponse(struct soap*, struct dss__GroupAddDeviceResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__GroupAddDeviceResponse(struct soap*, const struct dss__GroupAddDeviceResponse *);
@@ -673,7 +673,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__GroupAddDeviceResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__GroupRemoveUserGroup
-#define SOAP_TYPE_dss__GroupRemoveUserGroup (264)
+#define SOAP_TYPE_dss__GroupRemoveUserGroup (258)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__GroupRemoveUserGroup(struct soap*, struct dss__GroupRemoveUserGroup *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__GroupRemoveUserGroup(struct soap*, const struct dss__GroupRemoveUserGroup *);
@@ -687,7 +687,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__GroupRemoveUserGroup(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__GroupRemoveUserGroupResponse
-#define SOAP_TYPE_dss__GroupRemoveUserGroupResponse (263)
+#define SOAP_TYPE_dss__GroupRemoveUserGroupResponse (257)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__GroupRemoveUserGroupResponse(struct soap*, struct dss__GroupRemoveUserGroupResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__GroupRemoveUserGroupResponse(struct soap*, const struct dss__GroupRemoveUserGroupResponse *);
@@ -701,7 +701,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__GroupRemoveUserGroupResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentAllocateUserGroup
-#define SOAP_TYPE_dss__ApartmentAllocateUserGroup (261)
+#define SOAP_TYPE_dss__ApartmentAllocateUserGroup (255)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentAllocateUserGroup(struct soap*, struct dss__ApartmentAllocateUserGroup *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentAllocateUserGroup(struct soap*, const struct dss__ApartmentAllocateUserGroup *);
@@ -715,7 +715,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentAllocateUserGroup(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentAllocateUserGroupResponse
-#define SOAP_TYPE_dss__ApartmentAllocateUserGroupResponse (260)
+#define SOAP_TYPE_dss__ApartmentAllocateUserGroupResponse (254)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentAllocateUserGroupResponse(struct soap*, struct dss__ApartmentAllocateUserGroupResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentAllocateUserGroupResponse(struct soap*, const struct dss__ApartmentAllocateUserGroupResponse *);
@@ -729,7 +729,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentAllocateUserGroupResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__Zone_SetName
-#define SOAP_TYPE_dss__Zone_SetName (258)
+#define SOAP_TYPE_dss__Zone_SetName (252)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__Zone_SetName(struct soap*, struct dss__Zone_SetName *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__Zone_SetName(struct soap*, const struct dss__Zone_SetName *);
@@ -743,7 +743,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__Zone_SetName(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__Zone_SetNameResponse
-#define SOAP_TYPE_dss__Zone_SetNameResponse (257)
+#define SOAP_TYPE_dss__Zone_SetNameResponse (251)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__Zone_SetNameResponse(struct soap*, struct dss__Zone_SetNameResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__Zone_SetNameResponse(struct soap*, const struct dss__Zone_SetNameResponse *);
@@ -757,7 +757,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__Zone_SetNameResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__Zone_RemoveDevice
-#define SOAP_TYPE_dss__Zone_RemoveDevice (255)
+#define SOAP_TYPE_dss__Zone_RemoveDevice (249)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__Zone_RemoveDevice(struct soap*, struct dss__Zone_RemoveDevice *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__Zone_RemoveDevice(struct soap*, const struct dss__Zone_RemoveDevice *);
@@ -771,7 +771,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__Zone_RemoveDevice(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__Zone_RemoveDeviceResponse
-#define SOAP_TYPE_dss__Zone_RemoveDeviceResponse (254)
+#define SOAP_TYPE_dss__Zone_RemoveDeviceResponse (248)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__Zone_RemoveDeviceResponse(struct soap*, struct dss__Zone_RemoveDeviceResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__Zone_RemoveDeviceResponse(struct soap*, const struct dss__Zone_RemoveDeviceResponse *);
@@ -785,7 +785,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__Zone_RemoveDeviceResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__Zone_AddDevice
-#define SOAP_TYPE_dss__Zone_AddDevice (252)
+#define SOAP_TYPE_dss__Zone_AddDevice (246)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__Zone_AddDevice(struct soap*, struct dss__Zone_AddDevice *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__Zone_AddDevice(struct soap*, const struct dss__Zone_AddDevice *);
@@ -799,7 +799,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__Zone_AddDevice(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__Zone_AddDeviceResponse
-#define SOAP_TYPE_dss__Zone_AddDeviceResponse (251)
+#define SOAP_TYPE_dss__Zone_AddDeviceResponse (245)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__Zone_AddDeviceResponse(struct soap*, struct dss__Zone_AddDeviceResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__Zone_AddDeviceResponse(struct soap*, const struct dss__Zone_AddDeviceResponse *);
@@ -813,7 +813,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__Zone_AddDeviceResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentDeleteZone
-#define SOAP_TYPE_dss__ApartmentDeleteZone (249)
+#define SOAP_TYPE_dss__ApartmentDeleteZone (243)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentDeleteZone(struct soap*, struct dss__ApartmentDeleteZone *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentDeleteZone(struct soap*, const struct dss__ApartmentDeleteZone *);
@@ -827,7 +827,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentDeleteZone(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentDeleteZoneResponse
-#define SOAP_TYPE_dss__ApartmentDeleteZoneResponse (248)
+#define SOAP_TYPE_dss__ApartmentDeleteZoneResponse (242)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentDeleteZoneResponse(struct soap*, struct dss__ApartmentDeleteZoneResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentDeleteZoneResponse(struct soap*, const struct dss__ApartmentDeleteZoneResponse *);
@@ -841,7 +841,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentDeleteZoneResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentAllocateZone
-#define SOAP_TYPE_dss__ApartmentAllocateZone (246)
+#define SOAP_TYPE_dss__ApartmentAllocateZone (240)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentAllocateZone(struct soap*, struct dss__ApartmentAllocateZone *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentAllocateZone(struct soap*, const struct dss__ApartmentAllocateZone *);
@@ -855,7 +855,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentAllocateZone(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentAllocateZoneResponse
-#define SOAP_TYPE_dss__ApartmentAllocateZoneResponse (245)
+#define SOAP_TYPE_dss__ApartmentAllocateZoneResponse (239)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentAllocateZoneResponse(struct soap*, struct dss__ApartmentAllocateZoneResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentAllocateZoneResponse(struct soap*, const struct dss__ApartmentAllocateZoneResponse *);
@@ -869,7 +869,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentAllocateZoneResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ModulatorGetName
-#define SOAP_TYPE_dss__ModulatorGetName (243)
+#define SOAP_TYPE_dss__ModulatorGetName (237)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ModulatorGetName(struct soap*, struct dss__ModulatorGetName *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ModulatorGetName(struct soap*, const struct dss__ModulatorGetName *);
@@ -883,7 +883,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ModulatorGetName(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ModulatorGetNameResponse
-#define SOAP_TYPE_dss__ModulatorGetNameResponse (242)
+#define SOAP_TYPE_dss__ModulatorGetNameResponse (236)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ModulatorGetNameResponse(struct soap*, struct dss__ModulatorGetNameResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ModulatorGetNameResponse(struct soap*, const struct dss__ModulatorGetNameResponse *);
@@ -897,7 +897,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ModulatorGetNameResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentGetModulatorIDs
-#define SOAP_TYPE_dss__ApartmentGetModulatorIDs (240)
+#define SOAP_TYPE_dss__ApartmentGetModulatorIDs (234)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentGetModulatorIDs(struct soap*, struct dss__ApartmentGetModulatorIDs *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentGetModulatorIDs(struct soap*, const struct dss__ApartmentGetModulatorIDs *);
@@ -911,7 +911,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentGetModulatorIDs(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentGetModulatorIDsResponse
-#define SOAP_TYPE_dss__ApartmentGetModulatorIDsResponse (239)
+#define SOAP_TYPE_dss__ApartmentGetModulatorIDsResponse (233)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentGetModulatorIDsResponse(struct soap*, struct dss__ApartmentGetModulatorIDsResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentGetModulatorIDsResponse(struct soap*, const struct dss__ApartmentGetModulatorIDsResponse *);
@@ -925,7 +925,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentGetModulatorIDsResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ModulatorGetPowerConsumption
-#define SOAP_TYPE_dss__ModulatorGetPowerConsumption (237)
+#define SOAP_TYPE_dss__ModulatorGetPowerConsumption (231)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ModulatorGetPowerConsumption(struct soap*, struct dss__ModulatorGetPowerConsumption *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ModulatorGetPowerConsumption(struct soap*, const struct dss__ModulatorGetPowerConsumption *);
@@ -939,7 +939,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ModulatorGetPowerConsumption(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ModulatorGetPowerConsumptionResponse
-#define SOAP_TYPE_dss__ModulatorGetPowerConsumptionResponse (236)
+#define SOAP_TYPE_dss__ModulatorGetPowerConsumptionResponse (230)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ModulatorGetPowerConsumptionResponse(struct soap*, struct dss__ModulatorGetPowerConsumptionResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ModulatorGetPowerConsumptionResponse(struct soap*, const struct dss__ModulatorGetPowerConsumptionResponse *);
@@ -953,7 +953,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ModulatorGetPowerConsumptionResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__DeviceGetZoneID
-#define SOAP_TYPE_dss__DeviceGetZoneID (233)
+#define SOAP_TYPE_dss__DeviceGetZoneID (227)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceGetZoneID(struct soap*, struct dss__DeviceGetZoneID *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceGetZoneID(struct soap*, const struct dss__DeviceGetZoneID *);
@@ -967,7 +967,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceGetZoneID(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__DeviceGetZoneIDResponse
-#define SOAP_TYPE_dss__DeviceGetZoneIDResponse (232)
+#define SOAP_TYPE_dss__DeviceGetZoneIDResponse (226)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceGetZoneIDResponse(struct soap*, struct dss__DeviceGetZoneIDResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceGetZoneIDResponse(struct soap*, const struct dss__DeviceGetZoneIDResponse *);
@@ -981,7 +981,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceGetZoneIDResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__DeviceGetName
-#define SOAP_TYPE_dss__DeviceGetName (230)
+#define SOAP_TYPE_dss__DeviceGetName (224)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceGetName(struct soap*, struct dss__DeviceGetName *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceGetName(struct soap*, const struct dss__DeviceGetName *);
@@ -995,7 +995,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceGetName(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__DeviceGetNameResponse
-#define SOAP_TYPE_dss__DeviceGetNameResponse (229)
+#define SOAP_TYPE_dss__DeviceGetNameResponse (223)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceGetNameResponse(struct soap*, struct dss__DeviceGetNameResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceGetNameResponse(struct soap*, const struct dss__DeviceGetNameResponse *);
@@ -1009,7 +1009,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceGetNameResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__DeviceSaveScene
-#define SOAP_TYPE_dss__DeviceSaveScene (226)
+#define SOAP_TYPE_dss__DeviceSaveScene (220)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceSaveScene(struct soap*, struct dss__DeviceSaveScene *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceSaveScene(struct soap*, const struct dss__DeviceSaveScene *);
@@ -1023,7 +1023,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceSaveScene(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__DeviceSaveSceneResponse
-#define SOAP_TYPE_dss__DeviceSaveSceneResponse (225)
+#define SOAP_TYPE_dss__DeviceSaveSceneResponse (219)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceSaveSceneResponse(struct soap*, struct dss__DeviceSaveSceneResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceSaveSceneResponse(struct soap*, const struct dss__DeviceSaveSceneResponse *);
@@ -1037,7 +1037,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceSaveSceneResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__DeviceCallScene
-#define SOAP_TYPE_dss__DeviceCallScene (223)
+#define SOAP_TYPE_dss__DeviceCallScene (217)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceCallScene(struct soap*, struct dss__DeviceCallScene *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceCallScene(struct soap*, const struct dss__DeviceCallScene *);
@@ -1051,7 +1051,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceCallScene(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__DeviceCallSceneResponse
-#define SOAP_TYPE_dss__DeviceCallSceneResponse (222)
+#define SOAP_TYPE_dss__DeviceCallSceneResponse (216)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceCallSceneResponse(struct soap*, struct dss__DeviceCallSceneResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceCallSceneResponse(struct soap*, const struct dss__DeviceCallSceneResponse *);
@@ -1065,7 +1065,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceCallSceneResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__DeviceGetValue
-#define SOAP_TYPE_dss__DeviceGetValue (220)
+#define SOAP_TYPE_dss__DeviceGetValue (214)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceGetValue(struct soap*, struct dss__DeviceGetValue *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceGetValue(struct soap*, const struct dss__DeviceGetValue *);
@@ -1079,7 +1079,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceGetValue(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__DeviceGetValueResponse
-#define SOAP_TYPE_dss__DeviceGetValueResponse (219)
+#define SOAP_TYPE_dss__DeviceGetValueResponse (213)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceGetValueResponse(struct soap*, struct dss__DeviceGetValueResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceGetValueResponse(struct soap*, const struct dss__DeviceGetValueResponse *);
@@ -1093,7 +1093,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceGetValueResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__DeviceSetValue
-#define SOAP_TYPE_dss__DeviceSetValue (216)
+#define SOAP_TYPE_dss__DeviceSetValue (210)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceSetValue(struct soap*, struct dss__DeviceSetValue *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceSetValue(struct soap*, const struct dss__DeviceSetValue *);
@@ -1107,7 +1107,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceSetValue(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__DeviceSetValueResponse
-#define SOAP_TYPE_dss__DeviceSetValueResponse (215)
+#define SOAP_TYPE_dss__DeviceSetValueResponse (209)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceSetValueResponse(struct soap*, struct dss__DeviceSetValueResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceSetValueResponse(struct soap*, const struct dss__DeviceSetValueResponse *);
@@ -1121,7 +1121,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceSetValueResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__DeviceEndDim
-#define SOAP_TYPE_dss__DeviceEndDim (213)
+#define SOAP_TYPE_dss__DeviceEndDim (207)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceEndDim(struct soap*, struct dss__DeviceEndDim *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceEndDim(struct soap*, const struct dss__DeviceEndDim *);
@@ -1135,7 +1135,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceEndDim(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__DeviceEndDimResponse
-#define SOAP_TYPE_dss__DeviceEndDimResponse (212)
+#define SOAP_TYPE_dss__DeviceEndDimResponse (206)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceEndDimResponse(struct soap*, struct dss__DeviceEndDimResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceEndDimResponse(struct soap*, const struct dss__DeviceEndDimResponse *);
@@ -1149,7 +1149,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceEndDimResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__DeviceStartDim
-#define SOAP_TYPE_dss__DeviceStartDim (210)
+#define SOAP_TYPE_dss__DeviceStartDim (204)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceStartDim(struct soap*, struct dss__DeviceStartDim *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceStartDim(struct soap*, const struct dss__DeviceStartDim *);
@@ -1163,7 +1163,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceStartDim(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__DeviceStartDimResponse
-#define SOAP_TYPE_dss__DeviceStartDimResponse (209)
+#define SOAP_TYPE_dss__DeviceStartDimResponse (203)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceStartDimResponse(struct soap*, struct dss__DeviceStartDimResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceStartDimResponse(struct soap*, const struct dss__DeviceStartDimResponse *);
@@ -1177,7 +1177,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceStartDimResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__DeviceDisable
-#define SOAP_TYPE_dss__DeviceDisable (207)
+#define SOAP_TYPE_dss__DeviceDisable (201)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceDisable(struct soap*, struct dss__DeviceDisable *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceDisable(struct soap*, const struct dss__DeviceDisable *);
@@ -1191,7 +1191,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceDisable(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__DeviceDisableResponse
-#define SOAP_TYPE_dss__DeviceDisableResponse (206)
+#define SOAP_TYPE_dss__DeviceDisableResponse (200)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceDisableResponse(struct soap*, struct dss__DeviceDisableResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceDisableResponse(struct soap*, const struct dss__DeviceDisableResponse *);
@@ -1205,7 +1205,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceDisableResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__DeviceEnable
-#define SOAP_TYPE_dss__DeviceEnable (204)
+#define SOAP_TYPE_dss__DeviceEnable (198)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceEnable(struct soap*, struct dss__DeviceEnable *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceEnable(struct soap*, const struct dss__DeviceEnable *);
@@ -1219,7 +1219,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceEnable(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__DeviceEnableResponse
-#define SOAP_TYPE_dss__DeviceEnableResponse (203)
+#define SOAP_TYPE_dss__DeviceEnableResponse (197)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceEnableResponse(struct soap*, struct dss__DeviceEnableResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceEnableResponse(struct soap*, const struct dss__DeviceEnableResponse *);
@@ -1233,7 +1233,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceEnableResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__DeviceDecreaseValue
-#define SOAP_TYPE_dss__DeviceDecreaseValue (201)
+#define SOAP_TYPE_dss__DeviceDecreaseValue (195)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceDecreaseValue(struct soap*, struct dss__DeviceDecreaseValue *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceDecreaseValue(struct soap*, const struct dss__DeviceDecreaseValue *);
@@ -1247,7 +1247,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceDecreaseValue(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__DeviceDecreaseValueResponse
-#define SOAP_TYPE_dss__DeviceDecreaseValueResponse (200)
+#define SOAP_TYPE_dss__DeviceDecreaseValueResponse (194)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceDecreaseValueResponse(struct soap*, struct dss__DeviceDecreaseValueResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceDecreaseValueResponse(struct soap*, const struct dss__DeviceDecreaseValueResponse *);
@@ -1261,7 +1261,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceDecreaseValueResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__DeviceIncreaseValue
-#define SOAP_TYPE_dss__DeviceIncreaseValue (198)
+#define SOAP_TYPE_dss__DeviceIncreaseValue (192)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceIncreaseValue(struct soap*, struct dss__DeviceIncreaseValue *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceIncreaseValue(struct soap*, const struct dss__DeviceIncreaseValue *);
@@ -1275,7 +1275,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceIncreaseValue(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__DeviceIncreaseValueResponse
-#define SOAP_TYPE_dss__DeviceIncreaseValueResponse (197)
+#define SOAP_TYPE_dss__DeviceIncreaseValueResponse (191)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceIncreaseValueResponse(struct soap*, struct dss__DeviceIncreaseValueResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceIncreaseValueResponse(struct soap*, const struct dss__DeviceIncreaseValueResponse *);
@@ -1289,7 +1289,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceIncreaseValueResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__DeviceTurnOff
-#define SOAP_TYPE_dss__DeviceTurnOff (195)
+#define SOAP_TYPE_dss__DeviceTurnOff (189)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceTurnOff(struct soap*, struct dss__DeviceTurnOff *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceTurnOff(struct soap*, const struct dss__DeviceTurnOff *);
@@ -1303,7 +1303,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceTurnOff(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__DeviceTurnOffResponse
-#define SOAP_TYPE_dss__DeviceTurnOffResponse (194)
+#define SOAP_TYPE_dss__DeviceTurnOffResponse (188)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceTurnOffResponse(struct soap*, struct dss__DeviceTurnOffResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceTurnOffResponse(struct soap*, const struct dss__DeviceTurnOffResponse *);
@@ -1317,7 +1317,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceTurnOffResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__DeviceTurnOn
-#define SOAP_TYPE_dss__DeviceTurnOn (192)
+#define SOAP_TYPE_dss__DeviceTurnOn (186)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceTurnOn(struct soap*, struct dss__DeviceTurnOn *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceTurnOn(struct soap*, const struct dss__DeviceTurnOn *);
@@ -1331,7 +1331,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceTurnOn(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__DeviceTurnOnResponse
-#define SOAP_TYPE_dss__DeviceTurnOnResponse (191)
+#define SOAP_TYPE_dss__DeviceTurnOnResponse (185)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceTurnOnResponse(struct soap*, struct dss__DeviceTurnOnResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceTurnOnResponse(struct soap*, const struct dss__DeviceTurnOnResponse *);
@@ -1345,7 +1345,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceTurnOnResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ZoneSaveScene
-#define SOAP_TYPE_dss__ZoneSaveScene (189)
+#define SOAP_TYPE_dss__ZoneSaveScene (183)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ZoneSaveScene(struct soap*, struct dss__ZoneSaveScene *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ZoneSaveScene(struct soap*, const struct dss__ZoneSaveScene *);
@@ -1359,7 +1359,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ZoneSaveScene(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ZoneSaveSceneResponse
-#define SOAP_TYPE_dss__ZoneSaveSceneResponse (188)
+#define SOAP_TYPE_dss__ZoneSaveSceneResponse (182)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ZoneSaveSceneResponse(struct soap*, struct dss__ZoneSaveSceneResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ZoneSaveSceneResponse(struct soap*, const struct dss__ZoneSaveSceneResponse *);
@@ -1373,7 +1373,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ZoneSaveSceneResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ZoneCallScene
-#define SOAP_TYPE_dss__ZoneCallScene (186)
+#define SOAP_TYPE_dss__ZoneCallScene (180)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ZoneCallScene(struct soap*, struct dss__ZoneCallScene *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ZoneCallScene(struct soap*, const struct dss__ZoneCallScene *);
@@ -1387,7 +1387,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ZoneCallScene(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ZoneCallSceneResponse
-#define SOAP_TYPE_dss__ZoneCallSceneResponse (185)
+#define SOAP_TYPE_dss__ZoneCallSceneResponse (179)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ZoneCallSceneResponse(struct soap*, struct dss__ZoneCallSceneResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ZoneCallSceneResponse(struct soap*, const struct dss__ZoneCallSceneResponse *);
@@ -1401,7 +1401,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ZoneCallSceneResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ZoneSetValue
-#define SOAP_TYPE_dss__ZoneSetValue (183)
+#define SOAP_TYPE_dss__ZoneSetValue (177)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ZoneSetValue(struct soap*, struct dss__ZoneSetValue *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ZoneSetValue(struct soap*, const struct dss__ZoneSetValue *);
@@ -1415,7 +1415,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ZoneSetValue(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ZoneSetValueResponse
-#define SOAP_TYPE_dss__ZoneSetValueResponse (182)
+#define SOAP_TYPE_dss__ZoneSetValueResponse (176)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ZoneSetValueResponse(struct soap*, struct dss__ZoneSetValueResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ZoneSetValueResponse(struct soap*, const struct dss__ZoneSetValueResponse *);
@@ -1429,7 +1429,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ZoneSetValueResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ZoneEndDim
-#define SOAP_TYPE_dss__ZoneEndDim (180)
+#define SOAP_TYPE_dss__ZoneEndDim (174)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ZoneEndDim(struct soap*, struct dss__ZoneEndDim *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ZoneEndDim(struct soap*, const struct dss__ZoneEndDim *);
@@ -1443,7 +1443,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ZoneEndDim(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ZoneEndDimResponse
-#define SOAP_TYPE_dss__ZoneEndDimResponse (179)
+#define SOAP_TYPE_dss__ZoneEndDimResponse (173)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ZoneEndDimResponse(struct soap*, struct dss__ZoneEndDimResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ZoneEndDimResponse(struct soap*, const struct dss__ZoneEndDimResponse *);
@@ -1457,7 +1457,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ZoneEndDimResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ZoneStartDim
-#define SOAP_TYPE_dss__ZoneStartDim (177)
+#define SOAP_TYPE_dss__ZoneStartDim (171)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ZoneStartDim(struct soap*, struct dss__ZoneStartDim *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ZoneStartDim(struct soap*, const struct dss__ZoneStartDim *);
@@ -1471,7 +1471,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ZoneStartDim(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ZoneStartDimResponse
-#define SOAP_TYPE_dss__ZoneStartDimResponse (176)
+#define SOAP_TYPE_dss__ZoneStartDimResponse (170)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ZoneStartDimResponse(struct soap*, struct dss__ZoneStartDimResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ZoneStartDimResponse(struct soap*, const struct dss__ZoneStartDimResponse *);
@@ -1485,7 +1485,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ZoneStartDimResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ZoneDisable
-#define SOAP_TYPE_dss__ZoneDisable (174)
+#define SOAP_TYPE_dss__ZoneDisable (168)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ZoneDisable(struct soap*, struct dss__ZoneDisable *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ZoneDisable(struct soap*, const struct dss__ZoneDisable *);
@@ -1499,7 +1499,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ZoneDisable(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ZoneDisableResponse
-#define SOAP_TYPE_dss__ZoneDisableResponse (173)
+#define SOAP_TYPE_dss__ZoneDisableResponse (167)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ZoneDisableResponse(struct soap*, struct dss__ZoneDisableResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ZoneDisableResponse(struct soap*, const struct dss__ZoneDisableResponse *);
@@ -1513,7 +1513,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ZoneDisableResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ZoneEnable
-#define SOAP_TYPE_dss__ZoneEnable (171)
+#define SOAP_TYPE_dss__ZoneEnable (165)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ZoneEnable(struct soap*, struct dss__ZoneEnable *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ZoneEnable(struct soap*, const struct dss__ZoneEnable *);
@@ -1527,7 +1527,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ZoneEnable(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ZoneEnableResponse
-#define SOAP_TYPE_dss__ZoneEnableResponse (170)
+#define SOAP_TYPE_dss__ZoneEnableResponse (164)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ZoneEnableResponse(struct soap*, struct dss__ZoneEnableResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ZoneEnableResponse(struct soap*, const struct dss__ZoneEnableResponse *);
@@ -1541,7 +1541,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ZoneEnableResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ZoneDecreaseValue
-#define SOAP_TYPE_dss__ZoneDecreaseValue (168)
+#define SOAP_TYPE_dss__ZoneDecreaseValue (162)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ZoneDecreaseValue(struct soap*, struct dss__ZoneDecreaseValue *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ZoneDecreaseValue(struct soap*, const struct dss__ZoneDecreaseValue *);
@@ -1555,7 +1555,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ZoneDecreaseValue(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ZoneDecreaseValueResponse
-#define SOAP_TYPE_dss__ZoneDecreaseValueResponse (167)
+#define SOAP_TYPE_dss__ZoneDecreaseValueResponse (161)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ZoneDecreaseValueResponse(struct soap*, struct dss__ZoneDecreaseValueResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ZoneDecreaseValueResponse(struct soap*, const struct dss__ZoneDecreaseValueResponse *);
@@ -1569,7 +1569,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ZoneDecreaseValueResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ZoneIncreaseValue
-#define SOAP_TYPE_dss__ZoneIncreaseValue (165)
+#define SOAP_TYPE_dss__ZoneIncreaseValue (159)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ZoneIncreaseValue(struct soap*, struct dss__ZoneIncreaseValue *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ZoneIncreaseValue(struct soap*, const struct dss__ZoneIncreaseValue *);
@@ -1583,7 +1583,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ZoneIncreaseValue(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ZoneIncreaseValueResponse
-#define SOAP_TYPE_dss__ZoneIncreaseValueResponse (164)
+#define SOAP_TYPE_dss__ZoneIncreaseValueResponse (158)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ZoneIncreaseValueResponse(struct soap*, struct dss__ZoneIncreaseValueResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ZoneIncreaseValueResponse(struct soap*, const struct dss__ZoneIncreaseValueResponse *);
@@ -1597,7 +1597,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ZoneIncreaseValueResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ZoneTurnOff
-#define SOAP_TYPE_dss__ZoneTurnOff (162)
+#define SOAP_TYPE_dss__ZoneTurnOff (156)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ZoneTurnOff(struct soap*, struct dss__ZoneTurnOff *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ZoneTurnOff(struct soap*, const struct dss__ZoneTurnOff *);
@@ -1611,7 +1611,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ZoneTurnOff(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ZoneTurnOffResponse
-#define SOAP_TYPE_dss__ZoneTurnOffResponse (161)
+#define SOAP_TYPE_dss__ZoneTurnOffResponse (155)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ZoneTurnOffResponse(struct soap*, struct dss__ZoneTurnOffResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ZoneTurnOffResponse(struct soap*, const struct dss__ZoneTurnOffResponse *);
@@ -1625,7 +1625,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ZoneTurnOffResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ZoneTurnOn
-#define SOAP_TYPE_dss__ZoneTurnOn (159)
+#define SOAP_TYPE_dss__ZoneTurnOn (153)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ZoneTurnOn(struct soap*, struct dss__ZoneTurnOn *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ZoneTurnOn(struct soap*, const struct dss__ZoneTurnOn *);
@@ -1639,7 +1639,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ZoneTurnOn(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ZoneTurnOnResponse
-#define SOAP_TYPE_dss__ZoneTurnOnResponse (158)
+#define SOAP_TYPE_dss__ZoneTurnOnResponse (152)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ZoneTurnOnResponse(struct soap*, struct dss__ZoneTurnOnResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ZoneTurnOnResponse(struct soap*, const struct dss__ZoneTurnOnResponse *);
@@ -1653,7 +1653,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ZoneTurnOnResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__CircuitRescan
-#define SOAP_TYPE_dss__CircuitRescan (156)
+#define SOAP_TYPE_dss__CircuitRescan (150)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__CircuitRescan(struct soap*, struct dss__CircuitRescan *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__CircuitRescan(struct soap*, const struct dss__CircuitRescan *);
@@ -1667,7 +1667,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__CircuitRescan(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__CircuitRescanResponse
-#define SOAP_TYPE_dss__CircuitRescanResponse (155)
+#define SOAP_TYPE_dss__CircuitRescanResponse (149)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__CircuitRescanResponse(struct soap*, struct dss__CircuitRescanResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__CircuitRescanResponse(struct soap*, const struct dss__CircuitRescanResponse *);
@@ -1681,7 +1681,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__CircuitRescanResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentRescan
-#define SOAP_TYPE_dss__ApartmentRescan (153)
+#define SOAP_TYPE_dss__ApartmentRescan (147)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentRescan(struct soap*, struct dss__ApartmentRescan *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentRescan(struct soap*, const struct dss__ApartmentRescan *);
@@ -1695,7 +1695,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentRescan(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentRescanResponse
-#define SOAP_TYPE_dss__ApartmentRescanResponse (152)
+#define SOAP_TYPE_dss__ApartmentRescanResponse (146)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentRescanResponse(struct soap*, struct dss__ApartmentRescanResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentRescanResponse(struct soap*, const struct dss__ApartmentRescanResponse *);
@@ -1709,7 +1709,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentRescanResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentSaveScene
-#define SOAP_TYPE_dss__ApartmentSaveScene (150)
+#define SOAP_TYPE_dss__ApartmentSaveScene (144)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentSaveScene(struct soap*, struct dss__ApartmentSaveScene *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentSaveScene(struct soap*, const struct dss__ApartmentSaveScene *);
@@ -1723,7 +1723,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentSaveScene(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentSaveSceneResponse
-#define SOAP_TYPE_dss__ApartmentSaveSceneResponse (149)
+#define SOAP_TYPE_dss__ApartmentSaveSceneResponse (143)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentSaveSceneResponse(struct soap*, struct dss__ApartmentSaveSceneResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentSaveSceneResponse(struct soap*, const struct dss__ApartmentSaveSceneResponse *);
@@ -1737,7 +1737,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentSaveSceneResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentCallScene
-#define SOAP_TYPE_dss__ApartmentCallScene (147)
+#define SOAP_TYPE_dss__ApartmentCallScene (141)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentCallScene(struct soap*, struct dss__ApartmentCallScene *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentCallScene(struct soap*, const struct dss__ApartmentCallScene *);
@@ -1751,7 +1751,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentCallScene(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentCallSceneResponse
-#define SOAP_TYPE_dss__ApartmentCallSceneResponse (146)
+#define SOAP_TYPE_dss__ApartmentCallSceneResponse (140)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentCallSceneResponse(struct soap*, struct dss__ApartmentCallSceneResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentCallSceneResponse(struct soap*, const struct dss__ApartmentCallSceneResponse *);
@@ -1765,7 +1765,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentCallSceneResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentSetValue
-#define SOAP_TYPE_dss__ApartmentSetValue (144)
+#define SOAP_TYPE_dss__ApartmentSetValue (138)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentSetValue(struct soap*, struct dss__ApartmentSetValue *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentSetValue(struct soap*, const struct dss__ApartmentSetValue *);
@@ -1779,7 +1779,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentSetValue(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentSetValueResponse
-#define SOAP_TYPE_dss__ApartmentSetValueResponse (143)
+#define SOAP_TYPE_dss__ApartmentSetValueResponse (137)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentSetValueResponse(struct soap*, struct dss__ApartmentSetValueResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentSetValueResponse(struct soap*, const struct dss__ApartmentSetValueResponse *);
@@ -1793,7 +1793,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentSetValueResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentEndDim
-#define SOAP_TYPE_dss__ApartmentEndDim (141)
+#define SOAP_TYPE_dss__ApartmentEndDim (135)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentEndDim(struct soap*, struct dss__ApartmentEndDim *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentEndDim(struct soap*, const struct dss__ApartmentEndDim *);
@@ -1807,7 +1807,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentEndDim(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentEndDimResponse
-#define SOAP_TYPE_dss__ApartmentEndDimResponse (140)
+#define SOAP_TYPE_dss__ApartmentEndDimResponse (134)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentEndDimResponse(struct soap*, struct dss__ApartmentEndDimResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentEndDimResponse(struct soap*, const struct dss__ApartmentEndDimResponse *);
@@ -1821,7 +1821,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentEndDimResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentStartDim
-#define SOAP_TYPE_dss__ApartmentStartDim (138)
+#define SOAP_TYPE_dss__ApartmentStartDim (132)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentStartDim(struct soap*, struct dss__ApartmentStartDim *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentStartDim(struct soap*, const struct dss__ApartmentStartDim *);
@@ -1835,7 +1835,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentStartDim(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentStartDimResponse
-#define SOAP_TYPE_dss__ApartmentStartDimResponse (137)
+#define SOAP_TYPE_dss__ApartmentStartDimResponse (131)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentStartDimResponse(struct soap*, struct dss__ApartmentStartDimResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentStartDimResponse(struct soap*, const struct dss__ApartmentStartDimResponse *);
@@ -1849,7 +1849,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentStartDimResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentDisable
-#define SOAP_TYPE_dss__ApartmentDisable (135)
+#define SOAP_TYPE_dss__ApartmentDisable (129)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentDisable(struct soap*, struct dss__ApartmentDisable *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentDisable(struct soap*, const struct dss__ApartmentDisable *);
@@ -1863,7 +1863,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentDisable(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentDisableResponse
-#define SOAP_TYPE_dss__ApartmentDisableResponse (134)
+#define SOAP_TYPE_dss__ApartmentDisableResponse (128)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentDisableResponse(struct soap*, struct dss__ApartmentDisableResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentDisableResponse(struct soap*, const struct dss__ApartmentDisableResponse *);
@@ -1877,7 +1877,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentDisableResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentEnable
-#define SOAP_TYPE_dss__ApartmentEnable (132)
+#define SOAP_TYPE_dss__ApartmentEnable (126)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentEnable(struct soap*, struct dss__ApartmentEnable *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentEnable(struct soap*, const struct dss__ApartmentEnable *);
@@ -1891,7 +1891,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentEnable(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentEnableResponse
-#define SOAP_TYPE_dss__ApartmentEnableResponse (131)
+#define SOAP_TYPE_dss__ApartmentEnableResponse (125)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentEnableResponse(struct soap*, struct dss__ApartmentEnableResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentEnableResponse(struct soap*, const struct dss__ApartmentEnableResponse *);
@@ -1905,7 +1905,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentEnableResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentDecreaseValue
-#define SOAP_TYPE_dss__ApartmentDecreaseValue (129)
+#define SOAP_TYPE_dss__ApartmentDecreaseValue (123)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentDecreaseValue(struct soap*, struct dss__ApartmentDecreaseValue *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentDecreaseValue(struct soap*, const struct dss__ApartmentDecreaseValue *);
@@ -1919,7 +1919,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentDecreaseValue(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentDecreaseValueResponse
-#define SOAP_TYPE_dss__ApartmentDecreaseValueResponse (128)
+#define SOAP_TYPE_dss__ApartmentDecreaseValueResponse (122)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentDecreaseValueResponse(struct soap*, struct dss__ApartmentDecreaseValueResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentDecreaseValueResponse(struct soap*, const struct dss__ApartmentDecreaseValueResponse *);
@@ -1933,7 +1933,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentDecreaseValueResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentIncreaseValue
-#define SOAP_TYPE_dss__ApartmentIncreaseValue (126)
+#define SOAP_TYPE_dss__ApartmentIncreaseValue (120)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentIncreaseValue(struct soap*, struct dss__ApartmentIncreaseValue *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentIncreaseValue(struct soap*, const struct dss__ApartmentIncreaseValue *);
@@ -1947,7 +1947,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentIncreaseValue(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentIncreaseValueResponse
-#define SOAP_TYPE_dss__ApartmentIncreaseValueResponse (125)
+#define SOAP_TYPE_dss__ApartmentIncreaseValueResponse (119)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentIncreaseValueResponse(struct soap*, struct dss__ApartmentIncreaseValueResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentIncreaseValueResponse(struct soap*, const struct dss__ApartmentIncreaseValueResponse *);
@@ -1961,7 +1961,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentIncreaseValueResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentTurnOff
-#define SOAP_TYPE_dss__ApartmentTurnOff (123)
+#define SOAP_TYPE_dss__ApartmentTurnOff (117)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentTurnOff(struct soap*, struct dss__ApartmentTurnOff *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentTurnOff(struct soap*, const struct dss__ApartmentTurnOff *);
@@ -1975,7 +1975,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentTurnOff(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentTurnOffResponse
-#define SOAP_TYPE_dss__ApartmentTurnOffResponse (122)
+#define SOAP_TYPE_dss__ApartmentTurnOffResponse (116)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentTurnOffResponse(struct soap*, struct dss__ApartmentTurnOffResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentTurnOffResponse(struct soap*, const struct dss__ApartmentTurnOffResponse *);
@@ -1989,7 +1989,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentTurnOffResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentTurnOn
-#define SOAP_TYPE_dss__ApartmentTurnOn (120)
+#define SOAP_TYPE_dss__ApartmentTurnOn (114)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentTurnOn(struct soap*, struct dss__ApartmentTurnOn *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentTurnOn(struct soap*, const struct dss__ApartmentTurnOn *);
@@ -2003,7 +2003,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentTurnOn(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentTurnOnResponse
-#define SOAP_TYPE_dss__ApartmentTurnOnResponse (119)
+#define SOAP_TYPE_dss__ApartmentTurnOnResponse (113)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentTurnOnResponse(struct soap*, struct dss__ApartmentTurnOnResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentTurnOnResponse(struct soap*, const struct dss__ApartmentTurnOnResponse *);
@@ -2017,7 +2017,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentTurnOnResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetSaveScene
-#define SOAP_TYPE_dss__SetSaveScene (117)
+#define SOAP_TYPE_dss__SetSaveScene (111)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetSaveScene(struct soap*, struct dss__SetSaveScene *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetSaveScene(struct soap*, const struct dss__SetSaveScene *);
@@ -2031,7 +2031,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetSaveScene(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetSaveSceneResponse
-#define SOAP_TYPE_dss__SetSaveSceneResponse (116)
+#define SOAP_TYPE_dss__SetSaveSceneResponse (110)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetSaveSceneResponse(struct soap*, struct dss__SetSaveSceneResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetSaveSceneResponse(struct soap*, const struct dss__SetSaveSceneResponse *);
@@ -2045,7 +2045,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetSaveSceneResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetCallScene
-#define SOAP_TYPE_dss__SetCallScene (114)
+#define SOAP_TYPE_dss__SetCallScene (108)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetCallScene(struct soap*, struct dss__SetCallScene *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetCallScene(struct soap*, const struct dss__SetCallScene *);
@@ -2059,7 +2059,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetCallScene(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetCallSceneResponse
-#define SOAP_TYPE_dss__SetCallSceneResponse (113)
+#define SOAP_TYPE_dss__SetCallSceneResponse (107)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetCallSceneResponse(struct soap*, struct dss__SetCallSceneResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetCallSceneResponse(struct soap*, const struct dss__SetCallSceneResponse *);
@@ -2073,7 +2073,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetCallSceneResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetSetValue
-#define SOAP_TYPE_dss__SetSetValue (111)
+#define SOAP_TYPE_dss__SetSetValue (105)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetSetValue(struct soap*, struct dss__SetSetValue *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetSetValue(struct soap*, const struct dss__SetSetValue *);
@@ -2087,7 +2087,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetSetValue(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetSetValueResponse
-#define SOAP_TYPE_dss__SetSetValueResponse (110)
+#define SOAP_TYPE_dss__SetSetValueResponse (104)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetSetValueResponse(struct soap*, struct dss__SetSetValueResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetSetValueResponse(struct soap*, const struct dss__SetSetValueResponse *);
@@ -2101,7 +2101,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetSetValueResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetEndDim
-#define SOAP_TYPE_dss__SetEndDim (107)
+#define SOAP_TYPE_dss__SetEndDim (101)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetEndDim(struct soap*, struct dss__SetEndDim *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetEndDim(struct soap*, const struct dss__SetEndDim *);
@@ -2115,7 +2115,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetEndDim(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetEndDimResponse
-#define SOAP_TYPE_dss__SetEndDimResponse (106)
+#define SOAP_TYPE_dss__SetEndDimResponse (100)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetEndDimResponse(struct soap*, struct dss__SetEndDimResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetEndDimResponse(struct soap*, const struct dss__SetEndDimResponse *);
@@ -2129,7 +2129,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetEndDimResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetStartDim
-#define SOAP_TYPE_dss__SetStartDim (104)
+#define SOAP_TYPE_dss__SetStartDim (98)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetStartDim(struct soap*, struct dss__SetStartDim *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetStartDim(struct soap*, const struct dss__SetStartDim *);
@@ -2143,7 +2143,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetStartDim(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetStartDimResponse
-#define SOAP_TYPE_dss__SetStartDimResponse (103)
+#define SOAP_TYPE_dss__SetStartDimResponse (97)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetStartDimResponse(struct soap*, struct dss__SetStartDimResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetStartDimResponse(struct soap*, const struct dss__SetStartDimResponse *);
@@ -2157,7 +2157,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetStartDimResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetDisable
-#define SOAP_TYPE_dss__SetDisable (101)
+#define SOAP_TYPE_dss__SetDisable (95)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetDisable(struct soap*, struct dss__SetDisable *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetDisable(struct soap*, const struct dss__SetDisable *);
@@ -2171,7 +2171,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetDisable(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetDisableResponse
-#define SOAP_TYPE_dss__SetDisableResponse (100)
+#define SOAP_TYPE_dss__SetDisableResponse (94)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetDisableResponse(struct soap*, struct dss__SetDisableResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetDisableResponse(struct soap*, const struct dss__SetDisableResponse *);
@@ -2185,7 +2185,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetDisableResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetEnable
-#define SOAP_TYPE_dss__SetEnable (98)
+#define SOAP_TYPE_dss__SetEnable (92)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetEnable(struct soap*, struct dss__SetEnable *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetEnable(struct soap*, const struct dss__SetEnable *);
@@ -2199,7 +2199,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetEnable(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetEnableResponse
-#define SOAP_TYPE_dss__SetEnableResponse (97)
+#define SOAP_TYPE_dss__SetEnableResponse (91)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetEnableResponse(struct soap*, struct dss__SetEnableResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetEnableResponse(struct soap*, const struct dss__SetEnableResponse *);
@@ -2213,7 +2213,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetEnableResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetDecreaseValue
-#define SOAP_TYPE_dss__SetDecreaseValue (95)
+#define SOAP_TYPE_dss__SetDecreaseValue (89)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetDecreaseValue(struct soap*, struct dss__SetDecreaseValue *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetDecreaseValue(struct soap*, const struct dss__SetDecreaseValue *);
@@ -2227,7 +2227,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetDecreaseValue(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetDecreaseValueResponse
-#define SOAP_TYPE_dss__SetDecreaseValueResponse (94)
+#define SOAP_TYPE_dss__SetDecreaseValueResponse (88)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetDecreaseValueResponse(struct soap*, struct dss__SetDecreaseValueResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetDecreaseValueResponse(struct soap*, const struct dss__SetDecreaseValueResponse *);
@@ -2241,7 +2241,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetDecreaseValueResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetIncreaseValue
-#define SOAP_TYPE_dss__SetIncreaseValue (92)
+#define SOAP_TYPE_dss__SetIncreaseValue (86)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetIncreaseValue(struct soap*, struct dss__SetIncreaseValue *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetIncreaseValue(struct soap*, const struct dss__SetIncreaseValue *);
@@ -2255,7 +2255,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetIncreaseValue(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetIncreaseValueResponse
-#define SOAP_TYPE_dss__SetIncreaseValueResponse (91)
+#define SOAP_TYPE_dss__SetIncreaseValueResponse (85)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetIncreaseValueResponse(struct soap*, struct dss__SetIncreaseValueResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetIncreaseValueResponse(struct soap*, const struct dss__SetIncreaseValueResponse *);
@@ -2269,7 +2269,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetIncreaseValueResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetTurnOff
-#define SOAP_TYPE_dss__SetTurnOff (89)
+#define SOAP_TYPE_dss__SetTurnOff (83)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetTurnOff(struct soap*, struct dss__SetTurnOff *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetTurnOff(struct soap*, const struct dss__SetTurnOff *);
@@ -2283,7 +2283,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetTurnOff(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetTurnOffResponse
-#define SOAP_TYPE_dss__SetTurnOffResponse (88)
+#define SOAP_TYPE_dss__SetTurnOffResponse (82)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetTurnOffResponse(struct soap*, struct dss__SetTurnOffResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetTurnOffResponse(struct soap*, const struct dss__SetTurnOffResponse *);
@@ -2297,7 +2297,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetTurnOffResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetTurnOn
-#define SOAP_TYPE_dss__SetTurnOn (86)
+#define SOAP_TYPE_dss__SetTurnOn (80)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetTurnOn(struct soap*, struct dss__SetTurnOn *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetTurnOn(struct soap*, const struct dss__SetTurnOn *);
@@ -2311,7 +2311,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetTurnOn(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetTurnOnResponse
-#define SOAP_TYPE_dss__SetTurnOnResponse (85)
+#define SOAP_TYPE_dss__SetTurnOnResponse (79)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetTurnOnResponse(struct soap*, struct dss__SetTurnOnResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetTurnOnResponse(struct soap*, const struct dss__SetTurnOnResponse *);
@@ -2325,7 +2325,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetTurnOnResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentGetZoneIDs
-#define SOAP_TYPE_dss__ApartmentGetZoneIDs (83)
+#define SOAP_TYPE_dss__ApartmentGetZoneIDs (75)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentGetZoneIDs(struct soap*, struct dss__ApartmentGetZoneIDs *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentGetZoneIDs(struct soap*, const struct dss__ApartmentGetZoneIDs *);
@@ -2339,7 +2339,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentGetZoneIDs(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentGetZoneIDsResponse
-#define SOAP_TYPE_dss__ApartmentGetZoneIDsResponse (82)
+#define SOAP_TYPE_dss__ApartmentGetZoneIDsResponse (74)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentGetZoneIDsResponse(struct soap*, struct dss__ApartmentGetZoneIDsResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentGetZoneIDsResponse(struct soap*, const struct dss__ApartmentGetZoneIDsResponse *);
@@ -2353,7 +2353,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentGetZoneIDsResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentGetZoneByName
-#define SOAP_TYPE_dss__ApartmentGetZoneByName (78)
+#define SOAP_TYPE_dss__ApartmentGetZoneByName (70)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentGetZoneByName(struct soap*, struct dss__ApartmentGetZoneByName *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentGetZoneByName(struct soap*, const struct dss__ApartmentGetZoneByName *);
@@ -2367,7 +2367,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentGetZoneByName(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentGetZoneByNameResponse
-#define SOAP_TYPE_dss__ApartmentGetZoneByNameResponse (77)
+#define SOAP_TYPE_dss__ApartmentGetZoneByNameResponse (69)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentGetZoneByNameResponse(struct soap*, struct dss__ApartmentGetZoneByNameResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentGetZoneByNameResponse(struct soap*, const struct dss__ApartmentGetZoneByNameResponse *);
@@ -2381,7 +2381,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentGetZoneByNameResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentGetGroupByName
-#define SOAP_TYPE_dss__ApartmentGetGroupByName (75)
+#define SOAP_TYPE_dss__ApartmentGetGroupByName (67)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentGetGroupByName(struct soap*, struct dss__ApartmentGetGroupByName *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentGetGroupByName(struct soap*, const struct dss__ApartmentGetGroupByName *);
@@ -2395,7 +2395,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentGetGroupByName(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentGetGroupByNameResponse
-#define SOAP_TYPE_dss__ApartmentGetGroupByNameResponse (74)
+#define SOAP_TYPE_dss__ApartmentGetGroupByNameResponse (66)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentGetGroupByNameResponse(struct soap*, struct dss__ApartmentGetGroupByNameResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentGetGroupByNameResponse(struct soap*, const struct dss__ApartmentGetGroupByNameResponse *);
@@ -2409,7 +2409,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentGetGroupByNameResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetGetContainedDevices
-#define SOAP_TYPE_dss__SetGetContainedDevices (72)
+#define SOAP_TYPE_dss__SetGetContainedDevices (64)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetGetContainedDevices(struct soap*, struct dss__SetGetContainedDevices *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetGetContainedDevices(struct soap*, const struct dss__SetGetContainedDevices *);
@@ -2423,7 +2423,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetGetContainedDevices(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetGetContainedDevicesResponse
-#define SOAP_TYPE_dss__SetGetContainedDevicesResponse (71)
+#define SOAP_TYPE_dss__SetGetContainedDevicesResponse (63)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetGetContainedDevicesResponse(struct soap*, struct dss__SetGetContainedDevicesResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetGetContainedDevicesResponse(struct soap*, const struct dss__SetGetContainedDevicesResponse *);
@@ -2437,7 +2437,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetGetContainedDevicesResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetByGroup
-#define SOAP_TYPE_dss__SetByGroup (68)
+#define SOAP_TYPE_dss__SetByGroup (60)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetByGroup(struct soap*, struct dss__SetByGroup *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetByGroup(struct soap*, const struct dss__SetByGroup *);
@@ -2451,7 +2451,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetByGroup(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetByGroupResponse
-#define SOAP_TYPE_dss__SetByGroupResponse (67)
+#define SOAP_TYPE_dss__SetByGroupResponse (59)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetByGroupResponse(struct soap*, struct dss__SetByGroupResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetByGroupResponse(struct soap*, const struct dss__SetByGroupResponse *);
@@ -2465,7 +2465,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetByGroupResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetRemove
-#define SOAP_TYPE_dss__SetRemove (65)
+#define SOAP_TYPE_dss__SetRemove (57)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetRemove(struct soap*, struct dss__SetRemove *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetRemove(struct soap*, const struct dss__SetRemove *);
@@ -2479,7 +2479,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetRemove(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetRemoveResponse
-#define SOAP_TYPE_dss__SetRemoveResponse (64)
+#define SOAP_TYPE_dss__SetRemoveResponse (56)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetRemoveResponse(struct soap*, struct dss__SetRemoveResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetRemoveResponse(struct soap*, const struct dss__SetRemoveResponse *);
@@ -2493,7 +2493,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetRemoveResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetCombine
-#define SOAP_TYPE_dss__SetCombine (62)
+#define SOAP_TYPE_dss__SetCombine (54)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetCombine(struct soap*, struct dss__SetCombine *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetCombine(struct soap*, const struct dss__SetCombine *);
@@ -2507,7 +2507,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetCombine(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetCombineResponse
-#define SOAP_TYPE_dss__SetCombineResponse (61)
+#define SOAP_TYPE_dss__SetCombineResponse (53)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetCombineResponse(struct soap*, struct dss__SetCombineResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetCombineResponse(struct soap*, const struct dss__SetCombineResponse *);
@@ -2521,7 +2521,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetCombineResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetRemoveDevice
-#define SOAP_TYPE_dss__SetRemoveDevice (59)
+#define SOAP_TYPE_dss__SetRemoveDevice (51)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetRemoveDevice(struct soap*, struct dss__SetRemoveDevice *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetRemoveDevice(struct soap*, const struct dss__SetRemoveDevice *);
@@ -2535,7 +2535,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetRemoveDevice(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetRemoveDeviceResponse
-#define SOAP_TYPE_dss__SetRemoveDeviceResponse (58)
+#define SOAP_TYPE_dss__SetRemoveDeviceResponse (50)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetRemoveDeviceResponse(struct soap*, struct dss__SetRemoveDeviceResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetRemoveDeviceResponse(struct soap*, const struct dss__SetRemoveDeviceResponse *);
@@ -2549,7 +2549,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetRemoveDeviceResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetAddDeviceByID
-#define SOAP_TYPE_dss__SetAddDeviceByID (56)
+#define SOAP_TYPE_dss__SetAddDeviceByID (48)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetAddDeviceByID(struct soap*, struct dss__SetAddDeviceByID *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetAddDeviceByID(struct soap*, const struct dss__SetAddDeviceByID *);
@@ -2563,7 +2563,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetAddDeviceByID(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetAddDeviceByIDResponse
-#define SOAP_TYPE_dss__SetAddDeviceByIDResponse (55)
+#define SOAP_TYPE_dss__SetAddDeviceByIDResponse (47)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetAddDeviceByIDResponse(struct soap*, struct dss__SetAddDeviceByIDResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetAddDeviceByIDResponse(struct soap*, const struct dss__SetAddDeviceByIDResponse *);
@@ -2577,7 +2577,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetAddDeviceByIDResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetAddDeviceByName
-#define SOAP_TYPE_dss__SetAddDeviceByName (53)
+#define SOAP_TYPE_dss__SetAddDeviceByName (45)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetAddDeviceByName(struct soap*, struct dss__SetAddDeviceByName *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetAddDeviceByName(struct soap*, const struct dss__SetAddDeviceByName *);
@@ -2591,7 +2591,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetAddDeviceByName(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__SetAddDeviceByNameResponse
-#define SOAP_TYPE_dss__SetAddDeviceByNameResponse (52)
+#define SOAP_TYPE_dss__SetAddDeviceByNameResponse (44)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__SetAddDeviceByNameResponse(struct soap*, struct dss__SetAddDeviceByNameResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__SetAddDeviceByNameResponse(struct soap*, const struct dss__SetAddDeviceByNameResponse *);
@@ -2605,7 +2605,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__SetAddDeviceByNameResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentGetDeviceIDByName
-#define SOAP_TYPE_dss__ApartmentGetDeviceIDByName (50)
+#define SOAP_TYPE_dss__ApartmentGetDeviceIDByName (42)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentGetDeviceIDByName(struct soap*, struct dss__ApartmentGetDeviceIDByName *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentGetDeviceIDByName(struct soap*, const struct dss__ApartmentGetDeviceIDByName *);
@@ -2619,7 +2619,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentGetDeviceIDByName(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentGetDeviceIDByNameResponse
-#define SOAP_TYPE_dss__ApartmentGetDeviceIDByNameResponse (49)
+#define SOAP_TYPE_dss__ApartmentGetDeviceIDByNameResponse (41)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentGetDeviceIDByNameResponse(struct soap*, struct dss__ApartmentGetDeviceIDByNameResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentGetDeviceIDByNameResponse(struct soap*, const struct dss__ApartmentGetDeviceIDByNameResponse *);
@@ -2633,7 +2633,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentGetDeviceIDByNameResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentGetDevices
-#define SOAP_TYPE_dss__ApartmentGetDevices (46)
+#define SOAP_TYPE_dss__ApartmentGetDevices (39)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentGetDevices(struct soap*, struct dss__ApartmentGetDevices *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentGetDevices(struct soap*, const struct dss__ApartmentGetDevices *);
@@ -2647,7 +2647,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentGetDevices(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentGetDevicesResponse
-#define SOAP_TYPE_dss__ApartmentGetDevicesResponse (45)
+#define SOAP_TYPE_dss__ApartmentGetDevicesResponse (38)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentGetDevicesResponse(struct soap*, struct dss__ApartmentGetDevicesResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentGetDevicesResponse(struct soap*, const struct dss__ApartmentGetDevicesResponse *);
@@ -2660,36 +2660,8 @@
 SOAP_FMAC3 struct dss__ApartmentGetDevicesResponse * SOAP_FMAC4 soap_instantiate_dss__ApartmentGetDevicesResponse(struct soap*, int, const char*, const char*, size_t*);
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentGetDevicesResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
-#ifndef SOAP_TYPE_dss__ApartmentCreateEmptySet
-#define SOAP_TYPE_dss__ApartmentCreateEmptySet (43)
-#endif
-SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentCreateEmptySet(struct soap*, struct dss__ApartmentCreateEmptySet *);
-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentCreateEmptySet(struct soap*, const struct dss__ApartmentCreateEmptySet *);
-SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__ApartmentCreateEmptySet(struct soap*, const struct dss__ApartmentCreateEmptySet *, const char*, const char*);
-SOAP_FMAC3 int SOAP_FMAC4 soap_out_dss__ApartmentCreateEmptySet(struct soap*, const char*, int, const struct dss__ApartmentCreateEmptySet *, const char*);
-SOAP_FMAC3 struct dss__ApartmentCreateEmptySet * SOAP_FMAC4 soap_get_dss__ApartmentCreateEmptySet(struct soap*, struct dss__ApartmentCreateEmptySet *, const char*, const char*);
-SOAP_FMAC3 struct dss__ApartmentCreateEmptySet * SOAP_FMAC4 soap_in_dss__ApartmentCreateEmptySet(struct soap*, const char*, struct dss__ApartmentCreateEmptySet *, const char*);
-SOAP_FMAC5 struct dss__ApartmentCreateEmptySet * SOAP_FMAC6 soap_new_dss__ApartmentCreateEmptySet(struct soap*, int);
-SOAP_FMAC5 void SOAP_FMAC6 soap_delete_dss__ApartmentCreateEmptySet(struct soap*, struct dss__ApartmentCreateEmptySet*);
-SOAP_FMAC3 struct dss__ApartmentCreateEmptySet * SOAP_FMAC4 soap_instantiate_dss__ApartmentCreateEmptySet(struct soap*, int, const char*, const char*, size_t*);
-SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentCreateEmptySet(struct soap*, int, int, void*, size_t, const void*, size_t);
-
-#ifndef SOAP_TYPE_dss__ApartmentCreateEmptySetResponse
-#define SOAP_TYPE_dss__ApartmentCreateEmptySetResponse (42)
-#endif
-SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentCreateEmptySetResponse(struct soap*, struct dss__ApartmentCreateEmptySetResponse *);
-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentCreateEmptySetResponse(struct soap*, const struct dss__ApartmentCreateEmptySetResponse *);
-SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__ApartmentCreateEmptySetResponse(struct soap*, const struct dss__ApartmentCreateEmptySetResponse *, const char*, const char*);
-SOAP_FMAC3 int SOAP_FMAC4 soap_out_dss__ApartmentCreateEmptySetResponse(struct soap*, const char*, int, const struct dss__ApartmentCreateEmptySetResponse *, const char*);
-SOAP_FMAC3 struct dss__ApartmentCreateEmptySetResponse * SOAP_FMAC4 soap_get_dss__ApartmentCreateEmptySetResponse(struct soap*, struct dss__ApartmentCreateEmptySetResponse *, const char*, const char*);
-SOAP_FMAC3 struct dss__ApartmentCreateEmptySetResponse * SOAP_FMAC4 soap_in_dss__ApartmentCreateEmptySetResponse(struct soap*, const char*, struct dss__ApartmentCreateEmptySetResponse *, const char*);
-SOAP_FMAC5 struct dss__ApartmentCreateEmptySetResponse * SOAP_FMAC6 soap_new_dss__ApartmentCreateEmptySetResponse(struct soap*, int);
-SOAP_FMAC5 void SOAP_FMAC6 soap_delete_dss__ApartmentCreateEmptySetResponse(struct soap*, struct dss__ApartmentCreateEmptySetResponse*);
-SOAP_FMAC3 struct dss__ApartmentCreateEmptySetResponse * SOAP_FMAC4 soap_instantiate_dss__ApartmentCreateEmptySetResponse(struct soap*, int, const char*, const char*, size_t*);
-SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentCreateEmptySetResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
-
 #ifndef SOAP_TYPE_dss__ApartmentCreateSetFromDeviceNames
-#define SOAP_TYPE_dss__ApartmentCreateSetFromDeviceNames (40)
+#define SOAP_TYPE_dss__ApartmentCreateSetFromDeviceNames (36)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentCreateSetFromDeviceNames(struct soap*, struct dss__ApartmentCreateSetFromDeviceNames *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentCreateSetFromDeviceNames(struct soap*, const struct dss__ApartmentCreateSetFromDeviceNames *);
@@ -2703,7 +2675,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentCreateSetFromDeviceNames(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentCreateSetFromDeviceNamesResponse
-#define SOAP_TYPE_dss__ApartmentCreateSetFromDeviceNamesResponse (39)
+#define SOAP_TYPE_dss__ApartmentCreateSetFromDeviceNamesResponse (35)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentCreateSetFromDeviceNamesResponse(struct soap*, struct dss__ApartmentCreateSetFromDeviceNamesResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentCreateSetFromDeviceNamesResponse(struct soap*, const struct dss__ApartmentCreateSetFromDeviceNamesResponse *);
@@ -2717,7 +2689,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentCreateSetFromDeviceNamesResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentCreateSetFromDeviceIDs
-#define SOAP_TYPE_dss__ApartmentCreateSetFromDeviceIDs (37)
+#define SOAP_TYPE_dss__ApartmentCreateSetFromDeviceIDs (33)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentCreateSetFromDeviceIDs(struct soap*, struct dss__ApartmentCreateSetFromDeviceIDs *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentCreateSetFromDeviceIDs(struct soap*, const struct dss__ApartmentCreateSetFromDeviceIDs *);
@@ -2731,7 +2703,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentCreateSetFromDeviceIDs(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentCreateSetFromDeviceIDsResponse
-#define SOAP_TYPE_dss__ApartmentCreateSetFromDeviceIDsResponse (36)
+#define SOAP_TYPE_dss__ApartmentCreateSetFromDeviceIDsResponse (32)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentCreateSetFromDeviceIDsResponse(struct soap*, struct dss__ApartmentCreateSetFromDeviceIDsResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentCreateSetFromDeviceIDsResponse(struct soap*, const struct dss__ApartmentCreateSetFromDeviceIDsResponse *);
@@ -2745,7 +2717,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentCreateSetFromDeviceIDsResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentCreateSetFromGroup
-#define SOAP_TYPE_dss__ApartmentCreateSetFromGroup (32)
+#define SOAP_TYPE_dss__ApartmentCreateSetFromGroup (29)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentCreateSetFromGroup(struct soap*, struct dss__ApartmentCreateSetFromGroup *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentCreateSetFromGroup(struct soap*, const struct dss__ApartmentCreateSetFromGroup *);
@@ -2759,7 +2731,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentCreateSetFromGroup(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_dss__ApartmentCreateSetFromGroupResponse
-#define SOAP_TYPE_dss__ApartmentCreateSetFromGroupResponse (31)
+#define SOAP_TYPE_dss__ApartmentCreateSetFromGroupResponse (28)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__ApartmentCreateSetFromGroupResponse(struct soap*, struct dss__ApartmentCreateSetFromGroupResponse *);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__ApartmentCreateSetFromGroupResponse(struct soap*, const struct dss__ApartmentCreateSetFromGroupResponse *);
@@ -2772,34 +2744,6 @@
 SOAP_FMAC3 struct dss__ApartmentCreateSetFromGroupResponse * SOAP_FMAC4 soap_instantiate_dss__ApartmentCreateSetFromGroupResponse(struct soap*, int, const char*, const char*, size_t*);
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ApartmentCreateSetFromGroupResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
 
-#ifndef SOAP_TYPE_dss__FreeSet
-#define SOAP_TYPE_dss__FreeSet (29)
-#endif
-SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__FreeSet(struct soap*, struct dss__FreeSet *);
-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__FreeSet(struct soap*, const struct dss__FreeSet *);
-SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__FreeSet(struct soap*, const struct dss__FreeSet *, const char*, const char*);
-SOAP_FMAC3 int SOAP_FMAC4 soap_out_dss__FreeSet(struct soap*, const char*, int, const struct dss__FreeSet *, const char*);
-SOAP_FMAC3 struct dss__FreeSet * SOAP_FMAC4 soap_get_dss__FreeSet(struct soap*, struct dss__FreeSet *, const char*, const char*);
-SOAP_FMAC3 struct dss__FreeSet * SOAP_FMAC4 soap_in_dss__FreeSet(struct soap*, const char*, struct dss__FreeSet *, const char*);
-SOAP_FMAC5 struct dss__FreeSet * SOAP_FMAC6 soap_new_dss__FreeSet(struct soap*, int);
-SOAP_FMAC5 void SOAP_FMAC6 soap_delete_dss__FreeSet(struct soap*, struct dss__FreeSet*);
-SOAP_FMAC3 struct dss__FreeSet * SOAP_FMAC4 soap_instantiate_dss__FreeSet(struct soap*, int, const char*, const char*, size_t*);
-SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__FreeSet(struct soap*, int, int, void*, size_t, const void*, size_t);
-
-#ifndef SOAP_TYPE_dss__FreeSetResponse
-#define SOAP_TYPE_dss__FreeSetResponse (28)
-#endif
-SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__FreeSetResponse(struct soap*, struct dss__FreeSetResponse *);
-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__FreeSetResponse(struct soap*, const struct dss__FreeSetResponse *);
-SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__FreeSetResponse(struct soap*, const struct dss__FreeSetResponse *, const char*, const char*);
-SOAP_FMAC3 int SOAP_FMAC4 soap_out_dss__FreeSetResponse(struct soap*, const char*, int, const struct dss__FreeSetResponse *, const char*);
-SOAP_FMAC3 struct dss__FreeSetResponse * SOAP_FMAC4 soap_get_dss__FreeSetResponse(struct soap*, struct dss__FreeSetResponse *, const char*, const char*);
-SOAP_FMAC3 struct dss__FreeSetResponse * SOAP_FMAC4 soap_in_dss__FreeSetResponse(struct soap*, const char*, struct dss__FreeSetResponse *, const char*);
-SOAP_FMAC5 struct dss__FreeSetResponse * SOAP_FMAC6 soap_new_dss__FreeSetResponse(struct soap*, int);
-SOAP_FMAC5 void SOAP_FMAC6 soap_delete_dss__FreeSetResponse(struct soap*, struct dss__FreeSetResponse*);
-SOAP_FMAC3 struct dss__FreeSetResponse * SOAP_FMAC4 soap_instantiate_dss__FreeSetResponse(struct soap*, int, const char*, const char*, size_t*);
-SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__FreeSetResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
-
 #ifndef SOAP_TYPE_dss__SignOff
 #define SOAP_TYPE_dss__SignOff (24)
 #endif
@@ -2859,7 +2803,7 @@
 #ifndef WITH_NOGLOBAL
 
 #ifndef SOAP_TYPE_PointerToSOAP_ENV__Reason
-#define SOAP_TYPE_PointerToSOAP_ENV__Reason (322)
+#define SOAP_TYPE_PointerToSOAP_ENV__Reason (316)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Reason(struct soap*, struct SOAP_ENV__Reason *const*);
 SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToSOAP_ENV__Reason(struct soap*, struct SOAP_ENV__Reason *const*, const char*, const char*);
@@ -2872,7 +2816,7 @@
 #ifndef WITH_NOGLOBAL
 
 #ifndef SOAP_TYPE_PointerToSOAP_ENV__Detail
-#define SOAP_TYPE_PointerToSOAP_ENV__Detail (321)
+#define SOAP_TYPE_PointerToSOAP_ENV__Detail (315)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Detail(struct soap*, struct SOAP_ENV__Detail *const*);
 SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToSOAP_ENV__Detail(struct soap*, struct SOAP_ENV__Detail *const*, const char*, const char*);
@@ -2885,7 +2829,7 @@
 #ifndef WITH_NOGLOBAL
 
 #ifndef SOAP_TYPE_PointerToSOAP_ENV__Code
-#define SOAP_TYPE_PointerToSOAP_ENV__Code (315)
+#define SOAP_TYPE_PointerToSOAP_ENV__Code (309)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Code(struct soap*, struct SOAP_ENV__Code *const*);
 SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToSOAP_ENV__Code(struct soap*, struct SOAP_ENV__Code *const*, const char*, const char*);
@@ -2896,7 +2840,7 @@
 #endif
 
 #ifndef SOAP_TYPE_PointerTostring
-#define SOAP_TYPE_PointerTostring (227)
+#define SOAP_TYPE_PointerTostring (221)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTostring(struct soap*, char **const*);
 SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTostring(struct soap*, char **const*, const char*, const char*);
@@ -2925,7 +2869,7 @@
 SOAP_FMAC3 char * * SOAP_FMAC4 soap_in_string(struct soap*, const char*, char **, const char*);
 
 #ifndef SOAP_TYPE_std__vectorTemplateOfdss__Event
-#define SOAP_TYPE_std__vectorTemplateOfdss__Event (281)
+#define SOAP_TYPE_std__vectorTemplateOfdss__Event (275)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_std__vectorTemplateOfdss__Event(struct soap*, std::vector<dss__Event >*);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_std__vectorTemplateOfdss__Event(struct soap*, const std::vector<dss__Event >*);
@@ -2937,7 +2881,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_std__vectorTemplateOfdss__Event(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_std__vectorTemplateOfint
-#define SOAP_TYPE_std__vectorTemplateOfint (79)
+#define SOAP_TYPE_std__vectorTemplateOfint (71)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_std__vectorTemplateOfint(struct soap*, std::vector<int >*);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_std__vectorTemplateOfint(struct soap*, const std::vector<int >*);
@@ -2949,7 +2893,7 @@
 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_std__vectorTemplateOfint(struct soap*, int, int, void*, size_t, const void*, size_t);
 
 #ifndef SOAP_TYPE_std__vectorTemplateOfstd__string
-#define SOAP_TYPE_std__vectorTemplateOfstd__string (34)
+#define SOAP_TYPE_std__vectorTemplateOfstd__string (30)
 #endif
 SOAP_FMAC3 void SOAP_FMAC4 soap_default_std__vectorTemplateOfstd__string(struct soap*, std::vector<std::string >*);
 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_std__vectorTemplateOfstd__string(struct soap*, const std::vector<std::string >*);

Modified: dss/trunk/webservices/soapServer.cpp
===================================================================
--- dss/trunk/webservices/soapServer.cpp	2009-10-06 14:06:12 UTC (rev 8828)
+++ dss/trunk/webservices/soapServer.cpp	2009-10-06 15:35:18 UTC (rev 8829)
@@ -6,7 +6,7 @@
 */
 #include "soapH.h"
 
-SOAP_SOURCE_STAMP("@(#) soapServer.cpp ver 2.7.10 2009-10-05 14:18:40 GMT")
+SOAP_SOURCE_STAMP("@(#) soapServer.cpp ver 2.7.10 2009-10-06 15:04:05 GMT")
 
 
 SOAP_FMAC5 int SOAP_FMAC6 soap_serve(struct soap *soap)
@@ -77,16 +77,12 @@
 		return soap_serve_dss__Authenticate(soap);
 	if (!soap_match_tag(soap, soap->tag, "dss:SignOff"))
 		return soap_serve_dss__SignOff(soap);
-	if (!soap_match_tag(soap, soap->tag, "dss:FreeSet"))
-		return soap_serve_dss__FreeSet(soap);
 	if (!soap_match_tag(soap, soap->tag, "dss:ApartmentCreateSetFromGroup"))
 		return soap_serve_dss__ApartmentCreateSetFromGroup(soap);
 	if (!soap_match_tag(soap, soap->tag, "dss:ApartmentCreateSetFromDeviceIDs"))
 		return soap_serve_dss__ApartmentCreateSetFromDeviceIDs(soap);
 	if (!soap_match_tag(soap, soap->tag, "dss:ApartmentCreateSetFromDeviceNames"))
 		return soap_serve_dss__ApartmentCreateSetFromDeviceNames(soap);
-	if (!soap_match_tag(soap, soap->tag, "dss:ApartmentCreateEmptySet"))
-		return soap_serve_dss__ApartmentCreateEmptySet(soap);
 	if (!soap_match_tag(soap, soap->tag, "dss:ApartmentGetDevices"))
 		return soap_serve_dss__ApartmentGetDevices(soap);
 	if (!soap_match_tag(soap, soap->tag, "dss:ApartmentGetDeviceIDByName"))
@@ -345,47 +341,6 @@
 	return soap_closesock(soap);
 }
 
-SOAP_FMAC5 int SOAP_FMAC6 soap_serve_dss__FreeSet(struct soap *soap)
-{	struct dss__FreeSet soap_tmp_dss__FreeSet;
-	struct dss__FreeSetResponse soap_tmp_dss__FreeSetResponse;
-	soap_default_dss__FreeSetResponse(soap, &soap_tmp_dss__FreeSetResponse);
-	soap_default_dss__FreeSet(soap, &soap_tmp_dss__FreeSet);
-	soap->encodingStyle = NULL;
-	if (!soap_get_dss__FreeSet(soap, &soap_tmp_dss__FreeSet, "dss:FreeSet", NULL))
-		return soap->error;
-	if (soap_body_end_in(soap)
-	 || soap_envelope_end_in(soap)
-	 || soap_end_recv(soap))
-		return soap->error;
-	soap->error = dss__FreeSet(soap, soap_tmp_dss__FreeSet._token, soap_tmp_dss__FreeSet._setID, soap_tmp_dss__FreeSetResponse.result);
-	if (soap->error)
-		return soap->error;
-	soap_serializeheader(soap);
-	soap_serialize_dss__FreeSetResponse(soap, &soap_tmp_dss__FreeSetResponse);
-	if (soap_begin_count(soap))
-		return soap->error;
-	if (soap->mode & SOAP_IO_LENGTH)
-	{	if (soap_envelope_begin_out(soap)
-		 || soap_putheader(soap)
-		 || soap_body_begin_out(soap)
-		 || soap_put_dss__FreeSetResponse(soap, &soap_tmp_dss__FreeSetResponse, "dss:FreeSetResponse", "")
-		 || soap_body_end_out(soap)
-		 || soap_envelope_end_out(soap))
-			 return soap->error;
-	};
-	if (soap_end_count(soap)
-	 || soap_response(soap, SOAP_OK)
-	 || soap_envelope_begin_out(soap)
-	 || soap_putheader(soap)
-	 || soap_body_begin_out(soap)
-	 || soap_put_dss__FreeSetResponse(soap, &soap_tmp_dss__FreeSetResponse, "dss:FreeSetResponse", "")
-	 || soap_body_end_out(soap)
-	 || soap_envelope_end_out(soap)
-	 || soap_end_send(soap))
-		return soap->error;
-	return soap_closesock(soap);
-}
-
 SOAP_FMAC5 int SOAP_FMAC6 soap_serve_dss__ApartmentCreateSetFromGroup(struct soap *soap)
 {	struct dss__ApartmentCreateSetFromGroup soap_tmp_dss__ApartmentCreateSetFromGroup;
 	struct dss__ApartmentCreateSetFromGroupResponse soap_tmp_dss__ApartmentCreateSetFromGroupResponse;
@@ -398,7 +353,7 @@
 	 || soap_envelope_end_in(soap)
 	 || soap_end_recv(soap))
 		return soap->error;
-	soap->error = dss__ApartmentCreateSetFromGroup(soap, soap_tmp_dss__ApartmentCreateSetFromGroup._token, soap_tmp_dss__ApartmentCreateSetFromGroup._groupName, soap_tmp_dss__ApartmentCreateSetFromGroupResponse.setID);
+	soap->error = dss__ApartmentCreateSetFromGroup(soap, soap_tmp_dss__ApartmentCreateSetFromGroup._token, soap_tmp_dss__ApartmentCreateSetFromGroup._groupName, soap_tmp_dss__ApartmentCreateSetFromGroupResponse.result);
 	if (soap->error)
 		return soap->error;
 	soap_serializeheader(soap);
@@ -439,7 +394,7 @@
 	 || soap_envelope_end_in(soap)
 	 || soap_end_recv(soap))
 		return soap->error;
-	soap->error = dss__ApartmentCreateSetFromDeviceIDs(soap, soap_tmp_dss__ApartmentCreateSetFromDeviceIDs._token, soap_tmp_dss__ApartmentCreateSetFromDeviceIDs._ids, soap_tmp_dss__ApartmentCreateSetFromDeviceIDsResponse.setID);
+	soap->error = dss__ApartmentCreateSetFromDeviceIDs(soap, soap_tmp_dss__ApartmentCreateSetFromDeviceIDs._token, soap_tmp_dss__ApartmentCreateSetFromDeviceIDs._ids, soap_tmp_dss__ApartmentCreateSetFromDeviceIDsResponse.result);
 	if (soap->error)
 		return soap->error;
 	soap_serializeheader(soap);
@@ -480,7 +435,7 @@
 	 || soap_envelope_end_in(soap)
 	 || soap_end_recv(soap))
 		return soap->error;
-	soap->error = dss__ApartmentCreateSetFromDeviceNames(soap, soap_tmp_dss__ApartmentCreateSetFromDeviceNames._token, soap_tmp_dss__ApartmentCreateSetFromDeviceNames._names, soap_tmp_dss__ApartmentCreateSetFromDeviceNamesResponse.setID);
+	soap->error = dss__ApartmentCreateSetFromDeviceNames(soap, soap_tmp_dss__ApartmentCreateSetFromDeviceNames._token, soap_tmp_dss__ApartmentCreateSetFromDeviceNames._names, soap_tmp_dss__ApartmentCreateSetFromDeviceNamesResponse.result);
 	if (soap->error)
 		return soap->error;
 	soap_serializeheader(soap);
@@ -509,47 +464,6 @@
 	return soap_closesock(soap);
 }
 
-SOAP_FMAC5 int SOAP_FMAC6 soap_serve_dss__ApartmentCreateEmptySet(struct soap *soap)
-{	struct dss__ApartmentCreateEmptySet soap_tmp_dss__ApartmentCreateEmptySet;
-	struct dss__ApartmentCreateEmptySetResponse soap_tmp_dss__ApartmentCreateEmptySetResponse;
-	soap_default_dss__ApartmentCreateEmptySetResponse(soap, &soap_tmp_dss__ApartmentCreateEmptySetResponse);
-	soap_default_dss__ApartmentCreateEmptySet(soap, &soap_tmp_dss__ApartmentCreateEmptySet);
-	soap->encodingStyle = NULL;
-	if (!soap_get_dss__ApartmentCreateEmptySet(soap, &soap_tmp_dss__ApartmentCreateEmptySet, "dss:ApartmentCreateEmptySet", NULL))
-		return soap->error;
-	if (soap_body_end_in(soap)
-	 || soap_envelope_end_in(soap)
-	 || soap_end_recv(soap))
-		return soap->error;
-	soap->error = dss__ApartmentCreateEmptySet(soap, soap_tmp_dss__ApartmentCreateEmptySet._token, soap_tmp_dss__ApartmentCreateEmptySetResponse.setID);
-	if (soap->error)
-		return soap->error;
-	soap_serializeheader(soap);
-	soap_serialize_dss__ApartmentCreateEmptySetResponse(soap, &soap_tmp_dss__ApartmentCreateEmptySetResponse);
-	if (soap_begin_count(soap))
-		return soap->error;
-	if (soap->mode & SOAP_IO_LENGTH)
-	{	if (soap_envelope_begin_out(soap)
-		 || soap_putheader(soap)
-		 || soap_body_begin_out(soap)
-		 || soap_put_dss__ApartmentCreateEmptySetResponse(soap, &soap_tmp_dss__ApartmentCreateEmptySetResponse, "dss:ApartmentCreateEmptySetResponse", "")
-		 || soap_body_end_out(soap)
-		 || soap_envelope_end_out(soap))
-			 return soap->error;
-	};
-	if (soap_end_count(soap)
-	 || soap_response(soap, SOAP_OK)
-	 || soap_envelope_begin_out(soap)
-	 || soap_putheader(soap)
-	 || soap_body_begin_out(soap)
-	 || soap_put_dss__ApartmentCreateEmptySetResponse(soap, &soap_tmp_dss__ApartmentCreateEmptySetResponse, "dss:ApartmentCreateEmptySetResponse", "")
-	 || soap_body_end_out(soap)
-	 || soap_envelope_end_out(soap)
-	 || soap_end_send(soap))
-		return soap->error;
-	return soap_closesock(soap);
-}
-
 SOAP_FMAC5 int SOAP_FMAC6 soap_serve_dss__ApartmentGetDevices(struct soap *soap)
 {	struct dss__ApartmentGetDevices soap_tmp_dss__ApartmentGetDevices;
 	struct dss__ApartmentGetDevicesResponse soap_tmp_dss__ApartmentGetDevicesResponse;
@@ -562,7 +476,7 @@
 	 || soap_envelope_end_in(soap)
 	 || soap_end_recv(soap))
 		return soap->error;
-	soap->error = dss__ApartmentGetDevices(soap, soap_tmp_dss__ApartmentGetDevices._token, soap_tmp_dss__ApartmentGetDevicesResponse.setID);
+	soap->error = dss__ApartmentGetDevices(soap, soap_tmp_dss__ApartmentGetDevices._token, soap_tmp_dss__ApartmentGetDevicesResponse.result);
 	if (soap->error)
 		return soap->error;
 	soap_serializeheader(soap);
@@ -644,7 +558,7 @@
 	 || soap_envelope_end_in(soap)
 	 || soap_end_recv(soap))
 		return soap->error;
-	soap->error = dss__SetAddDeviceByName(soap, soap_tmp_dss__SetAddDeviceByName._token, soap_tmp_dss__SetAddDeviceByName._setID, soap_tmp_dss__SetAddDeviceByName._name, soap_tmp_dss__SetAddDeviceByNameResponse.result);
+	soap->error = dss__SetAddDeviceByName(soap, soap_tmp_dss__SetAddDeviceByName._token, soap_tmp_dss__SetAddDeviceByName._setSpec, soap_tmp_dss__SetAddDeviceByName._name, soap_tmp_dss__SetAddDeviceByNameResponse.result);
 	if (soap->error)
 		return soap->error;
 	soap_serializeheader(soap);
@@ -685,7 +599,7 @@
 	 || soap_envelope_end_in(soap)
 	 || soap_end_recv(soap))
 		return soap->error;
-	soap->error = dss__SetAddDeviceByID(soap, soap_tmp_dss__SetAddDeviceByID._token, soap_tmp_dss__SetAddDeviceByID._setID, soap_tmp_dss__SetAddDeviceByID._deviceID, soap_tmp_dss__SetAddDeviceByIDResponse.result);
+	soap->error = dss__SetAddDeviceByID(soap, soap_tmp_dss__SetAddDeviceByID._token, soap_tmp_dss__SetAddDeviceByID._setSpec, soap_tmp_dss__SetAddDeviceByID._deviceID, soap_tmp_dss__SetAddDeviceByIDResponse.result);
 	if (soap->error)
 		return soap->error;
 	soap_serializeheader(soap);
@@ -726,7 +640,7 @@
 	 || soap_envelope_end_in(soap)
 	 || soap_end_recv(soap))
 		return soap->error;
-	soap->error = dss__SetRemoveDevice(soap, soap_tmp_dss__SetRemoveDevice._token, soap_tmp_dss__SetRemoveDevice._setID, soap_tmp_dss__SetRemoveDevice._deviceID, soap_tmp_dss__SetRemoveDeviceResponse.result);
+	soap->error = dss__SetRemoveDevice(soap, soap_tmp_dss__SetRemoveDevice._token, soap_tmp_dss__SetRemoveDevice._setSpec, soap_tmp_dss__SetRemoveDevice._deviceID, soap_tmp_dss__SetRemoveDeviceResponse.result);
 	if (soap->error)
 		return soap->error;
 	soap_serializeheader(soap);
@@ -767,7 +681,7 @@
 	 || soap_envelope_end_in(soap)
 	 || soap_end_recv(soap))
 		return soap->error;
-	soap->error = dss__SetCombine(soap, soap_tmp_dss__SetCombine._token, soap_tmp_dss__SetCombine._setID1, soap_tmp_dss__SetCombine._setID2, soap_tmp_dss__SetCombineResponse.setID);
+	soap->error = dss__SetCombine(soap, soap_tmp_dss__SetCombine._token, soap_tmp_dss__SetCombine._setSpec1, soap_tmp_dss__SetCombine._setSpec2, soap_tmp_dss__SetCombineResponse.result);
 	if (soap->error)
 		return soap->error;
 	soap_serializeheader(soap);
@@ -808,7 +722,7 @@
 	 || soap_envelope_end_in(soap)
 	 || soap_end_recv(soap))
 		return soap->error;
-	soap->error = dss__SetRemove(soap, soap_tmp_dss__SetRemove._token, soap_tmp_dss__SetRemove._setID, soap_tmp_dss__SetRemove._setIDToRemove, soap_tmp_dss__SetRemoveResponse.setID);
+	soap->error = dss__SetRemove(soap, soap_tmp_dss__SetRemove._token, soap_tmp_dss__SetRemove._setSpec, soap_tmp_dss__SetRemove._setSpecToRemove, soap_tmp_dss__SetRemoveResponse.result);
 	if (soap->error)
 		return soap->error;
 	soap_serializeheader(soap);
@@ -849,7 +763,7 @@
 	 || soap_envelope_end_in(soap)
 	 || soap_end_recv(soap))
 		return soap->error;
-	soap->error = dss__SetByGroup(soap, soap_tmp_dss__SetByGroup._token, soap_tmp_dss__SetByGroup._setID, soap_tmp_dss__SetByGroup._groupID, soap_tmp_dss__SetByGroupResponse.setID);
+	soap->error = dss__SetByGroup(soap, soap_tmp_dss__SetByGroup._token, soap_tmp_dss__SetByGroup._setSpec, soap_tmp_dss__SetByGroup._groupID, soap_tmp_dss__SetByGroupResponse.result);
 	if (soap->error)
 		return soap->error;
 	soap_serializeheader(soap);
@@ -890,7 +804,7 @@
 	 || soap_envelope_end_in(soap)
 	 || soap_end_recv(soap))
 		return soap->error;
-	soap->error = dss__SetGetContainedDevices(soap, soap_tmp_dss__SetGetContainedDevices._token, soap_tmp_dss__SetGetContainedDevices._setID, soap_tmp_dss__SetGetContainedDevicesResponse.deviceIDs);
+	soap->error = dss__SetGetContainedDevices(soap, soap_tmp_dss__SetGetContainedDevices._token, soap_tmp_dss__SetGetContainedDevices._setSpec, soap_tmp_dss__SetGetContainedDevicesResponse.deviceIDs);
 	if (soap->error)
 		return soap->error;
 	soap_serializeheader(soap);
@@ -1054,7 +968,7 @@
 	 || soap_envelope_end_in(soap)
 	 || soap_end_recv(soap))
 		return soap->error;
-	soap->error = dss__SetTurnOn(soap, soap_tmp_dss__SetTurnOn._token, soap_tmp_dss__SetTurnOn._setID, soap_tmp_dss__SetTurnOnResponse.result);
+	soap->error = dss__SetTurnOn(soap, soap_tmp_dss__SetTurnOn._token, soap_tmp_dss__SetTurnOn._setSpec, soap_tmp_dss__SetTurnOnResponse.result);
 	if (soap->error)
 		return soap->error;
 	soap_serializeheader(soap);
@@ -1095,7 +1009,7 @@
 	 || soap_envelope_end_in(soap)
 	 || soap_end_recv(soap))
 		return soap->error;
-	soap->error = dss__SetTurnOff(soap, soap_tmp_dss__SetTurnOff._token, soap_tmp_dss__SetTurnOff._setID, soap_tmp_dss__SetTurnOffResponse.result);
+	soap->error = dss__SetTurnOff(soap, soap_tmp_dss__SetTurnOff._token, soap_tmp_dss__SetTurnOff._setSpec, soap_tmp_dss__SetTurnOffResponse.result);
 	if (soap->error)
 		return soap->error;
 	soap_serializeheader(soap);
@@ -1136,7 +1050,7 @@
 	 || soap_envelope_end_in(soap)
 	 || soap_end_recv(soap))
 		return soap->error;
-	soap->error = dss__SetIncreaseValue(soap, soap_tmp_dss__SetIncreaseValue._token, soap_tmp_dss__SetIncreaseValue._setID, soap_tmp_dss__SetIncreaseValue._paramID, soap_tmp_dss__SetIncreaseValueResponse.result);
+	soap->error = dss__SetIncreaseValue(soap, soap_tmp_dss__SetIncreaseValue._token, soap_tmp_dss__SetIncreaseValue._setSpec, soap_tmp_dss__SetIncreaseValue._paramID, soap_tmp_dss__SetIncreaseValueResponse.result);
 	if (soap->error)
 		return soap->error;
 	soap_serializeheader(soap);
@@ -1177,7 +1091,7 @@
 	 || soap_envelope_end_in(soap)
 	 || soap_end_recv(soap))
 		return soap->error;
-	soap->error = dss__SetDecreaseValue(soap, soap_tmp_dss__SetDecreaseValue._token, soap_tmp_dss__SetDecreaseValue._setID, soap_tmp_dss__SetDecreaseValue._paramID, soap_tmp_dss__SetDecreaseValueResponse.result);
+	soap->error = dss__SetDecreaseValue(soap, soap_tmp_dss__SetDecreaseValue._token, soap_tmp_dss__SetDecreaseValue._setSpec, soap_tmp_dss__SetDecreaseValue._paramID, soap_tmp_dss__SetDecreaseValueResponse.result);
 	if (soap->error)
 		return soap->error;
 	soap_serializeheader(soap);
@@ -1218,7 +1132,7 @@
 	 || soap_envelope_end_in(soap)
 	 || soap_end_recv(soap))
 		return soap->error;
-	soap->error = dss__SetEnable(soap, soap_tmp_dss__SetEnable._token, soap_tmp_dss__SetEnable._setID, soap_tmp_dss__SetEnableResponse.result);
+	soap->error = dss__SetEnable(soap, soap_tmp_dss__SetEnable._token, soap_tmp_dss__SetEnable._setSpec, soap_tmp_dss__SetEnableResponse.result);
 	if (soap->error)
 		return soap->error;
 	soap_serializeheader(soap);
@@ -1259,7 +1173,7 @@
 	 || soap_envelope_end_in(soap)
 	 || soap_end_recv(soap))
 		return soap->error;
-	soap->error = dss__SetDisable(soap, soap_tmp_dss__SetDisable._token, soap_tmp_dss__SetDisable._setID, soap_tmp_dss__SetDisableResponse.result);
+	soap->error = dss__SetDisable(soap, soap_tmp_dss__SetDisable._token, soap_tmp_dss__SetDisable._setSpec, soap_tmp_dss__SetDisableResponse.result);
 	if (soap->error)
 		return soap->error;
 	soap_serializeheader(soap);
@@ -1300,7 +1214,7 @@
 	 || soap_envelope_end_in(soap)
 	 || soap_end_recv(soap))
 		return soap->error;
-	soap->error = dss__SetStartDim(soap, soap_tmp_dss__SetStartDim._token, soap_tmp_dss__SetStartDim._setID, soap_tmp_dss__SetStartDim._directionUp, soap_tmp_dss__SetStartDim._paramID, soap_tmp_dss__SetStartDimResponse.result);
+	soap->error = dss__SetStartDim(soap, soap_tmp_dss__SetStartDim._token, soap_tmp_dss__SetStartDim._setSpec, soap_tmp_dss__SetStartDim._directionUp, soap_tmp_dss__SetStartDim._paramID, soap_tmp_dss__SetStartDimResponse.result);
 	if (soap->error)
 		return soap->error;
 	soap_serializeheader(soap);
@@ -1341,7 +1255,7 @@
 	 || soap_envelope_end_in(soap)
 	 || soap_end_recv(soap))
 		return soap->error;
-	soap->error = dss__SetEndDim(soap, soap_tmp_dss__SetEndDim._token, soap_tmp_dss__SetEndDim._setID, soap_tmp_dss__SetEndDim._paramID, soap_tmp_dss__SetEndDimResponse.result);
+	soap->error = dss__SetEndDim(soap, soap_tmp_dss__SetEndDim._token, soap_tmp_dss__SetEndDim._setSpec, soap_tmp_dss__SetEndDim._paramID, soap_tmp_dss__SetEndDimResponse.result);
 	if (soap->error)
 		return soap->error;
 	soap_serializeheader(soap);
@@ -1382,7 +1296,7 @@
 	 || soap_envelope_end_in(soap)
 	 || soap_end_recv(soap))
 		return soap->error;
-	soap->error = dss__SetSetValue(soap, soap_tmp_dss__SetSetValue._token, soap_tmp_dss__SetSetValue._setID, soap_tmp_dss__SetSetValue._value, soap_tmp_dss__SetSetValue._paramID, soap_tmp_dss__SetSetValueResponse.result);
+	soap->error = dss__SetSetValue(soap, soap_tmp_dss__SetSetValue._token, soap_tmp_dss__SetSetValue._setSpec, soap_tmp_dss__SetSetValue._value, soap_tmp_dss__SetSetValue._paramID, soap_tmp_dss__SetSetValueResponse.result);
 	if (soap->error)
 		return soap->error;
 	soap_serializeheader(soap);
@@ -1423,7 +1337,7 @@
 	 || soap_envelope_end_in(soap)
 	 || soap_end_recv(soap))
 		return soap->error;
-	soap->error = dss__SetCallScene(soap, soap_tmp_dss__SetCallScene._token, soap_tmp_dss__SetCallScene._setID, soap_tmp_dss__SetCallScene._sceneNr, soap_tmp_dss__SetCallSceneResponse.result);
+	soap->error = dss__SetCallScene(soap, soap_tmp_dss__SetCallScene._token, soap_tmp_dss__SetCallScene._setSpec, soap_tmp_dss__SetCallScene._sceneNr, soap_tmp_dss__SetCallSceneResponse.result);
 	if (soap->error)
 		return soap->error;
 	soap_serializeheader(soap);
@@ -1464,7 +1378,7 @@
 	 || soap_envelope_end_in(soap)
 	 || soap_end_recv(soap))
 		return soap->error;
-	soap->error = dss__SetSaveScene(soap, soap_tmp_dss__SetSaveScene._token, soap_tmp_dss__SetSaveScene._setID, soap_tmp_dss__SetSaveScene._sceneNr, soap_tmp_dss__SetSaveSceneResponse.result);
+	soap->error = dss__SetSaveScene(soap, soap_tmp_dss__SetSaveScene._token, soap_tmp_dss__SetSaveScene._setSpec, soap_tmp_dss__SetSaveScene._sceneNr, soap_tmp_dss__SetSaveSceneResponse.result);
 	if (soap->error)
 		return soap->error;
 	soap_serializeheader(soap);

Modified: dss/trunk/webservices/soapStub.h
===================================================================
--- dss/trunk/webservices/soapStub.h	2009-10-06 14:06:12 UTC (rev 8828)
+++ dss/trunk/webservices/soapStub.h	2009-10-06 15:35:18 UTC (rev 8829)
@@ -72,39 +72,22 @@
 };
 #endif
 
-#ifndef SOAP_TYPE_dss__FreeSetResponse
-#define SOAP_TYPE_dss__FreeSetResponse (28)
-/* dss:FreeSetResponse */
-struct dss__FreeSetResponse
-{
-public:
-	bool result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* required element of type xsd:boolean */
-};
-#endif
+#if 0 /* volatile type: do not redeclare here */
 
-#ifndef SOAP_TYPE_dss__FreeSet
-#define SOAP_TYPE_dss__FreeSet (29)
-/* dss:FreeSet */
-struct dss__FreeSet
-{
-public:
-	int _token;	/* required element of type xsd:int */
-	int _setID;	/* required element of type xsd:int */
-};
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentCreateSetFromGroupResponse
-#define SOAP_TYPE_dss__ApartmentCreateSetFromGroupResponse (31)
+#define SOAP_TYPE_dss__ApartmentCreateSetFromGroupResponse (28)
 /* dss:ApartmentCreateSetFromGroupResponse */
 struct dss__ApartmentCreateSetFromGroupResponse
 {
 public:
-	int setID;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* required element of type xsd:int */
+	std::string result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* required element of type xsd:string */
 };
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentCreateSetFromGroup
-#define SOAP_TYPE_dss__ApartmentCreateSetFromGroup (32)
+#define SOAP_TYPE_dss__ApartmentCreateSetFromGroup (29)
 /* dss:ApartmentCreateSetFromGroup */
 struct dss__ApartmentCreateSetFromGroup
 {
@@ -114,22 +97,18 @@
 };
 #endif
 
-#if 0 /* volatile type: do not redeclare here */
-
-#endif
-
 #ifndef SOAP_TYPE_dss__ApartmentCreateSetFromDeviceIDsResponse
-#define SOAP_TYPE_dss__ApartmentCreateSetFromDeviceIDsResponse (36)
+#define SOAP_TYPE_dss__ApartmentCreateSetFromDeviceIDsResponse (32)
 /* dss:ApartmentCreateSetFromDeviceIDsResponse */
 struct dss__ApartmentCreateSetFromDeviceIDsResponse
 {
 public:
-	int setID;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* required element of type xsd:int */
+	std::string result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* required element of type xsd:string */
 };
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentCreateSetFromDeviceIDs
-#define SOAP_TYPE_dss__ApartmentCreateSetFromDeviceIDs (37)
+#define SOAP_TYPE_dss__ApartmentCreateSetFromDeviceIDs (33)
 /* dss:ApartmentCreateSetFromDeviceIDs */
 struct dss__ApartmentCreateSetFromDeviceIDs
 {
@@ -140,17 +119,17 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentCreateSetFromDeviceNamesResponse
-#define SOAP_TYPE_dss__ApartmentCreateSetFromDeviceNamesResponse (39)
+#define SOAP_TYPE_dss__ApartmentCreateSetFromDeviceNamesResponse (35)
 /* dss:ApartmentCreateSetFromDeviceNamesResponse */
 struct dss__ApartmentCreateSetFromDeviceNamesResponse
 {
 public:
-	int setID;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* required element of type xsd:int */
+	std::string result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* required element of type xsd:string */
 };
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentCreateSetFromDeviceNames
-#define SOAP_TYPE_dss__ApartmentCreateSetFromDeviceNames (40)
+#define SOAP_TYPE_dss__ApartmentCreateSetFromDeviceNames (36)
 /* dss:ApartmentCreateSetFromDeviceNames */
 struct dss__ApartmentCreateSetFromDeviceNames
 {
@@ -160,38 +139,18 @@
 };
 #endif
 
-#ifndef SOAP_TYPE_dss__ApartmentCreateEmptySetResponse
-#define SOAP_TYPE_dss__ApartmentCreateEmptySetResponse (42)
-/* dss:ApartmentCreateEmptySetResponse */
-struct dss__ApartmentCreateEmptySetResponse
-{
-public:
-	int setID;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* required element of type xsd:int */
-};
-#endif
-
-#ifndef SOAP_TYPE_dss__ApartmentCreateEmptySet
-#define SOAP_TYPE_dss__ApartmentCreateEmptySet (43)
-/* dss:ApartmentCreateEmptySet */
-struct dss__ApartmentCreateEmptySet
-{
-public:
-	int _token;	/* required element of type xsd:int */
-};
-#endif
-
 #ifndef SOAP_TYPE_dss__ApartmentGetDevicesResponse
-#define SOAP_TYPE_dss__ApartmentGetDevicesResponse (45)
+#define SOAP_TYPE_dss__ApartmentGetDevicesResponse (38)
 /* dss:ApartmentGetDevicesResponse */
 struct dss__ApartmentGetDevicesResponse
 {
 public:
-	int setID;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* required element of type xsd:int */
+	std::string result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* required element of type xsd:string */
 };
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentGetDevices
-#define SOAP_TYPE_dss__ApartmentGetDevices (46)
+#define SOAP_TYPE_dss__ApartmentGetDevices (39)
 /* dss:ApartmentGetDevices */
 struct dss__ApartmentGetDevices
 {
@@ -201,7 +160,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentGetDeviceIDByNameResponse
-#define SOAP_TYPE_dss__ApartmentGetDeviceIDByNameResponse (49)
+#define SOAP_TYPE_dss__ApartmentGetDeviceIDByNameResponse (41)
 /* dss:ApartmentGetDeviceIDByNameResponse */
 struct dss__ApartmentGetDeviceIDByNameResponse
 {
@@ -211,7 +170,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentGetDeviceIDByName
-#define SOAP_TYPE_dss__ApartmentGetDeviceIDByName (50)
+#define SOAP_TYPE_dss__ApartmentGetDeviceIDByName (42)
 /* dss:ApartmentGetDeviceIDByName */
 struct dss__ApartmentGetDeviceIDByName
 {
@@ -222,139 +181,139 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__SetAddDeviceByNameResponse
-#define SOAP_TYPE_dss__SetAddDeviceByNameResponse (52)
+#define SOAP_TYPE_dss__SetAddDeviceByNameResponse (44)
 /* dss:SetAddDeviceByNameResponse */
 struct dss__SetAddDeviceByNameResponse
 {
 public:
-	bool result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* required element of type xsd:boolean */
+	std::string result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* required element of type xsd:string */
 };
 #endif
 
 #ifndef SOAP_TYPE_dss__SetAddDeviceByName
-#define SOAP_TYPE_dss__SetAddDeviceByName (53)
+#define SOAP_TYPE_dss__SetAddDeviceByName (45)
 /* dss:SetAddDeviceByName */
 struct dss__SetAddDeviceByName
 {
 public:
 	int _token;	/* required element of type xsd:int */
-	int _setID;	/* required element of type xsd:int */
+	char *_setSpec;	/* optional element of type xsd:string */
 	char *_name;	/* optional element of type xsd:string */
 };
 #endif
 
 #ifndef SOAP_TYPE_dss__SetAddDeviceByIDResponse
-#define SOAP_TYPE_dss__SetAddDeviceByIDResponse (55)
+#define SOAP_TYPE_dss__SetAddDeviceByIDResponse (47)
 /* dss:SetAddDeviceByIDResponse */
 struct dss__SetAddDeviceByIDResponse
 {
 public:
-	bool result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* required element of type xsd:boolean */
+	std::string result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* required element of type xsd:string */
 };
 #endif
 
 #ifndef SOAP_TYPE_dss__SetAddDeviceByID
-#define SOAP_TYPE_dss__SetAddDeviceByID (56)
+#define SOAP_TYPE_dss__SetAddDeviceByID (48)
 /* dss:SetAddDeviceByID */
 struct dss__SetAddDeviceByID
 {
 public:
 	int _token;	/* required element of type xsd:int */
-	int _setID;	/* required element of type xsd:int */
+	char *_setSpec;	/* optional element of type xsd:string */
 	char *_deviceID;	/* optional element of type xsd:string */
 };
 #endif
 
 #ifndef SOAP_TYPE_dss__SetRemoveDeviceResponse
-#define SOAP_TYPE_dss__SetRemoveDeviceResponse (58)
+#define SOAP_TYPE_dss__SetRemoveDeviceResponse (50)
 /* dss:SetRemoveDeviceResponse */
 struct dss__SetRemoveDeviceResponse
 {
 public:
-	bool result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* required element of type xsd:boolean */
+	std::string result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* required element of type xsd:string */
 };
 #endif
 
 #ifndef SOAP_TYPE_dss__SetRemoveDevice
-#define SOAP_TYPE_dss__SetRemoveDevice (59)
+#define SOAP_TYPE_dss__SetRemoveDevice (51)
 /* dss:SetRemoveDevice */
 struct dss__SetRemoveDevice
 {
 public:
 	int _token;	/* required element of type xsd:int */
-	int _setID;	/* required element of type xsd:int */
+	char *_setSpec;	/* optional element of type xsd:string */
 	char *_deviceID;	/* optional element of type xsd:string */
 };
 #endif
 
 #ifndef SOAP_TYPE_dss__SetCombineResponse
-#define SOAP_TYPE_dss__SetCombineResponse (61)
+#define SOAP_TYPE_dss__SetCombineResponse (53)
 /* dss:SetCombineResponse */
 struct dss__SetCombineResponse
 {
 public:
-	int setID;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* required element of type xsd:int */
+	std::string result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* required element of type xsd:string */
 };
 #endif
 
 #ifndef SOAP_TYPE_dss__SetCombine
-#define SOAP_TYPE_dss__SetCombine (62)
+#define SOAP_TYPE_dss__SetCombine (54)
 /* dss:SetCombine */
 struct dss__SetCombine
 {
 public:
 	int _token;	/* required element of type xsd:int */
-	int _setID1;	/* required element of type xsd:int */
-	int _setID2;	/* required element of type xsd:int */
+	char *_setSpec1;	/* optional element of type xsd:string */
+	char *_setSpec2;	/* optional element of type xsd:string */
 };
 #endif
 
 #ifndef SOAP_TYPE_dss__SetRemoveResponse
-#define SOAP_TYPE_dss__SetRemoveResponse (64)
+#define SOAP_TYPE_dss__SetRemoveResponse (56)
 /* dss:SetRemoveResponse */
 struct dss__SetRemoveResponse
 {
 public:
-	int setID;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* required element of type xsd:int */
+	std::string result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* required element of type xsd:string */
 };
 #endif
 
 #ifndef SOAP_TYPE_dss__SetRemove
-#define SOAP_TYPE_dss__SetRemove (65)
+#define SOAP_TYPE_dss__SetRemove (57)
 /* dss:SetRemove */
 struct dss__SetRemove
 {
 public:
 	int _token;	/* required element of type xsd:int */
-	int _setID;	/* required element of type xsd:int */
-	int _setIDToRemove;	/* required element of type xsd:int */
+	char *_setSpec;	/* optional element of type xsd:string */
+	char *_setSpecToRemove;	/* optional element of type xsd:string */
 };
 #endif
 
 #ifndef SOAP_TYPE_dss__SetByGroupResponse
-#define SOAP_TYPE_dss__SetByGroupResponse (67)
+#define SOAP_TYPE_dss__SetByGroupResponse (59)
 /* dss:SetByGroupResponse */
 struct dss__SetByGroupResponse
 {
 public:
-	int setID;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* required element of type xsd:int */
+	std::string result;	/* SOAP 1.2 RPC return element (when namespace qualified) */	/* required element of type xsd:string */
 };
 #endif
 
 #ifndef SOAP_TYPE_dss__SetByGroup
-#define SOAP_TYPE_dss__SetByGroup (68)
+#define SOAP_TYPE_dss__SetByGroup (60)
 /* dss:SetByGroup */
 struct dss__SetByGroup
 {
 public:
 	int _token;	/* required element of type xsd:int */
-	int _setID;	/* required element of type xsd:int */
+	char *_setSpec;	/* optional element of type xsd:string */
 	int _groupID;	/* required element of type xsd:int */
 };
 #endif
 
 #ifndef SOAP_TYPE_dss__SetGetContainedDevicesResponse
-#define SOAP_TYPE_dss__SetGetContainedDevicesResponse (71)
+#define SOAP_TYPE_dss__SetGetContainedDevicesResponse (63)
 /* dss:SetGetContainedDevicesResponse */
 struct dss__SetGetContainedDevicesResponse
 {
@@ -364,18 +323,18 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__SetGetContainedDevices
-#define SOAP_TYPE_dss__SetGetContainedDevices (72)
+#define SOAP_TYPE_dss__SetGetContainedDevices (64)
 /* dss:SetGetContainedDevices */
 struct dss__SetGetContainedDevices
 {
 public:
 	int _token;	/* required element of type xsd:int */
-	int _setID;	/* required element of type xsd:int */
+	char *_setSpec;	/* optional element of type xsd:string */
 };
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentGetGroupByNameResponse
-#define SOAP_TYPE_dss__ApartmentGetGroupByNameResponse (74)
+#define SOAP_TYPE_dss__ApartmentGetGroupByNameResponse (66)
 /* dss:ApartmentGetGroupByNameResponse */
 struct dss__ApartmentGetGroupByNameResponse
 {
@@ -385,7 +344,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentGetGroupByName
-#define SOAP_TYPE_dss__ApartmentGetGroupByName (75)
+#define SOAP_TYPE_dss__ApartmentGetGroupByName (67)
 /* dss:ApartmentGetGroupByName */
 struct dss__ApartmentGetGroupByName
 {
@@ -396,7 +355,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentGetZoneByNameResponse
-#define SOAP_TYPE_dss__ApartmentGetZoneByNameResponse (77)
+#define SOAP_TYPE_dss__ApartmentGetZoneByNameResponse (69)
 /* dss:ApartmentGetZoneByNameResponse */
 struct dss__ApartmentGetZoneByNameResponse
 {
@@ -406,7 +365,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentGetZoneByName
-#define SOAP_TYPE_dss__ApartmentGetZoneByName (78)
+#define SOAP_TYPE_dss__ApartmentGetZoneByName (70)
 /* dss:ApartmentGetZoneByName */
 struct dss__ApartmentGetZoneByName
 {
@@ -417,7 +376,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentGetZoneIDsResponse
-#define SOAP_TYPE_dss__ApartmentGetZoneIDsResponse (82)
+#define SOAP_TYPE_dss__ApartmentGetZoneIDsResponse (74)
 /* dss:ApartmentGetZoneIDsResponse */
 struct dss__ApartmentGetZoneIDsResponse
 {
@@ -427,7 +386,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentGetZoneIDs
-#define SOAP_TYPE_dss__ApartmentGetZoneIDs (83)
+#define SOAP_TYPE_dss__ApartmentGetZoneIDs (75)
 /* dss:ApartmentGetZoneIDs */
 struct dss__ApartmentGetZoneIDs
 {
@@ -437,7 +396,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__SetTurnOnResponse
-#define SOAP_TYPE_dss__SetTurnOnResponse (85)
+#define SOAP_TYPE_dss__SetTurnOnResponse (79)
 /* dss:SetTurnOnResponse */
 struct dss__SetTurnOnResponse
 {
@@ -447,18 +406,18 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__SetTurnOn
-#define SOAP_TYPE_dss__SetTurnOn (86)
+#define SOAP_TYPE_dss__SetTurnOn (80)
 /* dss:SetTurnOn */
 struct dss__SetTurnOn
 {
 public:
 	int _token;	/* required element of type xsd:int */
-	int _setID;	/* required element of type xsd:int */
+	char *_setSpec;	/* optional element of type xsd:string */
 };
 #endif
 
 #ifndef SOAP_TYPE_dss__SetTurnOffResponse
-#define SOAP_TYPE_dss__SetTurnOffResponse (88)
+#define SOAP_TYPE_dss__SetTurnOffResponse (82)
 /* dss:SetTurnOffResponse */
 struct dss__SetTurnOffResponse
 {
@@ -468,18 +427,18 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__SetTurnOff
-#define SOAP_TYPE_dss__SetTurnOff (89)
+#define SOAP_TYPE_dss__SetTurnOff (83)
 /* dss:SetTurnOff */
 struct dss__SetTurnOff
 {
 public:
 	int _token;	/* required element of type xsd:int */
-	int _setID;	/* required element of type xsd:int */
+	char *_setSpec;	/* optional element of type xsd:string */
 };
 #endif
 
 #ifndef SOAP_TYPE_dss__SetIncreaseValueResponse
-#define SOAP_TYPE_dss__SetIncreaseValueResponse (91)
+#define SOAP_TYPE_dss__SetIncreaseValueResponse (85)
 /* dss:SetIncreaseValueResponse */
 struct dss__SetIncreaseValueResponse
 {
@@ -489,19 +448,19 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__SetIncreaseValue
-#define SOAP_TYPE_dss__SetIncreaseValue (92)
+#define SOAP_TYPE_dss__SetIncreaseValue (86)
 /* dss:SetIncreaseValue */
 struct dss__SetIncreaseValue
 {
 public:
 	int _token;	/* required element of type xsd:int */
-	int _setID;	/* required element of type xsd:int */
+	char *_setSpec;	/* optional element of type xsd:string */
 	int _paramID;	/* required element of type xsd:int */
 };
 #endif
 
 #ifndef SOAP_TYPE_dss__SetDecreaseValueResponse
-#define SOAP_TYPE_dss__SetDecreaseValueResponse (94)
+#define SOAP_TYPE_dss__SetDecreaseValueResponse (88)
 /* dss:SetDecreaseValueResponse */
 struct dss__SetDecreaseValueResponse
 {
@@ -511,19 +470,19 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__SetDecreaseValue
-#define SOAP_TYPE_dss__SetDecreaseValue (95)
+#define SOAP_TYPE_dss__SetDecreaseValue (89)
 /* dss:SetDecreaseValue */
 struct dss__SetDecreaseValue
 {
 public:
 	int _token;	/* required element of type xsd:int */
-	int _setID;	/* required element of type xsd:int */
+	char *_setSpec;	/* optional element of type xsd:string */
 	int _paramID;	/* required element of type xsd:int */
 };
 #endif
 
 #ifndef SOAP_TYPE_dss__SetEnableResponse
-#define SOAP_TYPE_dss__SetEnableResponse (97)
+#define SOAP_TYPE_dss__SetEnableResponse (91)
 /* dss:SetEnableResponse */
 struct dss__SetEnableResponse
 {
@@ -533,18 +492,18 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__SetEnable
-#define SOAP_TYPE_dss__SetEnable (98)
+#define SOAP_TYPE_dss__SetEnable (92)
 /* dss:SetEnable */
 struct dss__SetEnable
 {
 public:
 	int _token;	/* required element of type xsd:int */
-	int _setID;	/* required element of type xsd:int */
+	char *_setSpec;	/* optional element of type xsd:string */
 };
 #endif
 
 #ifndef SOAP_TYPE_dss__SetDisableResponse
-#define SOAP_TYPE_dss__SetDisableResponse (100)
+#define SOAP_TYPE_dss__SetDisableResponse (94)
 /* dss:SetDisableResponse */
 struct dss__SetDisableResponse
 {
@@ -554,18 +513,18 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__SetDisable
-#define SOAP_TYPE_dss__SetDisable (101)
+#define SOAP_TYPE_dss__SetDisable (95)
 /* dss:SetDisable */
 struct dss__SetDisable
 {
 public:
 	int _token;	/* required element of type xsd:int */
-	int _setID;	/* required element of type xsd:int */
+	char *_setSpec;	/* optional element of type xsd:string */
 };
 #endif
 
 #ifndef SOAP_TYPE_dss__SetStartDimResponse
-#define SOAP_TYPE_dss__SetStartDimResponse (103)
+#define SOAP_TYPE_dss__SetStartDimResponse (97)
 /* dss:SetStartDimResponse */
 struct dss__SetStartDimResponse
 {
@@ -575,20 +534,20 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__SetStartDim
-#define SOAP_TYPE_dss__SetStartDim (104)
+#define SOAP_TYPE_dss__SetStartDim (98)
 /* dss:SetStartDim */
 struct dss__SetStartDim
 {
 public:
 	int _token;	/* required element of type xsd:int */
-	int _setID;	/* required element of type xsd:int */
+	char *_setSpec;	/* optional element of type xsd:string */
 	bool _directionUp;	/* required element of type xsd:boolean */
 	int _paramID;	/* required element of type xsd:int */
 };
 #endif
 
 #ifndef SOAP_TYPE_dss__SetEndDimResponse
-#define SOAP_TYPE_dss__SetEndDimResponse (106)
+#define SOAP_TYPE_dss__SetEndDimResponse (100)
 /* dss:SetEndDimResponse */
 struct dss__SetEndDimResponse
 {
@@ -598,19 +557,19 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__SetEndDim
-#define SOAP_TYPE_dss__SetEndDim (107)
+#define SOAP_TYPE_dss__SetEndDim (101)
 /* dss:SetEndDim */
 struct dss__SetEndDim
 {
 public:
 	int _token;	/* required element of type xsd:int */
-	int _setID;	/* required element of type xsd:int */
+	char *_setSpec;	/* optional element of type xsd:string */
 	int _paramID;	/* required element of type xsd:int */
 };
 #endif
 
 #ifndef SOAP_TYPE_dss__SetSetValueResponse
-#define SOAP_TYPE_dss__SetSetValueResponse (110)
+#define SOAP_TYPE_dss__SetSetValueResponse (104)
 /* dss:SetSetValueResponse */
 struct dss__SetSetValueResponse
 {
@@ -620,20 +579,20 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__SetSetValue
-#define SOAP_TYPE_dss__SetSetValue (111)
+#define SOAP_TYPE_dss__SetSetValue (105)
 /* dss:SetSetValue */
 struct dss__SetSetValue
 {
 public:
 	int _token;	/* required element of type xsd:int */
-	int _setID;	/* required element of type xsd:int */
+	char *_setSpec;	/* optional element of type xsd:string */
 	double _value;	/* required element of type xsd:double */
 	int _paramID;	/* required element of type xsd:int */
 };
 #endif
 
 #ifndef SOAP_TYPE_dss__SetCallSceneResponse
-#define SOAP_TYPE_dss__SetCallSceneResponse (113)
+#define SOAP_TYPE_dss__SetCallSceneResponse (107)
 /* dss:SetCallSceneResponse */
 struct dss__SetCallSceneResponse
 {
@@ -643,19 +602,19 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__SetCallScene
-#define SOAP_TYPE_dss__SetCallScene (114)
+#define SOAP_TYPE_dss__SetCallScene (108)
 /* dss:SetCallScene */
 struct dss__SetCallScene
 {
 public:
 	int _token;	/* required element of type xsd:int */
-	int _setID;	/* required element of type xsd:int */
+	char *_setSpec;	/* optional element of type xsd:string */
 	int _sceneNr;	/* required element of type xsd:int */
 };
 #endif
 
 #ifndef SOAP_TYPE_dss__SetSaveSceneResponse
-#define SOAP_TYPE_dss__SetSaveSceneResponse (116)
+#define SOAP_TYPE_dss__SetSaveSceneResponse (110)
 /* dss:SetSaveSceneResponse */
 struct dss__SetSaveSceneResponse
 {
@@ -665,19 +624,19 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__SetSaveScene
-#define SOAP_TYPE_dss__SetSaveScene (117)
+#define SOAP_TYPE_dss__SetSaveScene (111)
 /* dss:SetSaveScene */
 struct dss__SetSaveScene
 {
 public:
 	int _token;	/* required element of type xsd:int */
-	int _setID;	/* required element of type xsd:int */
+	char *_setSpec;	/* optional element of type xsd:string */
 	int _sceneNr;	/* required element of type xsd:int */
 };
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentTurnOnResponse
-#define SOAP_TYPE_dss__ApartmentTurnOnResponse (119)
+#define SOAP_TYPE_dss__ApartmentTurnOnResponse (113)
 /* dss:ApartmentTurnOnResponse */
 struct dss__ApartmentTurnOnResponse
 {
@@ -687,7 +646,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentTurnOn
-#define SOAP_TYPE_dss__ApartmentTurnOn (120)
+#define SOAP_TYPE_dss__ApartmentTurnOn (114)
 /* dss:ApartmentTurnOn */
 struct dss__ApartmentTurnOn
 {
@@ -698,7 +657,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentTurnOffResponse
-#define SOAP_TYPE_dss__ApartmentTurnOffResponse (122)
+#define SOAP_TYPE_dss__ApartmentTurnOffResponse (116)
 /* dss:ApartmentTurnOffResponse */
 struct dss__ApartmentTurnOffResponse
 {
@@ -708,7 +667,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentTurnOff
-#define SOAP_TYPE_dss__ApartmentTurnOff (123)
+#define SOAP_TYPE_dss__ApartmentTurnOff (117)
 /* dss:ApartmentTurnOff */
 struct dss__ApartmentTurnOff
 {
@@ -719,7 +678,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentIncreaseValueResponse
-#define SOAP_TYPE_dss__ApartmentIncreaseValueResponse (125)
+#define SOAP_TYPE_dss__ApartmentIncreaseValueResponse (119)
 /* dss:ApartmentIncreaseValueResponse */
 struct dss__ApartmentIncreaseValueResponse
 {
@@ -729,7 +688,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentIncreaseValue
-#define SOAP_TYPE_dss__ApartmentIncreaseValue (126)
+#define SOAP_TYPE_dss__ApartmentIncreaseValue (120)
 /* dss:ApartmentIncreaseValue */
 struct dss__ApartmentIncreaseValue
 {
@@ -741,7 +700,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentDecreaseValueResponse
-#define SOAP_TYPE_dss__ApartmentDecreaseValueResponse (128)
+#define SOAP_TYPE_dss__ApartmentDecreaseValueResponse (122)
 /* dss:ApartmentDecreaseValueResponse */
 struct dss__ApartmentDecreaseValueResponse
 {
@@ -751,7 +710,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentDecreaseValue
-#define SOAP_TYPE_dss__ApartmentDecreaseValue (129)
+#define SOAP_TYPE_dss__ApartmentDecreaseValue (123)
 /* dss:ApartmentDecreaseValue */
 struct dss__ApartmentDecreaseValue
 {
@@ -763,7 +722,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentEnableResponse
-#define SOAP_TYPE_dss__ApartmentEnableResponse (131)
+#define SOAP_TYPE_dss__ApartmentEnableResponse (125)
 /* dss:ApartmentEnableResponse */
 struct dss__ApartmentEnableResponse
 {
@@ -773,7 +732,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentEnable
-#define SOAP_TYPE_dss__ApartmentEnable (132)
+#define SOAP_TYPE_dss__ApartmentEnable (126)
 /* dss:ApartmentEnable */
 struct dss__ApartmentEnable
 {
@@ -784,7 +743,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentDisableResponse
-#define SOAP_TYPE_dss__ApartmentDisableResponse (134)
+#define SOAP_TYPE_dss__ApartmentDisableResponse (128)
 /* dss:ApartmentDisableResponse */
 struct dss__ApartmentDisableResponse
 {
@@ -794,7 +753,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentDisable
-#define SOAP_TYPE_dss__ApartmentDisable (135)
+#define SOAP_TYPE_dss__ApartmentDisable (129)
 /* dss:ApartmentDisable */
 struct dss__ApartmentDisable
 {
@@ -805,7 +764,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentStartDimResponse
-#define SOAP_TYPE_dss__ApartmentStartDimResponse (137)
+#define SOAP_TYPE_dss__ApartmentStartDimResponse (131)
 /* dss:ApartmentStartDimResponse */
 struct dss__ApartmentStartDimResponse
 {
@@ -815,7 +774,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentStartDim
-#define SOAP_TYPE_dss__ApartmentStartDim (138)
+#define SOAP_TYPE_dss__ApartmentStartDim (132)
 /* dss:ApartmentStartDim */
 struct dss__ApartmentStartDim
 {
@@ -828,7 +787,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentEndDimResponse
-#define SOAP_TYPE_dss__ApartmentEndDimResponse (140)
+#define SOAP_TYPE_dss__ApartmentEndDimResponse (134)
 /* dss:ApartmentEndDimResponse */
 struct dss__ApartmentEndDimResponse
 {
@@ -838,7 +797,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentEndDim
-#define SOAP_TYPE_dss__ApartmentEndDim (141)
+#define SOAP_TYPE_dss__ApartmentEndDim (135)
 /* dss:ApartmentEndDim */
 struct dss__ApartmentEndDim
 {
@@ -850,7 +809,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentSetValueResponse
-#define SOAP_TYPE_dss__ApartmentSetValueResponse (143)
+#define SOAP_TYPE_dss__ApartmentSetValueResponse (137)
 /* dss:ApartmentSetValueResponse */
 struct dss__ApartmentSetValueResponse
 {
@@ -860,7 +819,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentSetValue
-#define SOAP_TYPE_dss__ApartmentSetValue (144)
+#define SOAP_TYPE_dss__ApartmentSetValue (138)
 /* dss:ApartmentSetValue */
 struct dss__ApartmentSetValue
 {
@@ -873,7 +832,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentCallSceneResponse
-#define SOAP_TYPE_dss__ApartmentCallSceneResponse (146)
+#define SOAP_TYPE_dss__ApartmentCallSceneResponse (140)
 /* dss:ApartmentCallSceneResponse */
 struct dss__ApartmentCallSceneResponse
 {
@@ -883,7 +842,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentCallScene
-#define SOAP_TYPE_dss__ApartmentCallScene (147)
+#define SOAP_TYPE_dss__ApartmentCallScene (141)
 /* dss:ApartmentCallScene */
 struct dss__ApartmentCallScene
 {
@@ -895,7 +854,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentSaveSceneResponse
-#define SOAP_TYPE_dss__ApartmentSaveSceneResponse (149)
+#define SOAP_TYPE_dss__ApartmentSaveSceneResponse (143)
 /* dss:ApartmentSaveSceneResponse */
 struct dss__ApartmentSaveSceneResponse
 {
@@ -905,7 +864,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentSaveScene
-#define SOAP_TYPE_dss__ApartmentSaveScene (150)
+#define SOAP_TYPE_dss__ApartmentSaveScene (144)
 /* dss:ApartmentSaveScene */
 struct dss__ApartmentSaveScene
 {
@@ -917,7 +876,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentRescanResponse
-#define SOAP_TYPE_dss__ApartmentRescanResponse (152)
+#define SOAP_TYPE_dss__ApartmentRescanResponse (146)
 /* dss:ApartmentRescanResponse */
 struct dss__ApartmentRescanResponse
 {
@@ -927,7 +886,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentRescan
-#define SOAP_TYPE_dss__ApartmentRescan (153)
+#define SOAP_TYPE_dss__ApartmentRescan (147)
 /* dss:ApartmentRescan */
 struct dss__ApartmentRescan
 {
@@ -937,7 +896,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__CircuitRescanResponse
-#define SOAP_TYPE_dss__CircuitRescanResponse (155)
+#define SOAP_TYPE_dss__CircuitRescanResponse (149)
 /* dss:CircuitRescanResponse */
 struct dss__CircuitRescanResponse
 {
@@ -947,7 +906,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__CircuitRescan
-#define SOAP_TYPE_dss__CircuitRescan (156)
+#define SOAP_TYPE_dss__CircuitRescan (150)
 /* dss:CircuitRescan */
 struct dss__CircuitRescan
 {
@@ -958,7 +917,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ZoneTurnOnResponse
-#define SOAP_TYPE_dss__ZoneTurnOnResponse (158)
+#define SOAP_TYPE_dss__ZoneTurnOnResponse (152)
 /* dss:ZoneTurnOnResponse */
 struct dss__ZoneTurnOnResponse
 {
@@ -968,7 +927,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ZoneTurnOn
-#define SOAP_TYPE_dss__ZoneTurnOn (159)
+#define SOAP_TYPE_dss__ZoneTurnOn (153)
 /* dss:ZoneTurnOn */
 struct dss__ZoneTurnOn
 {
@@ -980,7 +939,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ZoneTurnOffResponse
-#define SOAP_TYPE_dss__ZoneTurnOffResponse (161)
+#define SOAP_TYPE_dss__ZoneTurnOffResponse (155)
 /* dss:ZoneTurnOffResponse */
 struct dss__ZoneTurnOffResponse
 {
@@ -990,7 +949,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ZoneTurnOff
-#define SOAP_TYPE_dss__ZoneTurnOff (162)
+#define SOAP_TYPE_dss__ZoneTurnOff (156)
 /* dss:ZoneTurnOff */
 struct dss__ZoneTurnOff
 {
@@ -1002,7 +961,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ZoneIncreaseValueResponse
-#define SOAP_TYPE_dss__ZoneIncreaseValueResponse (164)
+#define SOAP_TYPE_dss__ZoneIncreaseValueResponse (158)
 /* dss:ZoneIncreaseValueResponse */
 struct dss__ZoneIncreaseValueResponse
 {
@@ -1012,7 +971,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ZoneIncreaseValue
-#define SOAP_TYPE_dss__ZoneIncreaseValue (165)
+#define SOAP_TYPE_dss__ZoneIncreaseValue (159)
 /* dss:ZoneIncreaseValue */
 struct dss__ZoneIncreaseValue
 {
@@ -1025,7 +984,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ZoneDecreaseValueResponse
-#define SOAP_TYPE_dss__ZoneDecreaseValueResponse (167)
+#define SOAP_TYPE_dss__ZoneDecreaseValueResponse (161)
 /* dss:ZoneDecreaseValueResponse */
 struct dss__ZoneDecreaseValueResponse
 {
@@ -1035,7 +994,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ZoneDecreaseValue
-#define SOAP_TYPE_dss__ZoneDecreaseValue (168)
+#define SOAP_TYPE_dss__ZoneDecreaseValue (162)
 /* dss:ZoneDecreaseValue */
 struct dss__ZoneDecreaseValue
 {
@@ -1048,7 +1007,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ZoneEnableResponse
-#define SOAP_TYPE_dss__ZoneEnableResponse (170)
+#define SOAP_TYPE_dss__ZoneEnableResponse (164)
 /* dss:ZoneEnableResponse */
 struct dss__ZoneEnableResponse
 {
@@ -1058,7 +1017,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ZoneEnable
-#define SOAP_TYPE_dss__ZoneEnable (171)
+#define SOAP_TYPE_dss__ZoneEnable (165)
 /* dss:ZoneEnable */
 struct dss__ZoneEnable
 {
@@ -1070,7 +1029,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ZoneDisableResponse
-#define SOAP_TYPE_dss__ZoneDisableResponse (173)
+#define SOAP_TYPE_dss__ZoneDisableResponse (167)
 /* dss:ZoneDisableResponse */
 struct dss__ZoneDisableResponse
 {
@@ -1080,7 +1039,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ZoneDisable
-#define SOAP_TYPE_dss__ZoneDisable (174)
+#define SOAP_TYPE_dss__ZoneDisable (168)
 /* dss:ZoneDisable */
 struct dss__ZoneDisable
 {
@@ -1092,7 +1051,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ZoneStartDimResponse
-#define SOAP_TYPE_dss__ZoneStartDimResponse (176)
+#define SOAP_TYPE_dss__ZoneStartDimResponse (170)
 /* dss:ZoneStartDimResponse */
 struct dss__ZoneStartDimResponse
 {
@@ -1102,7 +1061,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ZoneStartDim
-#define SOAP_TYPE_dss__ZoneStartDim (177)
+#define SOAP_TYPE_dss__ZoneStartDim (171)
 /* dss:ZoneStartDim */
 struct dss__ZoneStartDim
 {
@@ -1116,7 +1075,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ZoneEndDimResponse
-#define SOAP_TYPE_dss__ZoneEndDimResponse (179)
+#define SOAP_TYPE_dss__ZoneEndDimResponse (173)
 /* dss:ZoneEndDimResponse */
 struct dss__ZoneEndDimResponse
 {
@@ -1126,7 +1085,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ZoneEndDim
-#define SOAP_TYPE_dss__ZoneEndDim (180)
+#define SOAP_TYPE_dss__ZoneEndDim (174)
 /* dss:ZoneEndDim */
 struct dss__ZoneEndDim
 {
@@ -1139,7 +1098,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ZoneSetValueResponse
-#define SOAP_TYPE_dss__ZoneSetValueResponse (182)
+#define SOAP_TYPE_dss__ZoneSetValueResponse (176)
 /* dss:ZoneSetValueResponse */
 struct dss__ZoneSetValueResponse
 {
@@ -1149,7 +1108,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ZoneSetValue
-#define SOAP_TYPE_dss__ZoneSetValue (183)
+#define SOAP_TYPE_dss__ZoneSetValue (177)
 /* dss:ZoneSetValue */
 struct dss__ZoneSetValue
 {
@@ -1163,7 +1122,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ZoneCallSceneResponse
-#define SOAP_TYPE_dss__ZoneCallSceneResponse (185)
+#define SOAP_TYPE_dss__ZoneCallSceneResponse (179)
 /* dss:ZoneCallSceneResponse */
 struct dss__ZoneCallSceneResponse
 {
@@ -1173,7 +1132,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ZoneCallScene
-#define SOAP_TYPE_dss__ZoneCallScene (186)
+#define SOAP_TYPE_dss__ZoneCallScene (180)
 /* dss:ZoneCallScene */
 struct dss__ZoneCallScene
 {
@@ -1186,7 +1145,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ZoneSaveSceneResponse
-#define SOAP_TYPE_dss__ZoneSaveSceneResponse (188)
+#define SOAP_TYPE_dss__ZoneSaveSceneResponse (182)
 /* dss:ZoneSaveSceneResponse */
 struct dss__ZoneSaveSceneResponse
 {
@@ -1196,7 +1155,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ZoneSaveScene
-#define SOAP_TYPE_dss__ZoneSaveScene (189)
+#define SOAP_TYPE_dss__ZoneSaveScene (183)
 /* dss:ZoneSaveScene */
 struct dss__ZoneSaveScene
 {
@@ -1209,7 +1168,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__DeviceTurnOnResponse
-#define SOAP_TYPE_dss__DeviceTurnOnResponse (191)
+#define SOAP_TYPE_dss__DeviceTurnOnResponse (185)
 /* dss:DeviceTurnOnResponse */
 struct dss__DeviceTurnOnResponse
 {
@@ -1219,7 +1178,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__DeviceTurnOn
-#define SOAP_TYPE_dss__DeviceTurnOn (192)
+#define SOAP_TYPE_dss__DeviceTurnOn (186)
 /* dss:DeviceTurnOn */
 struct dss__DeviceTurnOn
 {
@@ -1230,7 +1189,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__DeviceTurnOffResponse
-#define SOAP_TYPE_dss__DeviceTurnOffResponse (194)
+#define SOAP_TYPE_dss__DeviceTurnOffResponse (188)
 /* dss:DeviceTurnOffResponse */
 struct dss__DeviceTurnOffResponse
 {
@@ -1240,7 +1199,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__DeviceTurnOff
-#define SOAP_TYPE_dss__DeviceTurnOff (195)
+#define SOAP_TYPE_dss__DeviceTurnOff (189)
 /* dss:DeviceTurnOff */
 struct dss__DeviceTurnOff
 {
@@ -1251,7 +1210,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__DeviceIncreaseValueResponse
-#define SOAP_TYPE_dss__DeviceIncreaseValueResponse (197)
+#define SOAP_TYPE_dss__DeviceIncreaseValueResponse (191)
 /* dss:DeviceIncreaseValueResponse */
 struct dss__DeviceIncreaseValueResponse
 {
@@ -1261,7 +1220,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__DeviceIncreaseValue
-#define SOAP_TYPE_dss__DeviceIncreaseValue (198)
+#define SOAP_TYPE_dss__DeviceIncreaseValue (192)
 /* dss:DeviceIncreaseValue */
 struct dss__DeviceIncreaseValue
 {
@@ -1273,7 +1232,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__DeviceDecreaseValueResponse
-#define SOAP_TYPE_dss__DeviceDecreaseValueResponse (200)
+#define SOAP_TYPE_dss__DeviceDecreaseValueResponse (194)
 /* dss:DeviceDecreaseValueResponse */
 struct dss__DeviceDecreaseValueResponse
 {
@@ -1283,7 +1242,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__DeviceDecreaseValue
-#define SOAP_TYPE_dss__DeviceDecreaseValue (201)
+#define SOAP_TYPE_dss__DeviceDecreaseValue (195)
 /* dss:DeviceDecreaseValue */
 struct dss__DeviceDecreaseValue
 {
@@ -1295,7 +1254,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__DeviceEnableResponse
-#define SOAP_TYPE_dss__DeviceEnableResponse (203)
+#define SOAP_TYPE_dss__DeviceEnableResponse (197)
 /* dss:DeviceEnableResponse */
 struct dss__DeviceEnableResponse
 {
@@ -1305,7 +1264,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__DeviceEnable
-#define SOAP_TYPE_dss__DeviceEnable (204)
+#define SOAP_TYPE_dss__DeviceEnable (198)
 /* dss:DeviceEnable */
 struct dss__DeviceEnable
 {
@@ -1316,7 +1275,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__DeviceDisableResponse
-#define SOAP_TYPE_dss__DeviceDisableResponse (206)
+#define SOAP_TYPE_dss__DeviceDisableResponse (200)
 /* dss:DeviceDisableResponse */
 struct dss__DeviceDisableResponse
 {
@@ -1326,7 +1285,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__DeviceDisable
-#define SOAP_TYPE_dss__DeviceDisable (207)
+#define SOAP_TYPE_dss__DeviceDisable (201)
 /* dss:DeviceDisable */
 struct dss__DeviceDisable
 {
@@ -1337,7 +1296,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__DeviceStartDimResponse
-#define SOAP_TYPE_dss__DeviceStartDimResponse (209)
+#define SOAP_TYPE_dss__DeviceStartDimResponse (203)
 /* dss:DeviceStartDimResponse */
 struct dss__DeviceStartDimResponse
 {
@@ -1347,7 +1306,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__DeviceStartDim
-#define SOAP_TYPE_dss__DeviceStartDim (210)
+#define SOAP_TYPE_dss__DeviceStartDim (204)
 /* dss:DeviceStartDim */
 struct dss__DeviceStartDim
 {
@@ -1360,7 +1319,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__DeviceEndDimResponse
-#define SOAP_TYPE_dss__DeviceEndDimResponse (212)
+#define SOAP_TYPE_dss__DeviceEndDimResponse (206)
 /* dss:DeviceEndDimResponse */
 struct dss__DeviceEndDimResponse
 {
@@ -1370,7 +1329,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__DeviceEndDim
-#define SOAP_TYPE_dss__DeviceEndDim (213)
+#define SOAP_TYPE_dss__DeviceEndDim (207)
 /* dss:DeviceEndDim */
 struct dss__DeviceEndDim
 {
@@ -1382,7 +1341,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__DeviceSetValueResponse
-#define SOAP_TYPE_dss__DeviceSetValueResponse (215)
+#define SOAP_TYPE_dss__DeviceSetValueResponse (209)
 /* dss:DeviceSetValueResponse */
 struct dss__DeviceSetValueResponse
 {
@@ -1392,7 +1351,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__DeviceSetValue
-#define SOAP_TYPE_dss__DeviceSetValue (216)
+#define SOAP_TYPE_dss__DeviceSetValue (210)
 /* dss:DeviceSetValue */
 struct dss__DeviceSetValue
 {
@@ -1405,7 +1364,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__DeviceGetValueResponse
-#define SOAP_TYPE_dss__DeviceGetValueResponse (219)
+#define SOAP_TYPE_dss__DeviceGetValueResponse (213)
 /* dss:DeviceGetValueResponse */
 struct dss__DeviceGetValueResponse
 {
@@ -1415,7 +1374,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__DeviceGetValue
-#define SOAP_TYPE_dss__DeviceGetValue (220)
+#define SOAP_TYPE_dss__DeviceGetValue (214)
 /* dss:DeviceGetValue */
 struct dss__DeviceGetValue
 {
@@ -1427,7 +1386,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__DeviceCallSceneResponse
-#define SOAP_TYPE_dss__DeviceCallSceneResponse (222)
+#define SOAP_TYPE_dss__DeviceCallSceneResponse (216)
 /* dss:DeviceCallSceneResponse */
 struct dss__DeviceCallSceneResponse
 {
@@ -1437,7 +1396,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__DeviceCallScene
-#define SOAP_TYPE_dss__DeviceCallScene (223)
+#define SOAP_TYPE_dss__DeviceCallScene (217)
 /* dss:DeviceCallScene */
 struct dss__DeviceCallScene
 {
@@ -1449,7 +1408,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__DeviceSaveSceneResponse
-#define SOAP_TYPE_dss__DeviceSaveSceneResponse (225)
+#define SOAP_TYPE_dss__DeviceSaveSceneResponse (219)
 /* dss:DeviceSaveSceneResponse */
 struct dss__DeviceSaveSceneResponse
 {
@@ -1459,7 +1418,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__DeviceSaveScene
-#define SOAP_TYPE_dss__DeviceSaveScene (226)
+#define SOAP_TYPE_dss__DeviceSaveScene (220)
 /* dss:DeviceSaveScene */
 struct dss__DeviceSaveScene
 {
@@ -1471,7 +1430,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__DeviceGetNameResponse
-#define SOAP_TYPE_dss__DeviceGetNameResponse (229)
+#define SOAP_TYPE_dss__DeviceGetNameResponse (223)
 /* dss:DeviceGetNameResponse */
 struct dss__DeviceGetNameResponse
 {
@@ -1481,7 +1440,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__DeviceGetName
-#define SOAP_TYPE_dss__DeviceGetName (230)
+#define SOAP_TYPE_dss__DeviceGetName (224)
 /* dss:DeviceGetName */
 struct dss__DeviceGetName
 {
@@ -1492,7 +1451,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__DeviceGetZoneIDResponse
-#define SOAP_TYPE_dss__DeviceGetZoneIDResponse (232)
+#define SOAP_TYPE_dss__DeviceGetZoneIDResponse (226)
 /* dss:DeviceGetZoneIDResponse */
 struct dss__DeviceGetZoneIDResponse
 {
@@ -1502,7 +1461,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__DeviceGetZoneID
-#define SOAP_TYPE_dss__DeviceGetZoneID (233)
+#define SOAP_TYPE_dss__DeviceGetZoneID (227)
 /* dss:DeviceGetZoneID */
 struct dss__DeviceGetZoneID
 {
@@ -1513,7 +1472,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ModulatorGetPowerConsumptionResponse
-#define SOAP_TYPE_dss__ModulatorGetPowerConsumptionResponse (236)
+#define SOAP_TYPE_dss__ModulatorGetPowerConsumptionResponse (230)
 /* dss:ModulatorGetPowerConsumptionResponse */
 struct dss__ModulatorGetPowerConsumptionResponse
 {
@@ -1523,7 +1482,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ModulatorGetPowerConsumption
-#define SOAP_TYPE_dss__ModulatorGetPowerConsumption (237)
+#define SOAP_TYPE_dss__ModulatorGetPowerConsumption (231)
 /* dss:ModulatorGetPowerConsumption */
 struct dss__ModulatorGetPowerConsumption
 {
@@ -1534,7 +1493,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentGetModulatorIDsResponse
-#define SOAP_TYPE_dss__ApartmentGetModulatorIDsResponse (239)
+#define SOAP_TYPE_dss__ApartmentGetModulatorIDsResponse (233)
 /* dss:ApartmentGetModulatorIDsResponse */
 struct dss__ApartmentGetModulatorIDsResponse
 {
@@ -1544,7 +1503,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentGetModulatorIDs
-#define SOAP_TYPE_dss__ApartmentGetModulatorIDs (240)
+#define SOAP_TYPE_dss__ApartmentGetModulatorIDs (234)
 /* dss:ApartmentGetModulatorIDs */
 struct dss__ApartmentGetModulatorIDs
 {
@@ -1554,7 +1513,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ModulatorGetNameResponse
-#define SOAP_TYPE_dss__ModulatorGetNameResponse (242)
+#define SOAP_TYPE_dss__ModulatorGetNameResponse (236)
 /* dss:ModulatorGetNameResponse */
 struct dss__ModulatorGetNameResponse
 {
@@ -1564,7 +1523,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ModulatorGetName
-#define SOAP_TYPE_dss__ModulatorGetName (243)
+#define SOAP_TYPE_dss__ModulatorGetName (237)
 /* dss:ModulatorGetName */
 struct dss__ModulatorGetName
 {
@@ -1575,7 +1534,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentAllocateZoneResponse
-#define SOAP_TYPE_dss__ApartmentAllocateZoneResponse (245)
+#define SOAP_TYPE_dss__ApartmentAllocateZoneResponse (239)
 /* dss:ApartmentAllocateZoneResponse */
 struct dss__ApartmentAllocateZoneResponse
 {
@@ -1585,7 +1544,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentAllocateZone
-#define SOAP_TYPE_dss__ApartmentAllocateZone (246)
+#define SOAP_TYPE_dss__ApartmentAllocateZone (240)
 /* dss:ApartmentAllocateZone */
 struct dss__ApartmentAllocateZone
 {
@@ -1595,7 +1554,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentDeleteZoneResponse
-#define SOAP_TYPE_dss__ApartmentDeleteZoneResponse (248)
+#define SOAP_TYPE_dss__ApartmentDeleteZoneResponse (242)
 /* dss:ApartmentDeleteZoneResponse */
 struct dss__ApartmentDeleteZoneResponse
 {
@@ -1605,7 +1564,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentDeleteZone
-#define SOAP_TYPE_dss__ApartmentDeleteZone (249)
+#define SOAP_TYPE_dss__ApartmentDeleteZone (243)
 /* dss:ApartmentDeleteZone */
 struct dss__ApartmentDeleteZone
 {
@@ -1616,7 +1575,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__Zone_AddDeviceResponse
-#define SOAP_TYPE_dss__Zone_AddDeviceResponse (251)
+#define SOAP_TYPE_dss__Zone_AddDeviceResponse (245)
 /* dss:Zone-AddDeviceResponse */
 struct dss__Zone_AddDeviceResponse
 {
@@ -1626,7 +1585,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__Zone_AddDevice
-#define SOAP_TYPE_dss__Zone_AddDevice (252)
+#define SOAP_TYPE_dss__Zone_AddDevice (246)
 /* dss:Zone-AddDevice */
 struct dss__Zone_AddDevice
 {
@@ -1638,7 +1597,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__Zone_RemoveDeviceResponse
-#define SOAP_TYPE_dss__Zone_RemoveDeviceResponse (254)
+#define SOAP_TYPE_dss__Zone_RemoveDeviceResponse (248)
 /* dss:Zone-RemoveDeviceResponse */
 struct dss__Zone_RemoveDeviceResponse
 {
@@ -1648,7 +1607,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__Zone_RemoveDevice
-#define SOAP_TYPE_dss__Zone_RemoveDevice (255)
+#define SOAP_TYPE_dss__Zone_RemoveDevice (249)
 /* dss:Zone-RemoveDevice */
 struct dss__Zone_RemoveDevice
 {
@@ -1660,7 +1619,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__Zone_SetNameResponse
-#define SOAP_TYPE_dss__Zone_SetNameResponse (257)
+#define SOAP_TYPE_dss__Zone_SetNameResponse (251)
 /* dss:Zone-SetNameResponse */
 struct dss__Zone_SetNameResponse
 {
@@ -1670,7 +1629,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__Zone_SetName
-#define SOAP_TYPE_dss__Zone_SetName (258)
+#define SOAP_TYPE_dss__Zone_SetName (252)
 /* dss:Zone-SetName */
 struct dss__Zone_SetName
 {
@@ -1682,7 +1641,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentAllocateUserGroupResponse
-#define SOAP_TYPE_dss__ApartmentAllocateUserGroupResponse (260)
+#define SOAP_TYPE_dss__ApartmentAllocateUserGroupResponse (254)
 /* dss:ApartmentAllocateUserGroupResponse */
 struct dss__ApartmentAllocateUserGroupResponse
 {
@@ -1692,7 +1651,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__ApartmentAllocateUserGroup
-#define SOAP_TYPE_dss__ApartmentAllocateUserGroup (261)
+#define SOAP_TYPE_dss__ApartmentAllocateUserGroup (255)
 /* dss:ApartmentAllocateUserGroup */
 struct dss__ApartmentAllocateUserGroup
 {
@@ -1702,7 +1661,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__GroupRemoveUserGroupResponse
-#define SOAP_TYPE_dss__GroupRemoveUserGroupResponse (263)
+#define SOAP_TYPE_dss__GroupRemoveUserGroupResponse (257)
 /* dss:GroupRemoveUserGroupResponse */
 struct dss__GroupRemoveUserGroupResponse
 {
@@ -1712,7 +1671,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__GroupRemoveUserGroup
-#define SOAP_TYPE_dss__GroupRemoveUserGroup (264)
+#define SOAP_TYPE_dss__GroupRemoveUserGroup (258)
 /* dss:GroupRemoveUserGroup */
 struct dss__GroupRemoveUserGroup
 {
@@ -1723,7 +1682,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__GroupAddDeviceResponse
-#define SOAP_TYPE_dss__GroupAddDeviceResponse (266)
+#define SOAP_TYPE_dss__GroupAddDeviceResponse (260)
 /* dss:GroupAddDeviceResponse */
 struct dss__GroupAddDeviceResponse
 {
@@ -1733,7 +1692,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__GroupAddDevice
-#define SOAP_TYPE_dss__GroupAddDevice (267)
+#define SOAP_TYPE_dss__GroupAddDevice (261)
 /* dss:GroupAddDevice */
 struct dss__GroupAddDevice
 {
@@ -1745,7 +1704,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__GroupRemoveDeviceResponse
-#define SOAP_TYPE_dss__GroupRemoveDeviceResponse (269)
+#define SOAP_TYPE_dss__GroupRemoveDeviceResponse (263)
 /* dss:GroupRemoveDeviceResponse */
 struct dss__GroupRemoveDeviceResponse
 {
@@ -1755,7 +1714,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__GroupRemoveDevice
-#define SOAP_TYPE_dss__GroupRemoveDevice (270)
+#define SOAP_TYPE_dss__GroupRemoveDevice (264)
 /* dss:GroupRemoveDevice */
 struct dss__GroupRemoveDevice
 {
@@ -1767,7 +1726,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__DeviceGetFunctionIDResponse
-#define SOAP_TYPE_dss__DeviceGetFunctionIDResponse (272)
+#define SOAP_TYPE_dss__DeviceGetFunctionIDResponse (266)
 /* dss:DeviceGetFunctionIDResponse */
 struct dss__DeviceGetFunctionIDResponse
 {
@@ -1777,7 +1736,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__DeviceGetFunctionID
-#define SOAP_TYPE_dss__DeviceGetFunctionID (273)
+#define SOAP_TYPE_dss__DeviceGetFunctionID (267)
 /* dss:DeviceGetFunctionID */
 struct dss__DeviceGetFunctionID
 {
@@ -1788,7 +1747,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__SwitchGetGroupIDResponse
-#define SOAP_TYPE_dss__SwitchGetGroupIDResponse (275)
+#define SOAP_TYPE_dss__SwitchGetGroupIDResponse (269)
 /* dss:SwitchGetGroupIDResponse */
 struct dss__SwitchGetGroupIDResponse
 {
@@ -1798,7 +1757,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__SwitchGetGroupID
-#define SOAP_TYPE_dss__SwitchGetGroupID (276)
+#define SOAP_TYPE_dss__SwitchGetGroupID (270)
 /* dss:SwitchGetGroupID */
 struct dss__SwitchGetGroupID
 {
@@ -1809,7 +1768,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__Event
-#define SOAP_TYPE_dss__Event (277)
+#define SOAP_TYPE_dss__Event (271)
 /* dss:Event */
 class SOAP_CMAC dss__Event
 {
@@ -1817,7 +1776,7 @@
 	std::string name;	/* required element of type xsd:string */
 	std::vector<std::string >parameter;	/* optional element of type xsd:string */
 public:
-	virtual int soap_type() const { return 277; } /* = unique id SOAP_TYPE_dss__Event */
+	virtual int soap_type() const { return 271; } /* = unique id SOAP_TYPE_dss__Event */
 	virtual void soap_default(struct soap*);
 	virtual void soap_serialize(struct soap*) const;
 	virtual int soap_put(struct soap*, const char*, const char*) const;
@@ -1830,7 +1789,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__EventRaiseResponse
-#define SOAP_TYPE_dss__EventRaiseResponse (279)
+#define SOAP_TYPE_dss__EventRaiseResponse (273)
 /* dss:EventRaiseResponse */
 struct dss__EventRaiseResponse
 {
@@ -1840,7 +1799,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__EventRaise
-#define SOAP_TYPE_dss__EventRaise (280)
+#define SOAP_TYPE_dss__EventRaise (274)
 /* dss:EventRaise */
 struct dss__EventRaise
 {
@@ -1854,7 +1813,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__EventWaitForResponse
-#define SOAP_TYPE_dss__EventWaitForResponse (284)
+#define SOAP_TYPE_dss__EventWaitForResponse (278)
 /* dss:EventWaitForResponse */
 struct dss__EventWaitForResponse
 {
@@ -1864,7 +1823,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__EventWaitFor
-#define SOAP_TYPE_dss__EventWaitFor (285)
+#define SOAP_TYPE_dss__EventWaitFor (279)
 /* dss:EventWaitFor */
 struct dss__EventWaitFor
 {
@@ -1875,7 +1834,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__EventSubscribeToResponse
-#define SOAP_TYPE_dss__EventSubscribeToResponse (287)
+#define SOAP_TYPE_dss__EventSubscribeToResponse (281)
 /* dss:EventSubscribeToResponse */
 struct dss__EventSubscribeToResponse
 {
@@ -1885,7 +1844,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__EventSubscribeTo
-#define SOAP_TYPE_dss__EventSubscribeTo (288)
+#define SOAP_TYPE_dss__EventSubscribeTo (282)
 /* dss:EventSubscribeTo */
 struct dss__EventSubscribeTo
 {
@@ -1896,7 +1855,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__PropertyGetTypeResponse
-#define SOAP_TYPE_dss__PropertyGetTypeResponse (290)
+#define SOAP_TYPE_dss__PropertyGetTypeResponse (284)
 /* dss:PropertyGetTypeResponse */
 struct dss__PropertyGetTypeResponse
 {
@@ -1906,7 +1865,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__PropertyGetType
-#define SOAP_TYPE_dss__PropertyGetType (291)
+#define SOAP_TYPE_dss__PropertyGetType (285)
 /* dss:PropertyGetType */
 struct dss__PropertyGetType
 {
@@ -1917,7 +1876,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__PropertySetIntResponse
-#define SOAP_TYPE_dss__PropertySetIntResponse (293)
+#define SOAP_TYPE_dss__PropertySetIntResponse (287)
 /* dss:PropertySetIntResponse */
 struct dss__PropertySetIntResponse
 {
@@ -1927,7 +1886,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__PropertySetInt
-#define SOAP_TYPE_dss__PropertySetInt (294)
+#define SOAP_TYPE_dss__PropertySetInt (288)
 /* dss:PropertySetInt */
 struct dss__PropertySetInt
 {
@@ -1940,7 +1899,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__PropertySetStringResponse
-#define SOAP_TYPE_dss__PropertySetStringResponse (296)
+#define SOAP_TYPE_dss__PropertySetStringResponse (290)
 /* dss:PropertySetStringResponse */
 struct dss__PropertySetStringResponse
 {
@@ -1950,7 +1909,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__PropertySetString
-#define SOAP_TYPE_dss__PropertySetString (297)
+#define SOAP_TYPE_dss__PropertySetString (291)
 /* dss:PropertySetString */
 struct dss__PropertySetString
 {
@@ -1963,7 +1922,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__PropertySetBoolResponse
-#define SOAP_TYPE_dss__PropertySetBoolResponse (299)
+#define SOAP_TYPE_dss__PropertySetBoolResponse (293)
 /* dss:PropertySetBoolResponse */
 struct dss__PropertySetBoolResponse
 {
@@ -1973,7 +1932,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__PropertySetBool
-#define SOAP_TYPE_dss__PropertySetBool (300)
+#define SOAP_TYPE_dss__PropertySetBool (294)
 /* dss:PropertySetBool */
 struct dss__PropertySetBool
 {
@@ -1986,7 +1945,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__PropertyGetIntResponse
-#define SOAP_TYPE_dss__PropertyGetIntResponse (302)
+#define SOAP_TYPE_dss__PropertyGetIntResponse (296)
 /* dss:PropertyGetIntResponse */
 struct dss__PropertyGetIntResponse
 {
@@ -1996,7 +1955,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__PropertyGetInt
-#define SOAP_TYPE_dss__PropertyGetInt (303)
+#define SOAP_TYPE_dss__PropertyGetInt (297)
 /* dss:PropertyGetInt */
 struct dss__PropertyGetInt
 {
@@ -2007,7 +1966,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__PropertyGetStringResponse
-#define SOAP_TYPE_dss__PropertyGetStringResponse (305)
+#define SOAP_TYPE_dss__PropertyGetStringResponse (299)
 /* dss:PropertyGetStringResponse */
 struct dss__PropertyGetStringResponse
 {
@@ -2017,7 +1976,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__PropertyGetString
-#define SOAP_TYPE_dss__PropertyGetString (306)
+#define SOAP_TYPE_dss__PropertyGetString (300)
 /* dss:PropertyGetString */
 struct dss__PropertyGetString
 {
@@ -2028,7 +1987,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__PropertyGetBoolResponse
-#define SOAP_TYPE_dss__PropertyGetBoolResponse (308)
+#define SOAP_TYPE_dss__PropertyGetBoolResponse (302)
 /* dss:PropertyGetBoolResponse */
 struct dss__PropertyGetBoolResponse
 {
@@ -2038,7 +1997,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__PropertyGetBool
-#define SOAP_TYPE_dss__PropertyGetBool (309)
+#define SOAP_TYPE_dss__PropertyGetBool (303)
 /* dss:PropertyGetBool */
 struct dss__PropertyGetBool
 {
@@ -2049,7 +2008,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__PropertyGetChildrenResponse
-#define SOAP_TYPE_dss__PropertyGetChildrenResponse (311)
+#define SOAP_TYPE_dss__PropertyGetChildrenResponse (305)
 /* dss:PropertyGetChildrenResponse */
 struct dss__PropertyGetChildrenResponse
 {
@@ -2059,7 +2018,7 @@
 #endif
 
 #ifndef SOAP_TYPE_dss__PropertyGetChildren
-#define SOAP_TYPE_dss__PropertyGetChildren (312)
+#define SOAP_TYPE_dss__PropertyGetChildren (306)
 /* dss:PropertyGetChildren */
 struct dss__PropertyGetChildren
 {
@@ -2070,7 +2029,7 @@
 #endif
 
 #ifndef SOAP_TYPE_SOAP_ENV__Header
-#define SOAP_TYPE_SOAP_ENV__Header (313)
+#define SOAP_TYPE_SOAP_ENV__Header (307)
 /* SOAP Header: */
 struct SOAP_ENV__Header
 {
@@ -2082,7 +2041,7 @@
 #endif
 
 #ifndef SOAP_TYPE_SOAP_ENV__Code
-#define SOAP_TYPE_SOAP_ENV__Code (314)
+#define SOAP_TYPE_SOAP_ENV__Code (308)
 /* SOAP Fault Code: */
 struct SOAP_ENV__Code
 {
@@ -2093,7 +2052,7 @@
 #endif
 
 #ifndef SOAP_TYPE_SOAP_ENV__Detail
-#define SOAP_TYPE_SOAP_ENV__Detail (316)
+#define SOAP_TYPE_SOAP_ENV__Detail (310)
 /* SOAP-ENV:Detail */
 struct SOAP_ENV__Detail
 {
@@ -2105,7 +2064,7 @@
 #endif
 
 #ifndef SOAP_TYPE_SOAP_ENV__Reason
-#define SOAP_TYPE_SOAP_ENV__Reason (319)
+#define SOAP_TYPE_SOAP_ENV__Reason (313)
 /* SOAP-ENV:Reason */
 struct SOAP_ENV__Reason
 {
@@ -2115,7 +2074,7 @@
 #endif
 
 #ifndef SOAP_TYPE_SOAP_ENV__Fault
-#define SOAP_TYPE_SOAP_ENV__Fault (320)
+#define SOAP_TYPE_SOAP_ENV__Fault (314)
 /* SOAP Fault: */
 struct SOAP_ENV__Fault
 {
@@ -2191,33 +2150,29 @@
 
 SOAP_FMAC5 int SOAP_FMAC6 dss__SignOff(struct soap*, int _token, int &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__FreeSet(struct soap*, int _token, int _setID, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__ApartmentCreateSetFromGroup(struct soap*, int _token, char *_groupName, std::string &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__ApartmentCreateSetFromGroup(struct soap*, int _token, char *_groupName, int &setID);
+SOAP_FMAC5 int SOAP_FMAC6 dss__ApartmentCreateSetFromDeviceIDs(struct soap*, int _token, std::vector<std::string >_ids, std::string &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__ApartmentCreateSetFromDeviceIDs(struct soap*, int _token, std::vector<std::string >_ids, int &setID);
+SOAP_FMAC5 int SOAP_FMAC6 dss__ApartmentCreateSetFromDeviceNames(struct soap*, int _token, std::vector<std::string >_names, std::string &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__ApartmentCreateSetFromDeviceNames(struct soap*, int _token, std::vector<std::string >_names, int &setID);
+SOAP_FMAC5 int SOAP_FMAC6 dss__ApartmentGetDevices(struct soap*, int _token, std::string &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__ApartmentCreateEmptySet(struct soap*, int _token, int &setID);
-
-SOAP_FMAC5 int SOAP_FMAC6 dss__ApartmentGetDevices(struct soap*, int _token, int &setID);
-
 SOAP_FMAC5 int SOAP_FMAC6 dss__ApartmentGetDeviceIDByName(struct soap*, int _token, char *_deviceName, std::string &deviceID);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetAddDeviceByName(struct soap*, int _token, int _setID, char *_name, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetAddDeviceByName(struct soap*, int _token, char *_setSpec, char *_name, std::string &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetAddDeviceByID(struct soap*, int _token, int _setID, char *_deviceID, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetAddDeviceByID(struct soap*, int _token, char *_setSpec, char *_deviceID, std::string &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetRemoveDevice(struct soap*, int _token, int _setID, char *_deviceID, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetRemoveDevice(struct soap*, int _token, char *_setSpec, char *_deviceID, std::string &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetCombine(struct soap*, int _token, int _setID1, int _setID2, int &setID);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetCombine(struct soap*, int _token, char *_setSpec1, char *_setSpec2, std::string &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetRemove(struct soap*, int _token, int _setID, int _setIDToRemove, int &setID);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetRemove(struct soap*, int _token, char *_setSpec, char *_setSpecToRemove, std::string &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetByGroup(struct soap*, int _token, int _setID, int _groupID, int &setID);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetByGroup(struct soap*, int _token, char *_setSpec, int _groupID, std::string &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetGetContainedDevices(struct soap*, int _token, int _setID, std::vector<std::string >&deviceIDs);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetGetContainedDevices(struct soap*, int _token, char *_setSpec, std::vector<std::string >&deviceIDs);
 
 SOAP_FMAC5 int SOAP_FMAC6 dss__ApartmentGetGroupByName(struct soap*, int _token, char *_groupName, int &groupID);
 
@@ -2225,27 +2180,27 @@
 
 SOAP_FMAC5 int SOAP_FMAC6 dss__ApartmentGetZoneIDs(struct soap*, int _token, std::vector<int >&zoneIDs);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetTurnOn(struct soap*, int _token, int _setID, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetTurnOn(struct soap*, int _token, char *_setSpec, bool &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetTurnOff(struct soap*, int _token, int _setID, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetTurnOff(struct soap*, int _token, char *_setSpec, bool &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetIncreaseValue(struct soap*, int _token, int _setID, int _paramID, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetIncreaseValue(struct soap*, int _token, char *_setSpec, int _paramID, bool &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetDecreaseValue(struct soap*, int _token, int _setID, int _paramID, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetDecreaseValue(struct soap*, int _token, char *_setSpec, int _paramID, bool &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetEnable(struct soap*, int _token, int _setID, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetEnable(struct soap*, int _token, char *_setSpec, bool &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetDisable(struct soap*, int _token, int _setID, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetDisable(struct soap*, int _token, char *_setSpec, bool &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetStartDim(struct soap*, int _token, int _setID, bool _directionUp, int _paramID, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetStartDim(struct soap*, int _token, char *_setSpec, bool _directionUp, int _paramID, bool &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetEndDim(struct soap*, int _token, int _setID, int _paramID, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetEndDim(struct soap*, int _token, char *_setSpec, int _paramID, bool &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetSetValue(struct soap*, int _token, int _setID, double _value, int _paramID, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetSetValue(struct soap*, int _token, char *_setSpec, double _value, int _paramID, bool &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetCallScene(struct soap*, int _token, int _setID, int _sceneNr, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetCallScene(struct soap*, int _token, char *_setSpec, int _sceneNr, bool &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetSaveScene(struct soap*, int _token, int _setID, int _sceneNr, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetSaveScene(struct soap*, int _token, char *_setSpec, int _sceneNr, bool &result);
 
 SOAP_FMAC5 int SOAP_FMAC6 dss__ApartmentTurnOn(struct soap*, int _token, int _groupID, bool &result);
 
@@ -2387,16 +2342,12 @@
 
 SOAP_FMAC5 int SOAP_FMAC6 soap_serve_dss__SignOff(struct soap*);
 
-SOAP_FMAC5 int SOAP_FMAC6 soap_serve_dss__FreeSet(struct soap*);
-
 SOAP_FMAC5 int SOAP_FMAC6 soap_serve_dss__ApartmentCreateSetFromGroup(struct soap*);
 
 SOAP_FMAC5 int SOAP_FMAC6 soap_serve_dss__ApartmentCreateSetFromDeviceIDs(struct soap*);
 
 SOAP_FMAC5 int SOAP_FMAC6 soap_serve_dss__ApartmentCreateSetFromDeviceNames(struct soap*);
 
-SOAP_FMAC5 int SOAP_FMAC6 soap_serve_dss__ApartmentCreateEmptySet(struct soap*);
-
 SOAP_FMAC5 int SOAP_FMAC6 soap_serve_dss__ApartmentGetDevices(struct soap*);
 
 SOAP_FMAC5 int SOAP_FMAC6 soap_serve_dss__ApartmentGetDeviceIDByName(struct soap*);

Modified: dss/trunk/webservices/soapdssObject.h
===================================================================
--- dss/trunk/webservices/soapdssObject.h	2009-10-06 14:06:12 UTC (rev 8828)
+++ dss/trunk/webservices/soapdssObject.h	2009-10-06 15:35:18 UTC (rev 8829)
@@ -48,33 +48,29 @@
 
 SOAP_FMAC5 int SOAP_FMAC6 dss__SignOff(struct soap*, int _token, int &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__FreeSet(struct soap*, int _token, int _setID, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__ApartmentCreateSetFromGroup(struct soap*, int _token, char *_groupName, std::string &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__ApartmentCreateSetFromGroup(struct soap*, int _token, char *_groupName, int &setID);
+SOAP_FMAC5 int SOAP_FMAC6 dss__ApartmentCreateSetFromDeviceIDs(struct soap*, int _token, std::vector<std::string >_ids, std::string &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__ApartmentCreateSetFromDeviceIDs(struct soap*, int _token, std::vector<std::string >_ids, int &setID);
+SOAP_FMAC5 int SOAP_FMAC6 dss__ApartmentCreateSetFromDeviceNames(struct soap*, int _token, std::vector<std::string >_names, std::string &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__ApartmentCreateSetFromDeviceNames(struct soap*, int _token, std::vector<std::string >_names, int &setID);
+SOAP_FMAC5 int SOAP_FMAC6 dss__ApartmentGetDevices(struct soap*, int _token, std::string &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__ApartmentCreateEmptySet(struct soap*, int _token, int &setID);
-
-SOAP_FMAC5 int SOAP_FMAC6 dss__ApartmentGetDevices(struct soap*, int _token, int &setID);
-
 SOAP_FMAC5 int SOAP_FMAC6 dss__ApartmentGetDeviceIDByName(struct soap*, int _token, char *_deviceName, std::string &deviceID);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetAddDeviceByName(struct soap*, int _token, int _setID, char *_name, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetAddDeviceByName(struct soap*, int _token, char *_setSpec, char *_name, std::string &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetAddDeviceByID(struct soap*, int _token, int _setID, char *_deviceID, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetAddDeviceByID(struct soap*, int _token, char *_setSpec, char *_deviceID, std::string &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetRemoveDevice(struct soap*, int _token, int _setID, char *_deviceID, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetRemoveDevice(struct soap*, int _token, char *_setSpec, char *_deviceID, std::string &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetCombine(struct soap*, int _token, int _setID1, int _setID2, int &setID);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetCombine(struct soap*, int _token, char *_setSpec1, char *_setSpec2, std::string &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetRemove(struct soap*, int _token, int _setID, int _setIDToRemove, int &setID);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetRemove(struct soap*, int _token, char *_setSpec, char *_setSpecToRemove, std::string &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetByGroup(struct soap*, int _token, int _setID, int _groupID, int &setID);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetByGroup(struct soap*, int _token, char *_setSpec, int _groupID, std::string &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetGetContainedDevices(struct soap*, int _token, int _setID, std::vector<std::string >&deviceIDs);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetGetContainedDevices(struct soap*, int _token, char *_setSpec, std::vector<std::string >&deviceIDs);
 
 SOAP_FMAC5 int SOAP_FMAC6 dss__ApartmentGetGroupByName(struct soap*, int _token, char *_groupName, int &groupID);
 
@@ -82,27 +78,27 @@
 
 SOAP_FMAC5 int SOAP_FMAC6 dss__ApartmentGetZoneIDs(struct soap*, int _token, std::vector<int >&zoneIDs);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetTurnOn(struct soap*, int _token, int _setID, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetTurnOn(struct soap*, int _token, char *_setSpec, bool &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetTurnOff(struct soap*, int _token, int _setID, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetTurnOff(struct soap*, int _token, char *_setSpec, bool &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetIncreaseValue(struct soap*, int _token, int _setID, int _paramID, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetIncreaseValue(struct soap*, int _token, char *_setSpec, int _paramID, bool &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetDecreaseValue(struct soap*, int _token, int _setID, int _paramID, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetDecreaseValue(struct soap*, int _token, char *_setSpec, int _paramID, bool &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetEnable(struct soap*, int _token, int _setID, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetEnable(struct soap*, int _token, char *_setSpec, bool &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetDisable(struct soap*, int _token, int _setID, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetDisable(struct soap*, int _token, char *_setSpec, bool &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetStartDim(struct soap*, int _token, int _setID, bool _directionUp, int _paramID, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetStartDim(struct soap*, int _token, char *_setSpec, bool _directionUp, int _paramID, bool &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetEndDim(struct soap*, int _token, int _setID, int _paramID, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetEndDim(struct soap*, int _token, char *_setSpec, int _paramID, bool &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetSetValue(struct soap*, int _token, int _setID, double _value, int _paramID, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetSetValue(struct soap*, int _token, char *_setSpec, double _value, int _paramID, bool &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetCallScene(struct soap*, int _token, int _setID, int _sceneNr, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetCallScene(struct soap*, int _token, char *_setSpec, int _sceneNr, bool &result);
 
-SOAP_FMAC5 int SOAP_FMAC6 dss__SetSaveScene(struct soap*, int _token, int _setID, int _sceneNr, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__SetSaveScene(struct soap*, int _token, char *_setSpec, int _sceneNr, bool &result);
 
 SOAP_FMAC5 int SOAP_FMAC6 dss__ApartmentTurnOn(struct soap*, int _token, int _groupID, bool &result);
 

Modified: dss/trunk/webservices/webservices.cpp
===================================================================
--- dss/trunk/webservices/webservices.cpp	2009-10-06 14:06:12 UTC (rev 8828)
+++ dss/trunk/webservices/webservices.cpp	2009-10-06 15:35:18 UTC (rev 8829)
@@ -237,7 +237,12 @@
     while(!m_Terminated) {
       struct soap* req = m_pServices->popPendingRequest();
       if(req != NULL) {
-        soap_serve(req);
+        try {
+          soap_serve(req);
+        } catch(std::runtime_error& err) {
+          Logger::getInstance()->log(string("WebserviceWorker::Execute: Caught exception:")
+                                     + err.what());
+        }
         soap_destroy(req);
         soap_end(req);
         soap_done(req);



More information about the dss-commits mailing list