[dss-commits] r8790 - in dss/trunk: core data/webroot webservices
dss-commits at forum.digitalstrom.org
dss-commits at forum.digitalstrom.org
Tue Sep 22 17:15:00 CEST 2009
Author: pstaehlin
Date: 2009-09-22 17:14:59 +0200 (Tue, 22 Sep 2009)
New Revision: 8790
Modified:
dss/trunk/core/eventinterpreterplugins.cpp
dss/trunk/core/eventinterpreterplugins.h
dss/trunk/core/session.cpp
dss/trunk/data/webroot/dss.wsdl
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
dss/trunk/webservices/webservices.h
Log:
SOAP clients can now listen to events.
Closes #90
Modified: dss/trunk/core/eventinterpreterplugins.cpp
===================================================================
--- dss/trunk/core/eventinterpreterplugins.cpp 2009-09-22 15:09:31 UTC (rev 8789)
+++ dss/trunk/core/eventinterpreterplugins.cpp 2009-09-22 15:14:59 UTC (rev 8790)
@@ -287,4 +287,52 @@
}
} // handleEvent
+
+ //================================================== EventRelayTarget
+
+ EventRelayTarget::~EventRelayTarget() {
+ while(!m_SubscriptionIDs.empty()) {
+ unsubscribeFrom(m_SubscriptionIDs.front());
+ }
+ } // dtor
+
+ void EventRelayTarget::subscribeTo(boost::shared_ptr<EventSubscription> _pSubscription) {
+ m_Relay.registerSubscription(this, _pSubscription->getID());
+ m_SubscriptionIDs.push_back(_pSubscription->getID());
+ } // subscribeTo
+
+ void EventRelayTarget::unsubscribeFrom(const std::string& _subscriptionID) {
+ m_Relay.removeSubscription(_subscriptionID);
+ std::vector<std::string>::iterator it =
+ std::find(m_SubscriptionIDs.begin(), m_SubscriptionIDs.end(), _subscriptionID);
+ if(it != m_SubscriptionIDs.end()) {
+ m_SubscriptionIDs.erase(it);
+ }
+ } // unsubscribeFrom
+
+
+ //================================================== EventInterpreterInternalRelay
+
+ EventInterpreterInternalRelay::EventInterpreterInternalRelay(EventInterpreter* _pInterpreter)
+ : EventInterpreterPlugin(getPluginName(), _pInterpreter)
+ { } // ctor
+
+ EventInterpreterInternalRelay::~EventInterpreterInternalRelay() {
+ } // dtor
+
+ void EventInterpreterInternalRelay::handleEvent(Event& _event, const EventSubscription& _subscription) {
+ EventRelayTarget* target = m_IDTargetMap[_subscription.getID()];
+ if(target != NULL) {
+ target->handleEvent(_event, _subscription);
+ }
+ } // handleEvent
+
+ void EventInterpreterInternalRelay::registerSubscription(EventRelayTarget* _pTarget, const std::string& _subscriptionID) {
+ m_IDTargetMap[_subscriptionID] = _pTarget;
+ } // registerSubscription
+
+ void EventInterpreterInternalRelay::removeSubscription(const std::string& _subscriptionID) {
+ m_IDTargetMap[_subscriptionID] = NULL;
+ } // removeSubscription
+
} // namespace dss
Modified: dss/trunk/core/eventinterpreterplugins.h
===================================================================
--- dss/trunk/core/eventinterpreterplugins.h 2009-09-22 15:09:31 UTC (rev 8789)
+++ dss/trunk/core/eventinterpreterplugins.h 2009-09-22 15:14:59 UTC (rev 8790)
@@ -62,6 +62,42 @@
virtual void handleEvent(Event& _event, const EventSubscription& _subscription);
}; // EventInterpreterPluginDS485
+
+ //-------------------------------------------------- Event Relay
+
+ class EventInterpreterInternalRelay;
+
+ class EventRelayTarget {
+ public:
+ EventRelayTarget(EventInterpreterInternalRelay& _relay)
+ : m_Relay(_relay)
+ { } // ctor
+ virtual ~EventRelayTarget();
+
+ virtual void handleEvent(Event& _event, const EventSubscription& _subscription) = 0;
+ virtual void subscribeTo(boost::shared_ptr<EventSubscription> _pSubscription);
+ virtual void unsubscribeFrom(const std::string& _subscriptionID);
+ private:
+ EventInterpreterInternalRelay& m_Relay;
+ std::vector<std::string> m_SubscriptionIDs;
+ }; // EventRelayTarget
+
+ class EventInterpreterInternalRelay : public EventInterpreterPlugin {
+ public:
+ EventInterpreterInternalRelay(EventInterpreter* _pInterpreter);
+ virtual ~EventInterpreterInternalRelay();
+
+ virtual void handleEvent(Event& _event, const EventSubscription& _subscription);
+
+ static const char* getPluginName() { return "internal_relay"; }
+ protected:
+ friend class EventRelayTarget;
+ void registerSubscription(EventRelayTarget* _pTarget, const std::string& _subscriptionID);
+ void removeSubscription(const std::string& _subscriptionID);
+ private:
+ HASH_NAMESPACE::hash_map<const std::string, EventRelayTarget*> m_IDTargetMap;
+ }; // EventInterpreterInternalRelay
+
} // namespace dss
#endif /* EVENTINTERPRETERPLUGINS_H_ */
Modified: dss/trunk/core/session.cpp
===================================================================
--- dss/trunk/core/session.cpp 2009-09-22 15:09:31 UTC (rev 8789)
+++ dss/trunk/core/session.cpp 2009-09-22 15:14:59 UTC (rev 8790)
@@ -64,12 +64,14 @@
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/data/webroot/dss.wsdl
===================================================================
--- dss/trunk/data/webroot/dss.wsdl 2009-09-22 15:09:31 UTC (rev 8789)
+++ dss/trunk/data/webroot/dss.wsdl 2009-09-22 15:14:59 UTC (rev 8790)
@@ -25,23 +25,13 @@
elementFormDefault="unqualified"
attributeFormDefault="unqualified">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" schemaLocation="http://schemas.xmlsoap.org/soap/encoding/"/>
+ <complexType name="Event">
+ <sequence>
+ <element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+ <element name="parameter" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
<!-- operation request element -->
- <element name="Test">
- <complexType>
- <sequence>
- <element name="bla" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
- </sequence>
- </complexType>
- </element>
- <!-- operation response element -->
- <element name="TestResponse">
- <complexType>
- <sequence>
- <element name="ints" type="xsd:int" minOccurs="1" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
- </element>
- <!-- operation request element -->
<element name="Authenticate">
<complexType>
<sequence>
@@ -1474,6 +1464,40 @@
</complexType>
</element>
<!-- operation request element -->
+ <element name="EventWaitFor">
+ <complexType>
+ <sequence>
+ <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+ <element name="timeout" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+ </sequence>
+ </complexType>
+ </element>
+ <!-- operation response element -->
+ <element name="EventWaitForResponse">
+ <complexType>
+ <sequence>
+ <element name="result" type="dss:Event" minOccurs="1" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ </element>
+ <!-- operation request element -->
+ <element name="EventSubscribeTo">
+ <complexType>
+ <sequence>
+ <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+ <element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+ </sequence>
+ </complexType>
+ </element>
+ <!-- operation response element -->
+ <element name="EventSubscribeToResponse">
+ <complexType>
+ <sequence>
+ <element name="result" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+ </sequence>
+ </complexType>
+ </element>
+ <!-- operation request element -->
<element name="PropertyGetType">
<complexType>
<sequence>
@@ -1619,14 +1643,6 @@
</types>
-<message name="TestRequest">
- <part name="parameters" element="dss:Test"/>
-</message>
-
-<message name="TestResponse">
- <part name="parameters" element="dss:TestResponse"/>
-</message>
-
<message name="AuthenticateRequest">
<part name="parameters" element="dss:Authenticate"/>
</message>
@@ -2275,6 +2291,22 @@
<part name="parameters" element="dss:EventRaiseResponse"/>
</message>
+<message name="EventWaitForRequest">
+ <part name="parameters" element="dss:EventWaitFor"/>
+</message>
+
+<message name="EventWaitForResponse">
+ <part name="parameters" element="dss:EventWaitForResponse"/>
+</message>
+
+<message name="EventSubscribeToRequest">
+ <part name="parameters" element="dss:EventSubscribeTo"/>
+</message>
+
+<message name="EventSubscribeToResponse">
+ <part name="parameters" element="dss:EventSubscribeToResponse"/>
+</message>
+
<message name="PropertyGetTypeRequest">
<part name="parameters" element="dss:PropertyGetType"/>
</message>
@@ -2340,11 +2372,6 @@
</message>
<portType name="MyType">
- <operation name="Test">
- <documentation>Service definition of function dss__Test</documentation>
- <input message="tns:TestRequest"/>
- <output message="tns:TestResponse"/>
- </operation>
<operation name="Authenticate">
<documentation>Service definition of function dss__Authenticate</documentation>
<input message="tns:AuthenticateRequest"/>
@@ -2750,6 +2777,16 @@
<input message="tns:EventRaiseRequest"/>
<output message="tns:EventRaiseResponse"/>
</operation>
+ <operation name="EventWaitFor">
+ <documentation>Service definition of function dss__EventWaitFor</documentation>
+ <input message="tns:EventWaitForRequest"/>
+ <output message="tns:EventWaitForResponse"/>
+ </operation>
+ <operation name="EventSubscribeTo">
+ <documentation>Service definition of function dss__EventSubscribeTo</documentation>
+ <input message="tns:EventSubscribeToRequest"/>
+ <output message="tns:EventSubscribeToResponse"/>
+ </operation>
<operation name="PropertyGetType">
<documentation>Service definition of function dss__PropertyGetType</documentation>
<input message="tns:PropertyGetTypeRequest"/>
@@ -2794,15 +2831,6 @@
<binding name="dss" type="tns:MyType">
<SOAP:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
- <operation name="Test">
- <SOAP:operation soapAction=""/>
- <input>
- <SOAP:body parts="parameters" use="literal"/>
- </input>
- <output>
- <SOAP:body parts="parameters" use="literal"/>
- </output>
- </operation>
<operation name="Authenticate">
<SOAP:operation soapAction=""/>
<input>
@@ -3532,6 +3560,24 @@
<SOAP:body parts="parameters" use="literal"/>
</output>
</operation>
+ <operation name="EventWaitFor">
+ <SOAP:operation soapAction=""/>
+ <input>
+ <SOAP:body parts="parameters" use="literal"/>
+ </input>
+ <output>
+ <SOAP:body parts="parameters" use="literal"/>
+ </output>
+ </operation>
+ <operation name="EventSubscribeTo">
+ <SOAP:operation soapAction=""/>
+ <input>
+ <SOAP:body parts="parameters" use="literal"/>
+ </input>
+ <output>
+ <SOAP:body parts="parameters" use="literal"/>
+ </output>
+ </operation>
<operation name="PropertyGetType">
<SOAP:operation soapAction=""/>
<input>
Modified: dss/trunk/webservices/dss.wsdl
===================================================================
--- dss/trunk/webservices/dss.wsdl 2009-09-22 15:09:31 UTC (rev 8789)
+++ dss/trunk/webservices/dss.wsdl 2009-09-22 15:14:59 UTC (rev 8790)
@@ -25,6 +25,12 @@
elementFormDefault="unqualified"
attributeFormDefault="unqualified">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" schemaLocation="http://schemas.xmlsoap.org/soap/encoding/"/>
+ <complexType name="Event">
+ <sequence>
+ <element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+ <element name="parameter" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
<!-- operation request element -->
<element name="Authenticate">
<complexType>
@@ -1458,6 +1464,40 @@
</complexType>
</element>
<!-- operation request element -->
+ <element name="EventWaitFor">
+ <complexType>
+ <sequence>
+ <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+ <element name="timeout" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+ </sequence>
+ </complexType>
+ </element>
+ <!-- operation response element -->
+ <element name="EventWaitForResponse">
+ <complexType>
+ <sequence>
+ <element name="result" type="dss:Event" minOccurs="1" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ </element>
+ <!-- operation request element -->
+ <element name="EventSubscribeTo">
+ <complexType>
+ <sequence>
+ <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+ <element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+ </sequence>
+ </complexType>
+ </element>
+ <!-- operation response element -->
+ <element name="EventSubscribeToResponse">
+ <complexType>
+ <sequence>
+ <element name="result" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+ </sequence>
+ </complexType>
+ </element>
+ <!-- operation request element -->
<element name="PropertyGetType">
<complexType>
<sequence>
@@ -2251,6 +2291,22 @@
<part name="parameters" element="dss:EventRaiseResponse"/>
</message>
+<message name="EventWaitForRequest">
+ <part name="parameters" element="dss:EventWaitFor"/>
+</message>
+
+<message name="EventWaitForResponse">
+ <part name="parameters" element="dss:EventWaitForResponse"/>
+</message>
+
+<message name="EventSubscribeToRequest">
+ <part name="parameters" element="dss:EventSubscribeTo"/>
+</message>
+
+<message name="EventSubscribeToResponse">
+ <part name="parameters" element="dss:EventSubscribeToResponse"/>
+</message>
+
<message name="PropertyGetTypeRequest">
<part name="parameters" element="dss:PropertyGetType"/>
</message>
@@ -2721,6 +2777,16 @@
<input message="tns:EventRaiseRequest"/>
<output message="tns:EventRaiseResponse"/>
</operation>
+ <operation name="EventWaitFor">
+ <documentation>Service definition of function dss__EventWaitFor</documentation>
+ <input message="tns:EventWaitForRequest"/>
+ <output message="tns:EventWaitForResponse"/>
+ </operation>
+ <operation name="EventSubscribeTo">
+ <documentation>Service definition of function dss__EventSubscribeTo</documentation>
+ <input message="tns:EventSubscribeToRequest"/>
+ <output message="tns:EventSubscribeToResponse"/>
+ </operation>
<operation name="PropertyGetType">
<documentation>Service definition of function dss__PropertyGetType</documentation>
<input message="tns:PropertyGetTypeRequest"/>
@@ -3494,6 +3560,24 @@
<SOAP:body parts="parameters" use="literal"/>
</output>
</operation>
+ <operation name="EventWaitFor">
+ <SOAP:operation soapAction=""/>
+ <input>
+ <SOAP:body parts="parameters" use="literal"/>
+ </input>
+ <output>
+ <SOAP:body parts="parameters" use="literal"/>
+ </output>
+ </operation>
+ <operation name="EventSubscribeTo">
+ <SOAP:operation soapAction=""/>
+ <input>
+ <SOAP:body parts="parameters" use="literal"/>
+ </input>
+ <output>
+ <SOAP:body parts="parameters" use="literal"/>
+ </output>
+ </operation>
<operation name="PropertyGetType">
<SOAP:operation soapAction=""/>
<input>
Modified: dss/trunk/webservices/dss.xsd
===================================================================
--- dss/trunk/webservices/dss.xsd 2009-09-22 15:09:31 UTC (rev 8789)
+++ dss/trunk/webservices/dss.xsd 2009-09-22 15:14:59 UTC (rev 8790)
@@ -9,6 +9,12 @@
elementFormDefault="unqualified"
attributeFormDefault="unqualified">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" schemaLocation="http://schemas.xmlsoap.org/soap/encoding/"/>
+ <complexType name="Event">
+ <sequence>
+ <element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+ <element name="parameter" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
<!-- operation request element -->
<element name="Authenticate">
<complexType>
@@ -1182,43 +1188,6 @@
</complexType>
</element>
<!-- operation request element -->
- <element name="DeviceSetLocation">
- <complexType>
- <sequence>
- <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
- <element name="deviceID" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
- <element name="location" type="dss:DeviceLocation" minOccurs="1" maxOccurs="1"/>
- </sequence>
- </complexType>
- </element>
- <!-- operation response element -->
- <element name="DeviceSetLocationResponse">
- <complexType>
- <sequence>
- <element name="result" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
- </sequence>
- </complexType>
- </element>
- <!-- operation request element -->
- <element name="DeviceGetLocation">
- <complexType>
- <sequence>
- <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
- <element name="deviceID" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/>
- </sequence>
- </complexType>
- </element>
- <!-- operation response element -->
- <element name="DeviceLocation">
- <complexType>
- <sequence>
- <element name="x" type="xsd:double" minOccurs="1" maxOccurs="1"/>
- <element name="y" type="xsd:double" minOccurs="1" maxOccurs="1"/>
- <element name="z" type="xsd:double" minOccurs="1" maxOccurs="1"/>
- </sequence>
- </complexType>
- </element>
- <!-- operation request element -->
<element name="ModulatorGetPowerConsumption">
<complexType>
<sequence>
@@ -1479,6 +1448,40 @@
</complexType>
</element>
<!-- operation request element -->
+ <element name="EventWaitFor">
+ <complexType>
+ <sequence>
+ <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+ <element name="timeout" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+ </sequence>
+ </complexType>
+ </element>
+ <!-- operation response element -->
+ <element name="EventWaitForResponse">
+ <complexType>
+ <sequence>
+ <element name="result" type="dss:Event" minOccurs="1" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ </element>
+ <!-- operation request element -->
+ <element name="EventSubscribeTo">
+ <complexType>
+ <sequence>
+ <element name="token" type="xsd:int" minOccurs="1" maxOccurs="1"/>
+ <element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+ </sequence>
+ </complexType>
+ </element>
+ <!-- operation response element -->
+ <element name="EventSubscribeToResponse">
+ <complexType>
+ <sequence>
+ <element name="result" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+ </sequence>
+ </complexType>
+ </element>
+ <!-- operation request element -->
<element name="PropertyGetType">
<complexType>
<sequence>
Modified: dss/trunk/webservices/model_soap.cpp
===================================================================
--- dss/trunk/webservices/model_soap.cpp 2009-09-22 15:09:31 UTC (rev 8789)
+++ dss/trunk/webservices/model_soap.cpp 2009-09-22 15:14:59 UTC (rev 8790)
@@ -32,6 +32,14 @@
return result;
} // isAuthorized
+int AuthorizeAndGetSession(struct soap *soap, const int _token, dss::WebServiceSession& result) {
+ if(!IsAuthorized(soap, _token)) {
+ return NotAuthorized(soap);
+ }
+ result = dss::DSS::getInstance()->getWebServices().getSession(soap, _token);
+ return SOAP_OK;
+} // AuthorizeAndGetSession
+
int AuthorizeAndGetSet(struct soap *soap, const int _token, const int _setID, dss::Set& result) {
if(!IsAuthorized(soap, _token)) {
return NotAuthorized(soap);
@@ -1122,6 +1130,7 @@
return soap_sender_fault(soap, "Not yet implemented", NULL);
}
+
//==================================================== Events
int dss__EventRaise(struct soap *soap, int _token, char* _eventName, char* _context, char* _parameter, char* _location, bool& result) {
@@ -1161,6 +1170,45 @@
return SOAP_OK;
} // dss__EventRaise
+int dss__EventWaitFor(struct soap *soap, int _token, int _timeout, std::vector<dss__Event>& result) {
+ dss::WebServiceSession session;
+ int getResult = AuthorizeAndGetSession(soap, _token, session);
+ if(getResult != SOAP_OK) {
+ return getResult;
+ }
+
+ session.waitForEvent(_timeout);
+
+ while(session.hasEvent()) {
+ dss::Event origEvent = session.popEvent();
+ dss__Event evt;
+ evt.name = origEvent.getName();
+ const dss::HashMapConstStringString& props = origEvent.getProperties().getContainer();
+ for(dss::HashMapConstStringString::const_iterator iParam = props.begin(), e = props.end();
+ iParam != e; ++iParam)
+ {
+ std::string paramString = iParam->first + "=" + iParam->second;
+ evt.parameter.push_back(paramString);
+ }
+ result.push_back(evt);
+ }
+
+ return SOAP_OK;
+} // dss__EventWaitFor
+
+int dss__EventSubscribeTo(struct soap *soap, int _token, std::string _name, std::string& result) {
+ dss::WebServiceSession session;
+ int getResult = AuthorizeAndGetSession(soap, _token, session);
+ if(getResult != SOAP_OK) {
+ return getResult;
+ }
+
+ result = session.subscribeTo(_name);
+
+ return SOAP_OK;
+} // dss__EventSubscribeTo
+
+
//==================================================== Properties
int dss__PropertyGetType(struct soap *soap, int _token, std::string _propertyName, std::string& result) {
Modified: dss/trunk/webservices/model_soap.h
===================================================================
--- dss/trunk/webservices/model_soap.h 2009-09-22 15:09:31 UTC (rev 8789)
+++ dss/trunk/webservices/model_soap.h 2009-09-22 15:14:59 UTC (rev 8790)
@@ -244,7 +244,15 @@
//==================================================== Events
+class dss__Event {
+public:
+ std::string name;
+ std::vector<std::string> parameter;
+};
+
int dss__EventRaise(int _token, char* _eventName, char* _context, char* _parameter, char* _location, bool& result);
+int dss__EventWaitFor(int _token, int _timeout, std::vector<dss__Event>& result);
+int dss__EventSubscribeTo(int _token, std::string _name, std::string& result);
// =================================================== Properties
Modified: dss/trunk/webservices/soapC.cpp
===================================================================
--- dss/trunk/webservices/soapC.cpp 2009-09-22 15:09:31 UTC (rev 8789)
+++ dss/trunk/webservices/soapC.cpp 2009-09-22 15:14:59 UTC (rev 8790)
@@ -7,7 +7,7 @@
#include "soapH.h"
-SOAP_SOURCE_STAMP("@(#) soapC.cpp ver 2.7.10 2009-06-08 14:45:47 GMT")
+SOAP_SOURCE_STAMP("@(#) soapC.cpp ver 2.7.10 2009-09-22 13:48:12 GMT")
#ifndef WITH_NOGLOBAL
@@ -177,6 +177,8 @@
return soap_in_unsignedLONG64(soap, NULL, NULL, "xsd:unsignedLong");
case SOAP_TYPE_bool:
return soap_in_bool(soap, NULL, NULL, "xsd:boolean");
+ case SOAP_TYPE_dss__Event:
+ return soap_in_dss__Event(soap, NULL, NULL, "dss:Event");
case SOAP_TYPE_std__string:
return soap_in_std__string(soap, NULL, NULL, "xsd:string");
case SOAP_TYPE_dss__PropertyGetChildren:
@@ -211,6 +213,14 @@
return soap_in_dss__PropertyGetType(soap, NULL, NULL, "dss:PropertyGetType");
case SOAP_TYPE_dss__PropertyGetTypeResponse:
return soap_in_dss__PropertyGetTypeResponse(soap, NULL, NULL, "dss:PropertyGetTypeResponse");
+ case SOAP_TYPE_dss__EventSubscribeTo:
+ return soap_in_dss__EventSubscribeTo(soap, NULL, NULL, "dss:EventSubscribeTo");
+ case SOAP_TYPE_dss__EventSubscribeToResponse:
+ return soap_in_dss__EventSubscribeToResponse(soap, NULL, NULL, "dss:EventSubscribeToResponse");
+ case SOAP_TYPE_dss__EventWaitFor:
+ return soap_in_dss__EventWaitFor(soap, NULL, NULL, "dss:EventWaitFor");
+ case SOAP_TYPE_dss__EventWaitForResponse:
+ return soap_in_dss__EventWaitForResponse(soap, NULL, NULL, "dss:EventWaitForResponse");
case SOAP_TYPE_dss__EventRaise:
return soap_in_dss__EventRaise(soap, NULL, NULL, "dss:EventRaise");
case SOAP_TYPE_dss__EventRaiseResponse:
@@ -271,14 +281,6 @@
return soap_in_dss__ModulatorGetPowerConsumption(soap, NULL, NULL, "dss:ModulatorGetPowerConsumption");
case SOAP_TYPE_dss__ModulatorGetPowerConsumptionResponse:
return soap_in_dss__ModulatorGetPowerConsumptionResponse(soap, NULL, NULL, "dss:ModulatorGetPowerConsumptionResponse");
- case SOAP_TYPE_dss__DeviceGetLocation:
- return soap_in_dss__DeviceGetLocation(soap, NULL, NULL, "dss:DeviceGetLocation");
- case SOAP_TYPE_dss__DeviceSetLocation:
- return soap_in_dss__DeviceSetLocation(soap, NULL, NULL, "dss:DeviceSetLocation");
- case SOAP_TYPE_dss__DeviceSetLocationResponse:
- return soap_in_dss__DeviceSetLocationResponse(soap, NULL, NULL, "dss:DeviceSetLocationResponse");
- case SOAP_TYPE_DeviceLocation:
- return soap_in_DeviceLocation(soap, NULL, NULL, "DeviceLocation");
case SOAP_TYPE_dss__DeviceGetZoneID:
return soap_in_dss__DeviceGetZoneID(soap, NULL, NULL, "dss:DeviceGetZoneID");
case SOAP_TYPE_dss__DeviceGetZoneIDResponse:
@@ -554,6 +556,10 @@
{ const char *t = soap->type;
if (!*t)
t = soap->tag;
+ if (!soap_match_tag(soap, t, "dss:Event"))
+ { *type = SOAP_TYPE_dss__Event;
+ return soap_in_dss__Event(soap, NULL, NULL, NULL);
+ }
if (!soap_match_tag(soap, t, "xsd:string"))
{ *type = SOAP_TYPE_std__string;
return soap_in_std__string(soap, NULL, NULL, NULL);
@@ -666,6 +672,22 @@
{ *type = SOAP_TYPE_dss__PropertyGetTypeResponse;
return soap_in_dss__PropertyGetTypeResponse(soap, NULL, NULL, NULL);
}
+ if (!soap_match_tag(soap, t, "dss:EventSubscribeTo"))
+ { *type = SOAP_TYPE_dss__EventSubscribeTo;
+ return soap_in_dss__EventSubscribeTo(soap, NULL, NULL, NULL);
+ }
+ if (!soap_match_tag(soap, t, "dss:EventSubscribeToResponse"))
+ { *type = SOAP_TYPE_dss__EventSubscribeToResponse;
+ return soap_in_dss__EventSubscribeToResponse(soap, NULL, NULL, NULL);
+ }
+ if (!soap_match_tag(soap, t, "dss:EventWaitFor"))
+ { *type = SOAP_TYPE_dss__EventWaitFor;
+ return soap_in_dss__EventWaitFor(soap, NULL, NULL, NULL);
+ }
+ if (!soap_match_tag(soap, t, "dss:EventWaitForResponse"))
+ { *type = SOAP_TYPE_dss__EventWaitForResponse;
+ return soap_in_dss__EventWaitForResponse(soap, NULL, NULL, NULL);
+ }
if (!soap_match_tag(soap, t, "dss:EventRaise"))
{ *type = SOAP_TYPE_dss__EventRaise;
return soap_in_dss__EventRaise(soap, NULL, NULL, NULL);
@@ -786,22 +808,6 @@
{ *type = SOAP_TYPE_dss__ModulatorGetPowerConsumptionResponse;
return soap_in_dss__ModulatorGetPowerConsumptionResponse(soap, NULL, NULL, NULL);
}
- if (!soap_match_tag(soap, t, "dss:DeviceGetLocation"))
- { *type = SOAP_TYPE_dss__DeviceGetLocation;
- return soap_in_dss__DeviceGetLocation(soap, NULL, NULL, NULL);
- }
- if (!soap_match_tag(soap, t, "dss:DeviceSetLocation"))
- { *type = SOAP_TYPE_dss__DeviceSetLocation;
- return soap_in_dss__DeviceSetLocation(soap, NULL, NULL, NULL);
- }
- if (!soap_match_tag(soap, t, "dss:DeviceSetLocationResponse"))
- { *type = SOAP_TYPE_dss__DeviceSetLocationResponse;
- return soap_in_dss__DeviceSetLocationResponse(soap, NULL, NULL, NULL);
- }
- if (!soap_match_tag(soap, t, "DeviceLocation"))
- { *type = SOAP_TYPE_DeviceLocation;
- return soap_in_DeviceLocation(soap, NULL, NULL, NULL);
- }
if (!soap_match_tag(soap, t, "dss:DeviceGetZoneID"))
{ *type = SOAP_TYPE_dss__DeviceGetZoneID;
return soap_in_dss__DeviceGetZoneID(soap, NULL, NULL, NULL);
@@ -1430,6 +1436,8 @@
return soap_out_unsignedLONG64(soap, tag, id, (const ULONG64 *)ptr, "xsd:unsignedLong");
case SOAP_TYPE_bool:
return soap_out_bool(soap, tag, id, (const bool *)ptr, "xsd:boolean");
+ case SOAP_TYPE_dss__Event:
+ return ((dss__Event *)ptr)->soap_out(soap, tag, id, "dss:Event");
case SOAP_TYPE_std__string:
return soap_out_std__string(soap, tag, id, (const std::string *)ptr, "xsd:string");
case SOAP_TYPE_dss__PropertyGetChildren:
@@ -1464,6 +1472,14 @@
return soap_out_dss__PropertyGetType(soap, tag, id, (const struct dss__PropertyGetType *)ptr, "dss:PropertyGetType");
case SOAP_TYPE_dss__PropertyGetTypeResponse:
return soap_out_dss__PropertyGetTypeResponse(soap, tag, id, (const struct dss__PropertyGetTypeResponse *)ptr, "dss:PropertyGetTypeResponse");
+ case SOAP_TYPE_dss__EventSubscribeTo:
+ return soap_out_dss__EventSubscribeTo(soap, tag, id, (const struct dss__EventSubscribeTo *)ptr, "dss:EventSubscribeTo");
+ case SOAP_TYPE_dss__EventSubscribeToResponse:
+ return soap_out_dss__EventSubscribeToResponse(soap, tag, id, (const struct dss__EventSubscribeToResponse *)ptr, "dss:EventSubscribeToResponse");
+ case SOAP_TYPE_dss__EventWaitFor:
+ return soap_out_dss__EventWaitFor(soap, tag, id, (const struct dss__EventWaitFor *)ptr, "dss:EventWaitFor");
+ case SOAP_TYPE_dss__EventWaitForResponse:
+ return soap_out_dss__EventWaitForResponse(soap, tag, id, (const struct dss__EventWaitForResponse *)ptr, "dss:EventWaitForResponse");
case SOAP_TYPE_dss__EventRaise:
return soap_out_dss__EventRaise(soap, tag, id, (const struct dss__EventRaise *)ptr, "dss:EventRaise");
case SOAP_TYPE_dss__EventRaiseResponse:
@@ -1524,14 +1540,6 @@
return soap_out_dss__ModulatorGetPowerConsumption(soap, tag, id, (const struct dss__ModulatorGetPowerConsumption *)ptr, "dss:ModulatorGetPowerConsumption");
case SOAP_TYPE_dss__ModulatorGetPowerConsumptionResponse:
return soap_out_dss__ModulatorGetPowerConsumptionResponse(soap, tag, id, (const struct dss__ModulatorGetPowerConsumptionResponse *)ptr, "dss:ModulatorGetPowerConsumptionResponse");
- case SOAP_TYPE_dss__DeviceGetLocation:
- return soap_out_dss__DeviceGetLocation(soap, tag, id, (const struct dss__DeviceGetLocation *)ptr, "dss:DeviceGetLocation");
- case SOAP_TYPE_dss__DeviceSetLocation:
- return soap_out_dss__DeviceSetLocation(soap, tag, id, (const struct dss__DeviceSetLocation *)ptr, "dss:DeviceSetLocation");
- case SOAP_TYPE_dss__DeviceSetLocationResponse:
- return soap_out_dss__DeviceSetLocationResponse(soap, tag, id, (const struct dss__DeviceSetLocationResponse *)ptr, "dss:DeviceSetLocationResponse");
- case SOAP_TYPE_DeviceLocation:
- return soap_out_DeviceLocation(soap, tag, id, (const struct DeviceLocation *)ptr, "DeviceLocation");
case SOAP_TYPE_dss__DeviceGetZoneID:
return soap_out_dss__DeviceGetZoneID(soap, tag, id, (const struct dss__DeviceGetZoneID *)ptr, "dss:DeviceGetZoneID");
case SOAP_TYPE_dss__DeviceGetZoneIDResponse:
@@ -1821,6 +1829,9 @@
(void)soap; (void)ptr; (void)type; /* appease -Wall -Werror */
switch (type)
{
+ case SOAP_TYPE_dss__Event:
+ ((dss__Event *)ptr)->soap_serialize(soap);
+ break;
case SOAP_TYPE_std__string:
soap_serialize_std__string(soap, (const std::string *)ptr);
break;
@@ -1872,6 +1883,18 @@
case SOAP_TYPE_dss__PropertyGetTypeResponse:
soap_serialize_dss__PropertyGetTypeResponse(soap, (const struct dss__PropertyGetTypeResponse *)ptr);
break;
+ case SOAP_TYPE_dss__EventSubscribeTo:
+ soap_serialize_dss__EventSubscribeTo(soap, (const struct dss__EventSubscribeTo *)ptr);
+ break;
+ case SOAP_TYPE_dss__EventSubscribeToResponse:
+ soap_serialize_dss__EventSubscribeToResponse(soap, (const struct dss__EventSubscribeToResponse *)ptr);
+ break;
+ case SOAP_TYPE_dss__EventWaitFor:
+ soap_serialize_dss__EventWaitFor(soap, (const struct dss__EventWaitFor *)ptr);
+ break;
+ case SOAP_TYPE_dss__EventWaitForResponse:
+ soap_serialize_dss__EventWaitForResponse(soap, (const struct dss__EventWaitForResponse *)ptr);
+ break;
case SOAP_TYPE_dss__EventRaise:
soap_serialize_dss__EventRaise(soap, (const struct dss__EventRaise *)ptr);
break;
@@ -1962,18 +1985,6 @@
case SOAP_TYPE_dss__ModulatorGetPowerConsumptionResponse:
soap_serialize_dss__ModulatorGetPowerConsumptionResponse(soap, (const struct dss__ModulatorGetPowerConsumptionResponse *)ptr);
break;
- case SOAP_TYPE_dss__DeviceGetLocation:
- soap_serialize_dss__DeviceGetLocation(soap, (const struct dss__DeviceGetLocation *)ptr);
- break;
- case SOAP_TYPE_dss__DeviceSetLocation:
- soap_serialize_dss__DeviceSetLocation(soap, (const struct dss__DeviceSetLocation *)ptr);
- break;
- case SOAP_TYPE_dss__DeviceSetLocationResponse:
- soap_serialize_dss__DeviceSetLocationResponse(soap, (const struct dss__DeviceSetLocationResponse *)ptr);
- break;
- case SOAP_TYPE_DeviceLocation:
- soap_serialize_DeviceLocation(soap, (const struct DeviceLocation *)ptr);
- break;
case SOAP_TYPE_dss__DeviceGetZoneID:
soap_serialize_dss__DeviceGetZoneID(soap, (const struct dss__DeviceGetZoneID *)ptr);
break;
@@ -2657,14 +2668,6 @@
return (void*)soap_instantiate_dss__DeviceGetZoneIDResponse(soap, -1, type, arrayType, n);
case SOAP_TYPE_dss__DeviceGetZoneID:
return (void*)soap_instantiate_dss__DeviceGetZoneID(soap, -1, type, arrayType, n);
- case SOAP_TYPE_DeviceLocation:
- return (void*)soap_instantiate_DeviceLocation(soap, -1, type, arrayType, n);
- case SOAP_TYPE_dss__DeviceSetLocationResponse:
- return (void*)soap_instantiate_dss__DeviceSetLocationResponse(soap, -1, type, arrayType, n);
- case SOAP_TYPE_dss__DeviceSetLocation:
- return (void*)soap_instantiate_dss__DeviceSetLocation(soap, -1, type, arrayType, n);
- case SOAP_TYPE_dss__DeviceGetLocation:
- return (void*)soap_instantiate_dss__DeviceGetLocation(soap, -1, type, arrayType, n);
case SOAP_TYPE_dss__ModulatorGetPowerConsumptionResponse:
return (void*)soap_instantiate_dss__ModulatorGetPowerConsumptionResponse(soap, -1, type, arrayType, n);
case SOAP_TYPE_dss__ModulatorGetPowerConsumption:
@@ -2721,10 +2724,20 @@
return (void*)soap_instantiate_dss__SwitchGetGroupIDResponse(soap, -1, type, arrayType, n);
case SOAP_TYPE_dss__SwitchGetGroupID:
return (void*)soap_instantiate_dss__SwitchGetGroupID(soap, -1, type, arrayType, n);
+ case SOAP_TYPE_dss__Event:
+ return (void*)soap_instantiate_dss__Event(soap, -1, type, arrayType, n);
case SOAP_TYPE_dss__EventRaiseResponse:
return (void*)soap_instantiate_dss__EventRaiseResponse(soap, -1, type, arrayType, n);
case SOAP_TYPE_dss__EventRaise:
return (void*)soap_instantiate_dss__EventRaise(soap, -1, type, arrayType, n);
+ case SOAP_TYPE_dss__EventWaitForResponse:
+ return (void*)soap_instantiate_dss__EventWaitForResponse(soap, -1, type, arrayType, n);
+ case SOAP_TYPE_dss__EventWaitFor:
+ return (void*)soap_instantiate_dss__EventWaitFor(soap, -1, type, arrayType, n);
+ case SOAP_TYPE_dss__EventSubscribeToResponse:
+ return (void*)soap_instantiate_dss__EventSubscribeToResponse(soap, -1, type, arrayType, n);
+ case SOAP_TYPE_dss__EventSubscribeTo:
+ return (void*)soap_instantiate_dss__EventSubscribeTo(soap, -1, type, arrayType, n);
case SOAP_TYPE_dss__PropertyGetTypeResponse:
return (void*)soap_instantiate_dss__PropertyGetTypeResponse(soap, -1, type, arrayType, n);
case SOAP_TYPE_dss__PropertyGetType:
@@ -2777,6 +2790,8 @@
case SOAP_TYPE_SOAP_ENV__Fault:
return (void*)soap_instantiate_SOAP_ENV__Fault(soap, -1, type, arrayType, n);
#endif
+ case SOAP_TYPE_std__vectorTemplateOfdss__Event:
+ return (void*)soap_instantiate_std__vectorTemplateOfdss__Event(soap, -1, type, arrayType, n);
case SOAP_TYPE_std__vectorTemplateOfint:
return (void*)soap_instantiate_std__vectorTemplateOfint(soap, -1, type, arrayType, n);
case SOAP_TYPE_std__vectorTemplateOfstd__string:
@@ -3586,30 +3601,6 @@
else
delete[] (struct dss__DeviceGetZoneID*)p->ptr;
break;
- case SOAP_TYPE_DeviceLocation:
- if (p->size < 0)
- delete (struct DeviceLocation*)p->ptr;
- else
- delete[] (struct DeviceLocation*)p->ptr;
- break;
- case SOAP_TYPE_dss__DeviceSetLocationResponse:
- if (p->size < 0)
- delete (struct dss__DeviceSetLocationResponse*)p->ptr;
- else
- delete[] (struct dss__DeviceSetLocationResponse*)p->ptr;
- break;
- case SOAP_TYPE_dss__DeviceSetLocation:
- if (p->size < 0)
- delete (struct dss__DeviceSetLocation*)p->ptr;
- else
- delete[] (struct dss__DeviceSetLocation*)p->ptr;
- break;
- case SOAP_TYPE_dss__DeviceGetLocation:
- if (p->size < 0)
- delete (struct dss__DeviceGetLocation*)p->ptr;
- else
- delete[] (struct dss__DeviceGetLocation*)p->ptr;
- break;
case SOAP_TYPE_dss__ModulatorGetPowerConsumptionResponse:
if (p->size < 0)
delete (struct dss__ModulatorGetPowerConsumptionResponse*)p->ptr;
@@ -3778,6 +3769,12 @@
else
delete[] (struct dss__SwitchGetGroupID*)p->ptr;
break;
+ case SOAP_TYPE_dss__Event:
+ if (p->size < 0)
+ delete (dss__Event*)p->ptr;
+ else
+ delete[] (dss__Event*)p->ptr;
+ break;
case SOAP_TYPE_dss__EventRaiseResponse:
if (p->size < 0)
delete (struct dss__EventRaiseResponse*)p->ptr;
@@ -3790,6 +3787,30 @@
else
delete[] (struct dss__EventRaise*)p->ptr;
break;
+ case SOAP_TYPE_dss__EventWaitForResponse:
+ if (p->size < 0)
+ delete (struct dss__EventWaitForResponse*)p->ptr;
+ else
+ delete[] (struct dss__EventWaitForResponse*)p->ptr;
+ break;
+ case SOAP_TYPE_dss__EventWaitFor:
+ if (p->size < 0)
+ delete (struct dss__EventWaitFor*)p->ptr;
+ else
+ delete[] (struct dss__EventWaitFor*)p->ptr;
+ break;
+ case SOAP_TYPE_dss__EventSubscribeToResponse:
+ if (p->size < 0)
+ delete (struct dss__EventSubscribeToResponse*)p->ptr;
+ else
+ delete[] (struct dss__EventSubscribeToResponse*)p->ptr;
+ break;
+ case SOAP_TYPE_dss__EventSubscribeTo:
+ if (p->size < 0)
+ delete (struct dss__EventSubscribeTo*)p->ptr;
+ else
+ delete[] (struct dss__EventSubscribeTo*)p->ptr;
+ break;
case SOAP_TYPE_dss__PropertyGetTypeResponse:
if (p->size < 0)
delete (struct dss__PropertyGetTypeResponse*)p->ptr;
@@ -3916,6 +3937,12 @@
else
delete[] (struct SOAP_ENV__Fault*)p->ptr;
break;
+ case SOAP_TYPE_std__vectorTemplateOfdss__Event:
+ if (p->size < 0)
+ delete (std::vector<dss__Event >*)p->ptr;
+ else
+ delete[] (std::vector<dss__Event >*)p->ptr;
+ break;
case SOAP_TYPE_std__vectorTemplateOfint:
if (p->size < 0)
delete (std::vector<int >*)p->ptr;
@@ -3944,6 +3971,10 @@
SOAP_FMAC3 void SOAP_FMAC4 soap_container_insert(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
{ switch (tt)
{
+ case SOAP_TYPE_std__vectorTemplateOfdss__Event:
+ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Container insert type=%d in %d location=%p object=%p len=%lu\n", st, tt, p, q, (unsigned long)len));
+ (*(std::vector<dss__Event >*)p)[len] = *(dss__Event *)q;
+ break;
case SOAP_TYPE_std__vectorTemplateOfint:
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Container insert type=%d in %d location=%p object=%p len=%lu\n", st, tt, p, q, (unsigned long)len));
(*(std::vector<int >*)p)[len] = *(int *)q;
@@ -4378,6 +4409,148 @@
return a;
}
+void dss__Event::soap_default(struct soap *soap)
+{
+ (void)soap; /* appease -Wall -Werror */
+ soap_default_std__string(soap, &this->dss__Event::name);
+ soap_default_std__vectorTemplateOfstd__string(soap, &this->dss__Event::parameter);
+}
+
+void dss__Event::soap_serialize(struct soap *soap) const
+{
+ (void)soap; /* appease -Wall -Werror */
+ soap_serialize_std__string(soap, &this->dss__Event::name);
+ soap_serialize_std__vectorTemplateOfstd__string(soap, &this->dss__Event::parameter);
+}
+
+int dss__Event::soap_put(struct soap *soap, const char *tag, const char *type) const
+{
+ register int id = soap_embed(soap, (void*)this, NULL, 0, tag, SOAP_TYPE_dss__Event);
+ if (this->soap_out(soap, tag, id, type))
+ return soap->error;
+ return soap_putindependent(soap);
+}
+
+int dss__Event::soap_out(struct soap *soap, const char *tag, int id, const char *type) const
+{
+ return soap_out_dss__Event(soap, tag, id, this, type);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_dss__Event(struct soap *soap, const char *tag, int id, const dss__Event *a, const char *type)
+{
+ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_dss__Event), type))
+ return soap->error;
+ if (soap_out_std__string(soap, "name", -1, &(a->dss__Event::name), ""))
+ return soap->error;
+ if (soap_out_std__vectorTemplateOfstd__string(soap, "parameter", -1, &(a->dss__Event::parameter), ""))
+ return soap->error;
+ return soap_element_end_out(soap, tag);
+}
+
+void *dss__Event::soap_get(struct soap *soap, const char *tag, const char *type)
+{
+ return soap_get_dss__Event(soap, this, tag, type);
+}
+
+SOAP_FMAC3 dss__Event * SOAP_FMAC4 soap_get_dss__Event(struct soap *soap, dss__Event *p, const char *tag, const char *type)
+{
+ if ((p = soap_in_dss__Event(soap, tag, p, type)))
+ if (soap_getindependent(soap))
+ return NULL;
+ return p;
+}
+
+void *dss__Event::soap_in(struct soap *soap, const char *tag, const char *type)
+{ return soap_in_dss__Event(soap, tag, this, type);
+}
+
+SOAP_FMAC3 dss__Event * SOAP_FMAC4 soap_in_dss__Event(struct soap *soap, const char *tag, dss__Event *a, const char *type)
+{
+ if (soap_element_begin_in(soap, tag, 0, NULL))
+ return NULL;
+ a = (dss__Event *)soap_class_id_enter(soap, soap->id, a, SOAP_TYPE_dss__Event, sizeof(dss__Event), soap->type, soap->arrayType);
+ if (!a)
+ return NULL;
+ if (soap->alloced)
+ { a->soap_default(soap);
+ if (soap->clist->type != SOAP_TYPE_dss__Event)
+ { soap_revert(soap);
+ *soap->id = '\0';
+ return (dss__Event *)a->soap_in(soap, tag, type);
+ }
+ }
+ short soap_flag_name1 = 1;
+ if (soap->body && !*soap->href)
+ {
+ for (;;)
+ { soap->error = SOAP_TAG_MISMATCH;
+ if (soap_flag_name1 && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+ if (soap_in_std__string(soap, "name", &(a->dss__Event::name), "xsd:string"))
+ { soap_flag_name1--;
+ continue;
+ }
+ if (soap->error == SOAP_TAG_MISMATCH)
+ if (soap_in_std__vectorTemplateOfstd__string(soap, "parameter", &(a->dss__Event::parameter), "xsd:string"))
+ 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 = (dss__Event *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__Event, 0, sizeof(dss__Event), 0, soap_copy_dss__Event);
+ if (soap->body && soap_element_end_in(soap, tag))
+ return NULL;
+ }
+ if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_name1 > 0))
+ { soap->error = SOAP_OCCURS;
+ return NULL;
+ }
+ return a;
+}
+
+SOAP_FMAC5 dss__Event * SOAP_FMAC6 soap_new_dss__Event(struct soap *soap, int n)
+{ return soap_instantiate_dss__Event(soap, n, NULL, NULL, NULL);
+}
+
+SOAP_FMAC5 void SOAP_FMAC6 soap_delete_dss__Event(struct soap *soap, dss__Event *p)
+{ soap_delete(soap, p);
+}
+
+SOAP_FMAC3 dss__Event * SOAP_FMAC4 soap_instantiate_dss__Event(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
+{
+ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_dss__Event(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
+ struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_dss__Event, n, soap_fdelete);
+ if (!cp)
+ return NULL;
+ if (n < 0)
+ { cp->ptr = (void*)new dss__Event;
+ if (size)
+ *size = sizeof(dss__Event);
+ }
+ else
+ { cp->ptr = (void*)new dss__Event[n];
+ if (!cp->ptr)
+ { soap->error = SOAP_EOM;
+ return NULL;
+ }
+ if (size)
+ *size = n * sizeof(dss__Event);
+ }
+ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
+ return (dss__Event*)cp->ptr;
+}
+SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__Event(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
+{
+ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying dss__Event %p -> %p\n", q, p));
+ *(dss__Event*)p = *(dss__Event*)q;
+}
+
SOAP_FMAC3 void SOAP_FMAC4 soap_default_std__string(struct soap *soap, std::string *p)
{ (void)soap; /* appease -Wall -Werror */
p->erase();
@@ -4423,13 +4596,11 @@
if (soap->body && !*soap->href)
{ char *t;
s = (std::string*)soap_class_id_enter(soap, soap->id, s, SOAP_TYPE_std__string, sizeof(std::string), soap->type, soap->arrayType);
- if (s)
- {
+ if (s)
if ((t = soap_string_in(soap, 1, -1, -1)))
s->assign(t);
else
return NULL;
- }
}
else
s = (std::string*)soap_id_forward(soap, soap->href, soap_class_id_enter(soap, soap->id, s, SOAP_TYPE_std__string, sizeof(std::string), soap->type, soap->arrayType), 0, SOAP_TYPE_std__string, 0, sizeof(std::string), 0, soap_copy_std__string);
@@ -7051,6 +7222,470 @@
*(struct dss__PropertyGetTypeResponse*)p = *(struct dss__PropertyGetTypeResponse*)q;
}
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__EventSubscribeTo(struct soap *soap, struct dss__EventSubscribeTo *a)
+{
+ (void)soap; (void)a; /* appease -Wall -Werror */
+ soap_default_int(soap, &a->_token);
+ soap_default_std__string(soap, &a->_name);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__EventSubscribeTo(struct soap *soap, const struct dss__EventSubscribeTo *a)
+{
+ (void)soap; (void)a; /* appease -Wall -Werror */
+ soap_serialize_std__string(soap, &a->_name);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__EventSubscribeTo(struct soap *soap, const struct dss__EventSubscribeTo *a, const char *tag, const char *type)
+{
+ register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_dss__EventSubscribeTo);
+ if (soap_out_dss__EventSubscribeTo(soap, tag, id, a, type))
+ return soap->error;
+ return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_dss__EventSubscribeTo(struct soap *soap, const char *tag, int id, const struct dss__EventSubscribeTo *a, const char *type)
+{
+ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_dss__EventSubscribeTo), type))
+ return soap->error;
+ if (soap_out_int(soap, "token", -1, &a->_token, ""))
+ return soap->error;
+ if (soap_out_std__string(soap, "name", -1, &a->_name, ""))
+ return soap->error;
+ return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct dss__EventSubscribeTo * SOAP_FMAC4 soap_get_dss__EventSubscribeTo(struct soap *soap, struct dss__EventSubscribeTo *p, const char *tag, const char *type)
+{
+ if ((p = soap_in_dss__EventSubscribeTo(soap, tag, p, type)))
+ if (soap_getindependent(soap))
+ return NULL;
+ return p;
+}
+
+SOAP_FMAC3 struct dss__EventSubscribeTo * SOAP_FMAC4 soap_in_dss__EventSubscribeTo(struct soap *soap, const char *tag, struct dss__EventSubscribeTo *a, const char *type)
+{
+ short soap_flag__token = 1, soap_flag__name = 1;
+ if (soap_element_begin_in(soap, tag, 0, type))
+ return NULL;
+ a = (struct dss__EventSubscribeTo *)soap_class_id_enter(soap, soap->id, a, SOAP_TYPE_dss__EventSubscribeTo, sizeof(struct dss__EventSubscribeTo), soap->type, soap->arrayType);
+ if (!a)
+ return NULL;
+ soap_default_dss__EventSubscribeTo(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__name && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+ if (soap_in_std__string(soap, NULL, &a->_name, "xsd:string"))
+ { soap_flag__name--;
+ 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__EventSubscribeTo *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__EventSubscribeTo, 0, sizeof(struct dss__EventSubscribeTo), 0, soap_copy_dss__EventSubscribeTo);
+ if (soap->body && soap_element_end_in(soap, tag))
+ return NULL;
+ }
+ if ((soap->mode & SOAP_XML_STRICT) && (soap_flag__token > 0 || soap_flag__name > 0))
+ { soap->error = SOAP_OCCURS;
+ return NULL;
+ }
+ return a;
+}
+
+SOAP_FMAC5 struct dss__EventSubscribeTo * SOAP_FMAC6 soap_new_dss__EventSubscribeTo(struct soap *soap, int n)
+{ return soap_instantiate_dss__EventSubscribeTo(soap, n, NULL, NULL, NULL);
+}
+
+SOAP_FMAC5 void SOAP_FMAC6 soap_delete_dss__EventSubscribeTo(struct soap *soap, struct dss__EventSubscribeTo *p)
+{ soap_delete(soap, p);
+}
+
+SOAP_FMAC3 struct dss__EventSubscribeTo * SOAP_FMAC4 soap_instantiate_dss__EventSubscribeTo(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
+{
+ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_dss__EventSubscribeTo(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
+ struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_dss__EventSubscribeTo, n, soap_fdelete);
+ if (!cp)
+ return NULL;
+ if (n < 0)
+ { cp->ptr = (void*)new struct dss__EventSubscribeTo;
+ if (size)
+ *size = sizeof(struct dss__EventSubscribeTo);
+ }
+ else
+ { cp->ptr = (void*)new struct dss__EventSubscribeTo[n];
+ if (!cp->ptr)
+ { soap->error = SOAP_EOM;
+ return NULL;
+ }
+ if (size)
+ *size = n * sizeof(struct dss__EventSubscribeTo);
+ }
+ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
+ return (struct dss__EventSubscribeTo*)cp->ptr;
+}
+SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__EventSubscribeTo(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__EventSubscribeTo %p -> %p\n", q, p));
+ *(struct dss__EventSubscribeTo*)p = *(struct dss__EventSubscribeTo*)q;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__EventSubscribeToResponse(struct soap *soap, struct dss__EventSubscribeToResponse *a)
+{
+ (void)soap; (void)a; /* appease -Wall -Werror */
+ soap_default_std__string(soap, &a->result);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__EventSubscribeToResponse(struct soap *soap, const struct dss__EventSubscribeToResponse *a)
+{
+ (void)soap; (void)a; /* appease -Wall -Werror */
+ soap_serialize_std__string(soap, &a->result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__EventSubscribeToResponse(struct soap *soap, const struct dss__EventSubscribeToResponse *a, const char *tag, const char *type)
+{
+ register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_dss__EventSubscribeToResponse);
+ if (soap_out_dss__EventSubscribeToResponse(soap, tag, id, a, type))
+ return soap->error;
+ return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_dss__EventSubscribeToResponse(struct soap *soap, const char *tag, int id, const struct dss__EventSubscribeToResponse *a, const char *type)
+{
+ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_dss__EventSubscribeToResponse), type))
+ return soap->error;
+ if (soap_out_std__string(soap, "result", -1, &a->result, ""))
+ return soap->error;
+ return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct dss__EventSubscribeToResponse * SOAP_FMAC4 soap_get_dss__EventSubscribeToResponse(struct soap *soap, struct dss__EventSubscribeToResponse *p, const char *tag, const char *type)
+{
+ if ((p = soap_in_dss__EventSubscribeToResponse(soap, tag, p, type)))
+ if (soap_getindependent(soap))
+ return NULL;
+ return p;
+}
+
+SOAP_FMAC3 struct dss__EventSubscribeToResponse * SOAP_FMAC4 soap_in_dss__EventSubscribeToResponse(struct soap *soap, const char *tag, struct dss__EventSubscribeToResponse *a, const char *type)
+{
+ short soap_flag_result = 1;
+ if (soap_element_begin_in(soap, tag, 0, type))
+ return NULL;
+ a = (struct dss__EventSubscribeToResponse *)soap_class_id_enter(soap, soap->id, a, SOAP_TYPE_dss__EventSubscribeToResponse, sizeof(struct dss__EventSubscribeToResponse), soap->type, soap->arrayType);
+ if (!a)
+ return NULL;
+ soap_default_dss__EventSubscribeToResponse(soap, a);
+ if (soap->body && !*soap->href)
+ {
+ for (;;)
+ { soap->error = SOAP_TAG_MISMATCH;
+ 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)
+ 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__EventSubscribeToResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__EventSubscribeToResponse, 0, sizeof(struct dss__EventSubscribeToResponse), 0, soap_copy_dss__EventSubscribeToResponse);
+ 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__EventSubscribeToResponse * SOAP_FMAC6 soap_new_dss__EventSubscribeToResponse(struct soap *soap, int n)
+{ return soap_instantiate_dss__EventSubscribeToResponse(soap, n, NULL, NULL, NULL);
+}
+
+SOAP_FMAC5 void SOAP_FMAC6 soap_delete_dss__EventSubscribeToResponse(struct soap *soap, struct dss__EventSubscribeToResponse *p)
+{ soap_delete(soap, p);
+}
+
+SOAP_FMAC3 struct dss__EventSubscribeToResponse * SOAP_FMAC4 soap_instantiate_dss__EventSubscribeToResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
+{
+ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_dss__EventSubscribeToResponse(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
+ struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_dss__EventSubscribeToResponse, n, soap_fdelete);
+ if (!cp)
+ return NULL;
+ if (n < 0)
+ { cp->ptr = (void*)new struct dss__EventSubscribeToResponse;
+ if (size)
+ *size = sizeof(struct dss__EventSubscribeToResponse);
+ }
+ else
+ { cp->ptr = (void*)new struct dss__EventSubscribeToResponse[n];
+ if (!cp->ptr)
+ { soap->error = SOAP_EOM;
+ return NULL;
+ }
+ if (size)
+ *size = n * sizeof(struct dss__EventSubscribeToResponse);
+ }
+ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
+ return (struct dss__EventSubscribeToResponse*)cp->ptr;
+}
+SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__EventSubscribeToResponse(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__EventSubscribeToResponse %p -> %p\n", q, p));
+ *(struct dss__EventSubscribeToResponse*)p = *(struct dss__EventSubscribeToResponse*)q;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__EventWaitFor(struct soap *soap, struct dss__EventWaitFor *a)
+{
+ (void)soap; (void)a; /* appease -Wall -Werror */
+ soap_default_int(soap, &a->_token);
+ soap_default_int(soap, &a->_timeout);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__EventWaitFor(struct soap *soap, const struct dss__EventWaitFor *a)
+{
+ (void)soap; (void)a; /* appease -Wall -Werror */
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__EventWaitFor(struct soap *soap, const struct dss__EventWaitFor *a, const char *tag, const char *type)
+{
+ register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_dss__EventWaitFor);
+ if (soap_out_dss__EventWaitFor(soap, tag, id, a, type))
+ return soap->error;
+ return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_dss__EventWaitFor(struct soap *soap, const char *tag, int id, const struct dss__EventWaitFor *a, const char *type)
+{
+ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_dss__EventWaitFor), type))
+ return soap->error;
+ if (soap_out_int(soap, "token", -1, &a->_token, ""))
+ return soap->error;
+ if (soap_out_int(soap, "timeout", -1, &a->_timeout, ""))
+ return soap->error;
+ return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct dss__EventWaitFor * SOAP_FMAC4 soap_get_dss__EventWaitFor(struct soap *soap, struct dss__EventWaitFor *p, const char *tag, const char *type)
+{
+ if ((p = soap_in_dss__EventWaitFor(soap, tag, p, type)))
+ if (soap_getindependent(soap))
+ return NULL;
+ return p;
+}
+
+SOAP_FMAC3 struct dss__EventWaitFor * SOAP_FMAC4 soap_in_dss__EventWaitFor(struct soap *soap, const char *tag, struct dss__EventWaitFor *a, const char *type)
+{
+ short soap_flag__token = 1, soap_flag__timeout = 1;
+ if (soap_element_begin_in(soap, tag, 0, type))
+ return NULL;
+ a = (struct dss__EventWaitFor *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__EventWaitFor, sizeof(struct dss__EventWaitFor), 0, NULL, NULL, NULL);
+ if (!a)
+ return NULL;
+ soap_default_dss__EventWaitFor(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__timeout && soap->error == SOAP_TAG_MISMATCH)
+ if (soap_in_int(soap, NULL, &a->_timeout, "xsd:int"))
+ { soap_flag__timeout--;
+ 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__EventWaitFor *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__EventWaitFor, 0, sizeof(struct dss__EventWaitFor), 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__timeout > 0))
+ { soap->error = SOAP_OCCURS;
+ return NULL;
+ }
+ return a;
+}
+
+SOAP_FMAC5 struct dss__EventWaitFor * SOAP_FMAC6 soap_new_dss__EventWaitFor(struct soap *soap, int n)
+{ return soap_instantiate_dss__EventWaitFor(soap, n, NULL, NULL, NULL);
+}
+
+SOAP_FMAC5 void SOAP_FMAC6 soap_delete_dss__EventWaitFor(struct soap *soap, struct dss__EventWaitFor *p)
+{ soap_delete(soap, p);
+}
+
+SOAP_FMAC3 struct dss__EventWaitFor * SOAP_FMAC4 soap_instantiate_dss__EventWaitFor(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
+{
+ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_dss__EventWaitFor(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
+ struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_dss__EventWaitFor, n, soap_fdelete);
+ if (!cp)
+ return NULL;
+ if (n < 0)
+ { cp->ptr = (void*)new struct dss__EventWaitFor;
+ if (size)
+ *size = sizeof(struct dss__EventWaitFor);
+ }
+ else
+ { cp->ptr = (void*)new struct dss__EventWaitFor[n];
+ if (!cp->ptr)
+ { soap->error = SOAP_EOM;
+ return NULL;
+ }
+ if (size)
+ *size = n * sizeof(struct dss__EventWaitFor);
+ }
+ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
+ return (struct dss__EventWaitFor*)cp->ptr;
+}
+SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__EventWaitFor(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__EventWaitFor %p -> %p\n", q, p));
+ *(struct dss__EventWaitFor*)p = *(struct dss__EventWaitFor*)q;
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__EventWaitForResponse(struct soap *soap, struct dss__EventWaitForResponse *a)
+{
+ (void)soap; (void)a; /* appease -Wall -Werror */
+ soap_default_std__vectorTemplateOfdss__Event(soap, &a->result);
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__EventWaitForResponse(struct soap *soap, const struct dss__EventWaitForResponse *a)
+{
+ (void)soap; (void)a; /* appease -Wall -Werror */
+ soap_serialize_std__vectorTemplateOfdss__Event(soap, &a->result);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__EventWaitForResponse(struct soap *soap, const struct dss__EventWaitForResponse *a, const char *tag, const char *type)
+{
+ register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_dss__EventWaitForResponse);
+ if (soap_out_dss__EventWaitForResponse(soap, tag, id, a, type))
+ return soap->error;
+ return soap_putindependent(soap);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_dss__EventWaitForResponse(struct soap *soap, const char *tag, int id, const struct dss__EventWaitForResponse *a, const char *type)
+{
+ if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_dss__EventWaitForResponse), type))
+ return soap->error;
+ if (soap_out_std__vectorTemplateOfdss__Event(soap, "result", -1, &a->result, ""))
+ return soap->error;
+ return soap_element_end_out(soap, tag);
+}
+
+SOAP_FMAC3 struct dss__EventWaitForResponse * SOAP_FMAC4 soap_get_dss__EventWaitForResponse(struct soap *soap, struct dss__EventWaitForResponse *p, const char *tag, const char *type)
+{
+ if ((p = soap_in_dss__EventWaitForResponse(soap, tag, p, type)))
+ if (soap_getindependent(soap))
+ return NULL;
+ return p;
+}
+
+SOAP_FMAC3 struct dss__EventWaitForResponse * SOAP_FMAC4 soap_in_dss__EventWaitForResponse(struct soap *soap, const char *tag, struct dss__EventWaitForResponse *a, const char *type)
+{
+ if (soap_element_begin_in(soap, tag, 0, type))
+ return NULL;
+ a = (struct dss__EventWaitForResponse *)soap_class_id_enter(soap, soap->id, a, SOAP_TYPE_dss__EventWaitForResponse, sizeof(struct dss__EventWaitForResponse), soap->type, soap->arrayType);
+ if (!a)
+ return NULL;
+ soap_default_dss__EventWaitForResponse(soap, a);
+ if (soap->body && !*soap->href)
+ {
+ for (;;)
+ { soap->error = SOAP_TAG_MISMATCH;
+ if (soap->error == SOAP_TAG_MISMATCH)
+ if (soap_in_std__vectorTemplateOfdss__Event(soap, "result", &a->result, "dss:Event"))
+ 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__EventWaitForResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__EventWaitForResponse, 0, sizeof(struct dss__EventWaitForResponse), 0, soap_copy_dss__EventWaitForResponse);
+ if (soap->body && soap_element_end_in(soap, tag))
+ return NULL;
+ }
+ return a;
+}
+
+SOAP_FMAC5 struct dss__EventWaitForResponse * SOAP_FMAC6 soap_new_dss__EventWaitForResponse(struct soap *soap, int n)
+{ return soap_instantiate_dss__EventWaitForResponse(soap, n, NULL, NULL, NULL);
+}
+
+SOAP_FMAC5 void SOAP_FMAC6 soap_delete_dss__EventWaitForResponse(struct soap *soap, struct dss__EventWaitForResponse *p)
+{ soap_delete(soap, p);
+}
+
+SOAP_FMAC3 struct dss__EventWaitForResponse * SOAP_FMAC4 soap_instantiate_dss__EventWaitForResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
+{
+ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_dss__EventWaitForResponse(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
+ struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_dss__EventWaitForResponse, n, soap_fdelete);
+ if (!cp)
+ return NULL;
+ if (n < 0)
+ { cp->ptr = (void*)new struct dss__EventWaitForResponse;
+ if (size)
+ *size = sizeof(struct dss__EventWaitForResponse);
+ }
+ else
+ { cp->ptr = (void*)new struct dss__EventWaitForResponse[n];
+ if (!cp->ptr)
+ { soap->error = SOAP_EOM;
+ return NULL;
+ }
+ if (size)
+ *size = n * sizeof(struct dss__EventWaitForResponse);
+ }
+ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
+ return (struct dss__EventWaitForResponse*)cp->ptr;
+}
+SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__EventWaitForResponse(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__EventWaitForResponse %p -> %p\n", q, p));
+ *(struct dss__EventWaitForResponse*)p = *(struct dss__EventWaitForResponse*)q;
+}
+
SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__EventRaise(struct soap *soap, struct dss__EventRaise *a)
{
(void)soap; (void)a; /* appease -Wall -Werror */
@@ -10608,501 +11243,6 @@
*(struct dss__ModulatorGetPowerConsumptionResponse*)p = *(struct dss__ModulatorGetPowerConsumptionResponse*)q;
}
-SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceGetLocation(struct soap *soap, struct dss__DeviceGetLocation *a)
-{
- (void)soap; (void)a; /* appease -Wall -Werror */
- soap_default_int(soap, &a->_token);
- soap_default_string(soap, &a->_deviceID);
-}
-
-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceGetLocation(struct soap *soap, const struct dss__DeviceGetLocation *a)
-{
- (void)soap; (void)a; /* appease -Wall -Werror */
- soap_serialize_string(soap, &a->_deviceID);
-}
-
-SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__DeviceGetLocation(struct soap *soap, const struct dss__DeviceGetLocation *a, const char *tag, const char *type)
-{
- register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_dss__DeviceGetLocation);
- if (soap_out_dss__DeviceGetLocation(soap, tag, id, a, type))
- return soap->error;
- return soap_putindependent(soap);
-}
-
-SOAP_FMAC3 int SOAP_FMAC4 soap_out_dss__DeviceGetLocation(struct soap *soap, const char *tag, int id, const struct dss__DeviceGetLocation *a, const char *type)
-{
- if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_dss__DeviceGetLocation), type))
- return soap->error;
- if (soap_out_int(soap, "token", -1, &a->_token, ""))
- return soap->error;
- if (soap_out_string(soap, "deviceID", -1, &a->_deviceID, ""))
- return soap->error;
- return soap_element_end_out(soap, tag);
-}
-
-SOAP_FMAC3 struct dss__DeviceGetLocation * SOAP_FMAC4 soap_get_dss__DeviceGetLocation(struct soap *soap, struct dss__DeviceGetLocation *p, const char *tag, const char *type)
-{
- if ((p = soap_in_dss__DeviceGetLocation(soap, tag, p, type)))
- if (soap_getindependent(soap))
- return NULL;
- return p;
-}
-
-SOAP_FMAC3 struct dss__DeviceGetLocation * SOAP_FMAC4 soap_in_dss__DeviceGetLocation(struct soap *soap, const char *tag, struct dss__DeviceGetLocation *a, const char *type)
-{
- short soap_flag__token = 1, soap_flag__deviceID = 1;
- if (soap_element_begin_in(soap, tag, 0, type))
- return NULL;
- a = (struct dss__DeviceGetLocation *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__DeviceGetLocation, sizeof(struct dss__DeviceGetLocation), 0, NULL, NULL, NULL);
- if (!a)
- return NULL;
- soap_default_dss__DeviceGetLocation(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__deviceID && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
- if (soap_in_string(soap, NULL, &a->_deviceID, "xsd:string"))
- { soap_flag__deviceID--;
- 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__DeviceGetLocation *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__DeviceGetLocation, 0, sizeof(struct dss__DeviceGetLocation), 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__DeviceGetLocation * SOAP_FMAC6 soap_new_dss__DeviceGetLocation(struct soap *soap, int n)
-{ return soap_instantiate_dss__DeviceGetLocation(soap, n, NULL, NULL, NULL);
-}
-
-SOAP_FMAC5 void SOAP_FMAC6 soap_delete_dss__DeviceGetLocation(struct soap *soap, struct dss__DeviceGetLocation *p)
-{ soap_delete(soap, p);
-}
-
-SOAP_FMAC3 struct dss__DeviceGetLocation * SOAP_FMAC4 soap_instantiate_dss__DeviceGetLocation(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
-{
- DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_dss__DeviceGetLocation(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
- struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_dss__DeviceGetLocation, n, soap_fdelete);
- if (!cp)
- return NULL;
- if (n < 0)
- { cp->ptr = (void*)new struct dss__DeviceGetLocation;
- if (size)
- *size = sizeof(struct dss__DeviceGetLocation);
- }
- else
- { cp->ptr = (void*)new struct dss__DeviceGetLocation[n];
- if (!cp->ptr)
- { soap->error = SOAP_EOM;
- return NULL;
- }
- if (size)
- *size = n * sizeof(struct dss__DeviceGetLocation);
- }
- DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
- return (struct dss__DeviceGetLocation*)cp->ptr;
-}
-SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceGetLocation(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__DeviceGetLocation %p -> %p\n", q, p));
- *(struct dss__DeviceGetLocation*)p = *(struct dss__DeviceGetLocation*)q;
-}
-
-SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceSetLocation(struct soap *soap, struct dss__DeviceSetLocation *a)
-{
- (void)soap; (void)a; /* appease -Wall -Werror */
- soap_default_int(soap, &a->_token);
- soap_default_string(soap, &a->_deviceID);
- soap_default_DeviceLocation(soap, &a->_location);
-}
-
-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceSetLocation(struct soap *soap, const struct dss__DeviceSetLocation *a)
-{
- (void)soap; (void)a; /* appease -Wall -Werror */
- soap_serialize_string(soap, &a->_deviceID);
- soap_serialize_DeviceLocation(soap, &a->_location);
-}
-
-SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__DeviceSetLocation(struct soap *soap, const struct dss__DeviceSetLocation *a, const char *tag, const char *type)
-{
- register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_dss__DeviceSetLocation);
- if (soap_out_dss__DeviceSetLocation(soap, tag, id, a, type))
- return soap->error;
- return soap_putindependent(soap);
-}
-
-SOAP_FMAC3 int SOAP_FMAC4 soap_out_dss__DeviceSetLocation(struct soap *soap, const char *tag, int id, const struct dss__DeviceSetLocation *a, const char *type)
-{
- if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_dss__DeviceSetLocation), type))
- return soap->error;
- if (soap_out_int(soap, "token", -1, &a->_token, ""))
- return soap->error;
- if (soap_out_string(soap, "deviceID", -1, &a->_deviceID, ""))
- return soap->error;
- if (soap_out_DeviceLocation(soap, "location", -1, &a->_location, ""))
- return soap->error;
- return soap_element_end_out(soap, tag);
-}
-
-SOAP_FMAC3 struct dss__DeviceSetLocation * SOAP_FMAC4 soap_get_dss__DeviceSetLocation(struct soap *soap, struct dss__DeviceSetLocation *p, const char *tag, const char *type)
-{
- if ((p = soap_in_dss__DeviceSetLocation(soap, tag, p, type)))
- if (soap_getindependent(soap))
- return NULL;
- return p;
-}
-
-SOAP_FMAC3 struct dss__DeviceSetLocation * SOAP_FMAC4 soap_in_dss__DeviceSetLocation(struct soap *soap, const char *tag, struct dss__DeviceSetLocation *a, const char *type)
-{
- short soap_flag__token = 1, soap_flag__deviceID = 1, soap_flag__location = 1;
- if (soap_element_begin_in(soap, tag, 0, type))
- return NULL;
- a = (struct dss__DeviceSetLocation *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__DeviceSetLocation, sizeof(struct dss__DeviceSetLocation), 0, NULL, NULL, NULL);
- if (!a)
- return NULL;
- soap_default_dss__DeviceSetLocation(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__deviceID && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
- if (soap_in_string(soap, NULL, &a->_deviceID, "xsd:string"))
- { soap_flag__deviceID--;
- continue;
- }
- if (soap_flag__location && soap->error == SOAP_TAG_MISMATCH)
- if (soap_in_DeviceLocation(soap, NULL, &a->_location, "DeviceLocation"))
- { soap_flag__location--;
- 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__DeviceSetLocation *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__DeviceSetLocation, 0, sizeof(struct dss__DeviceSetLocation), 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__location > 0))
- { soap->error = SOAP_OCCURS;
- return NULL;
- }
- return a;
-}
-
-SOAP_FMAC5 struct dss__DeviceSetLocation * SOAP_FMAC6 soap_new_dss__DeviceSetLocation(struct soap *soap, int n)
-{ return soap_instantiate_dss__DeviceSetLocation(soap, n, NULL, NULL, NULL);
-}
-
-SOAP_FMAC5 void SOAP_FMAC6 soap_delete_dss__DeviceSetLocation(struct soap *soap, struct dss__DeviceSetLocation *p)
-{ soap_delete(soap, p);
-}
-
-SOAP_FMAC3 struct dss__DeviceSetLocation * SOAP_FMAC4 soap_instantiate_dss__DeviceSetLocation(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
-{
- DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_dss__DeviceSetLocation(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
- struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_dss__DeviceSetLocation, n, soap_fdelete);
- if (!cp)
- return NULL;
- if (n < 0)
- { cp->ptr = (void*)new struct dss__DeviceSetLocation;
- if (size)
- *size = sizeof(struct dss__DeviceSetLocation);
- }
- else
- { cp->ptr = (void*)new struct dss__DeviceSetLocation[n];
- if (!cp->ptr)
- { soap->error = SOAP_EOM;
- return NULL;
- }
- if (size)
- *size = n * sizeof(struct dss__DeviceSetLocation);
- }
- DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
- return (struct dss__DeviceSetLocation*)cp->ptr;
-}
-SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceSetLocation(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__DeviceSetLocation %p -> %p\n", q, p));
- *(struct dss__DeviceSetLocation*)p = *(struct dss__DeviceSetLocation*)q;
-}
-
-SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceSetLocationResponse(struct soap *soap, struct dss__DeviceSetLocationResponse *a)
-{
- (void)soap; (void)a; /* appease -Wall -Werror */
- soap_default_bool(soap, &a->result);
-}
-
-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceSetLocationResponse(struct soap *soap, const struct dss__DeviceSetLocationResponse *a)
-{
- (void)soap; (void)a; /* appease -Wall -Werror */
-}
-
-SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__DeviceSetLocationResponse(struct soap *soap, const struct dss__DeviceSetLocationResponse *a, const char *tag, const char *type)
-{
- register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_dss__DeviceSetLocationResponse);
- if (soap_out_dss__DeviceSetLocationResponse(soap, tag, id, a, type))
- return soap->error;
- return soap_putindependent(soap);
-}
-
-SOAP_FMAC3 int SOAP_FMAC4 soap_out_dss__DeviceSetLocationResponse(struct soap *soap, const char *tag, int id, const struct dss__DeviceSetLocationResponse *a, const char *type)
-{
- if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_dss__DeviceSetLocationResponse), 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__DeviceSetLocationResponse * SOAP_FMAC4 soap_get_dss__DeviceSetLocationResponse(struct soap *soap, struct dss__DeviceSetLocationResponse *p, const char *tag, const char *type)
-{
- if ((p = soap_in_dss__DeviceSetLocationResponse(soap, tag, p, type)))
- if (soap_getindependent(soap))
- return NULL;
- return p;
-}
-
-SOAP_FMAC3 struct dss__DeviceSetLocationResponse * SOAP_FMAC4 soap_in_dss__DeviceSetLocationResponse(struct soap *soap, const char *tag, struct dss__DeviceSetLocationResponse *a, const char *type)
-{
- short soap_flag_result = 1;
- if (soap_element_begin_in(soap, tag, 0, type))
- return NULL;
- a = (struct dss__DeviceSetLocationResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dss__DeviceSetLocationResponse, sizeof(struct dss__DeviceSetLocationResponse), 0, NULL, NULL, NULL);
- if (!a)
- return NULL;
- soap_default_dss__DeviceSetLocationResponse(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__DeviceSetLocationResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_dss__DeviceSetLocationResponse, 0, sizeof(struct dss__DeviceSetLocationResponse), 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__DeviceSetLocationResponse * SOAP_FMAC6 soap_new_dss__DeviceSetLocationResponse(struct soap *soap, int n)
-{ return soap_instantiate_dss__DeviceSetLocationResponse(soap, n, NULL, NULL, NULL);
-}
-
-SOAP_FMAC5 void SOAP_FMAC6 soap_delete_dss__DeviceSetLocationResponse(struct soap *soap, struct dss__DeviceSetLocationResponse *p)
-{ soap_delete(soap, p);
-}
-
-SOAP_FMAC3 struct dss__DeviceSetLocationResponse * SOAP_FMAC4 soap_instantiate_dss__DeviceSetLocationResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
-{
- DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_dss__DeviceSetLocationResponse(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
- struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_dss__DeviceSetLocationResponse, n, soap_fdelete);
- if (!cp)
- return NULL;
- if (n < 0)
- { cp->ptr = (void*)new struct dss__DeviceSetLocationResponse;
- if (size)
- *size = sizeof(struct dss__DeviceSetLocationResponse);
- }
- else
- { cp->ptr = (void*)new struct dss__DeviceSetLocationResponse[n];
- if (!cp->ptr)
- { soap->error = SOAP_EOM;
- return NULL;
- }
- if (size)
- *size = n * sizeof(struct dss__DeviceSetLocationResponse);
- }
- DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
- return (struct dss__DeviceSetLocationResponse*)cp->ptr;
-}
-SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceSetLocationResponse(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__DeviceSetLocationResponse %p -> %p\n", q, p));
- *(struct dss__DeviceSetLocationResponse*)p = *(struct dss__DeviceSetLocationResponse*)q;
-}
-
-SOAP_FMAC3 void SOAP_FMAC4 soap_default_DeviceLocation(struct soap *soap, struct DeviceLocation *a)
-{
- (void)soap; (void)a; /* appease -Wall -Werror */
- soap_default_double(soap, &a->x);
- soap_default_double(soap, &a->y);
- soap_default_double(soap, &a->z);
-}
-
-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_DeviceLocation(struct soap *soap, const struct DeviceLocation *a)
-{
- (void)soap; (void)a; /* appease -Wall -Werror */
-}
-
-SOAP_FMAC3 int SOAP_FMAC4 soap_put_DeviceLocation(struct soap *soap, const struct DeviceLocation *a, const char *tag, const char *type)
-{
- register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_DeviceLocation);
- if (soap_out_DeviceLocation(soap, tag, id, a, type))
- return soap->error;
- return soap_putindependent(soap);
-}
-
-SOAP_FMAC3 int SOAP_FMAC4 soap_out_DeviceLocation(struct soap *soap, const char *tag, int id, const struct DeviceLocation *a, const char *type)
-{
- if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_DeviceLocation), type))
- return soap->error;
- if (soap_out_double(soap, "x", -1, &a->x, ""))
- return soap->error;
- if (soap_out_double(soap, "y", -1, &a->y, ""))
- return soap->error;
- if (soap_out_double(soap, "z", -1, &a->z, ""))
- return soap->error;
- return soap_element_end_out(soap, tag);
-}
-
-SOAP_FMAC3 struct DeviceLocation * SOAP_FMAC4 soap_get_DeviceLocation(struct soap *soap, struct DeviceLocation *p, const char *tag, const char *type)
-{
- if ((p = soap_in_DeviceLocation(soap, tag, p, type)))
- if (soap_getindependent(soap))
- return NULL;
- return p;
-}
-
-SOAP_FMAC3 struct DeviceLocation * SOAP_FMAC4 soap_in_DeviceLocation(struct soap *soap, const char *tag, struct DeviceLocation *a, const char *type)
-{
- short soap_flag_x = 1, soap_flag_y = 1, soap_flag_z = 1;
- if (soap_element_begin_in(soap, tag, 0, type))
- return NULL;
- a = (struct DeviceLocation *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_DeviceLocation, sizeof(struct DeviceLocation), 0, NULL, NULL, NULL);
- if (!a)
- return NULL;
- soap_default_DeviceLocation(soap, a);
- if (soap->body && !*soap->href)
- {
- for (;;)
- { soap->error = SOAP_TAG_MISMATCH;
- if (soap_flag_x && soap->error == SOAP_TAG_MISMATCH)
- if (soap_in_double(soap, "x", &a->x, "xsd:double"))
- { soap_flag_x--;
- continue;
- }
- if (soap_flag_y && soap->error == SOAP_TAG_MISMATCH)
- if (soap_in_double(soap, "y", &a->y, "xsd:double"))
- { soap_flag_y--;
- continue;
- }
- if (soap_flag_z && soap->error == SOAP_TAG_MISMATCH)
- if (soap_in_double(soap, "z", &a->z, "xsd:double"))
- { soap_flag_z--;
- 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 DeviceLocation *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_DeviceLocation, 0, sizeof(struct DeviceLocation), 0, NULL);
- if (soap->body && soap_element_end_in(soap, tag))
- return NULL;
- }
- if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_x > 0 || soap_flag_y > 0 || soap_flag_z > 0))
- { soap->error = SOAP_OCCURS;
- return NULL;
- }
- return a;
-}
-
-SOAP_FMAC5 struct DeviceLocation * SOAP_FMAC6 soap_new_DeviceLocation(struct soap *soap, int n)
-{ return soap_instantiate_DeviceLocation(soap, n, NULL, NULL, NULL);
-}
-
-SOAP_FMAC5 void SOAP_FMAC6 soap_delete_DeviceLocation(struct soap *soap, struct DeviceLocation *p)
-{ soap_delete(soap, p);
-}
-
-SOAP_FMAC3 struct DeviceLocation * SOAP_FMAC4 soap_instantiate_DeviceLocation(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
-{
- DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_DeviceLocation(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
- struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_DeviceLocation, n, soap_fdelete);
- if (!cp)
- return NULL;
- if (n < 0)
- { cp->ptr = (void*)new struct DeviceLocation;
- if (size)
- *size = sizeof(struct DeviceLocation);
- }
- else
- { cp->ptr = (void*)new struct DeviceLocation[n];
- if (!cp->ptr)
- { soap->error = SOAP_EOM;
- return NULL;
- }
- if (size)
- *size = n * sizeof(struct DeviceLocation);
- }
- DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
- return (struct DeviceLocation*)cp->ptr;
-}
-SOAP_FMAC3 void SOAP_FMAC4 soap_copy_DeviceLocation(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 DeviceLocation %p -> %p\n", q, p));
- *(struct DeviceLocation*)p = *(struct DeviceLocation*)q;
-}
-
SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceGetZoneID(struct soap *soap, struct dss__DeviceGetZoneID *a)
{
(void)soap; (void)a; /* appease -Wall -Werror */
@@ -27240,6 +27380,97 @@
return soap_instring(soap, tag, a, type, SOAP_TYPE_string, 1, -1, -1);
}
+SOAP_FMAC3 void SOAP_FMAC4 soap_default_std__vectorTemplateOfdss__Event(struct soap *soap, std::vector<dss__Event >*p)
+{
+ p->clear();
+}
+
+SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_std__vectorTemplateOfdss__Event(struct soap *soap, const std::vector<dss__Event >*a)
+{
+ for (std::vector<dss__Event >::const_iterator i = a->begin(); i != a->end(); ++i)
+ (*i).soap_serialize(soap);
+}
+
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_std__vectorTemplateOfdss__Event(struct soap *soap, const char *tag, int id, const std::vector<dss__Event >*a, const char *type)
+{
+ for (std::vector<dss__Event >::const_iterator i = a->begin(); i != a->end(); ++i)
+ {
+ if ((*i).soap_out(soap, tag, id, ""))
+ return soap->error;
+ }
+ return SOAP_OK;
+}
+
+SOAP_FMAC3 std::vector<dss__Event >* SOAP_FMAC4 soap_in_std__vectorTemplateOfdss__Event(struct soap *soap, const char *tag, std::vector<dss__Event >*a, const char *type)
+{
+ if (soap_element_begin_in(soap, tag, 1, NULL))
+ return NULL;
+ if (!a && !(a = soap_new_std__vectorTemplateOfdss__Event(soap, -1)))
+ return NULL;
+ dss__Event n;
+ short soap_flag = 0;
+ do
+ { soap_revert(soap);
+ n.soap_default(soap);
+ if (*soap->id || *soap->href)
+ { if (!soap_container_id_forward(soap, *soap->id?soap->id:soap->href, a, (size_t)a->size(), SOAP_TYPE_dss__Event, SOAP_TYPE_std__vectorTemplateOfdss__Event, sizeof(dss__Event), 0))
+ break;
+ if (!soap_in_dss__Event(soap, tag, NULL, "dss:Event"))
+ break;
+ }
+ else
+ {
+ if (!soap_in_dss__Event(soap, tag, &n, "dss:Event"))
+ break;
+ }
+ a->push_back(n);
+ soap_flag = 1;
+ }
+ while (!soap_element_begin_in(soap, tag, 1, NULL));
+ if (soap_flag && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
+ { soap->error = SOAP_OK;
+ return a;
+ }
+ return NULL;
+}
+
+SOAP_FMAC5 std::vector<dss__Event > * SOAP_FMAC6 soap_new_std__vectorTemplateOfdss__Event(struct soap *soap, int n)
+{ return soap_instantiate_std__vectorTemplateOfdss__Event(soap, n, NULL, NULL, NULL);
+}
+
+SOAP_FMAC5 void SOAP_FMAC6 soap_delete_std__vectorTemplateOfdss__Event(struct soap *soap, std::vector<dss__Event >*p)
+{ soap_delete(soap, p);
+}
+
+SOAP_FMAC3 std::vector<dss__Event > * SOAP_FMAC4 soap_instantiate_std__vectorTemplateOfdss__Event(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
+{
+ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_std__vectorTemplateOfdss__Event(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
+ struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_std__vectorTemplateOfdss__Event, n, soap_fdelete);
+ if (!cp)
+ return NULL;
+ if (n < 0)
+ { cp->ptr = (void*)new std::vector<dss__Event >;
+ if (size)
+ *size = sizeof(std::vector<dss__Event >);
+ }
+ else
+ { cp->ptr = (void*)new std::vector<dss__Event >[n];
+ if (!cp->ptr)
+ { soap->error = SOAP_EOM;
+ return NULL;
+ }
+ if (size)
+ *size = n * sizeof(std::vector<dss__Event >);
+ }
+ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
+ return (std::vector<dss__Event >*)cp->ptr;
+}
+SOAP_FMAC3 void SOAP_FMAC4 soap_copy_std__vectorTemplateOfdss__Event(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
+{
+ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying std::vector<dss__Event > %p -> %p\n", q, p));
+ *(std::vector<dss__Event >*)p = *(std::vector<dss__Event >*)q;
+}
+
SOAP_FMAC3 void SOAP_FMAC4 soap_default_std__vectorTemplateOfint(struct soap *soap, std::vector<int >*p)
{
p->clear();
Modified: dss/trunk/webservices/soapH.h
===================================================================
--- dss/trunk/webservices/soapH.h 2009-09-22 15:09:31 UTC (rev 8789)
+++ dss/trunk/webservices/soapH.h 2009-09-22 15:14:59 UTC (rev 8790)
@@ -136,6 +136,18 @@
SOAP_FMAC3S int SOAP_FMAC4S soap_s2bool(struct soap*, const char*, bool *);
+#ifndef SOAP_TYPE_dss__Event
+#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*);
+SOAP_FMAC3 dss__Event * SOAP_FMAC4 soap_get_dss__Event(struct soap*, dss__Event *, const char*, const char*);
+SOAP_FMAC3 dss__Event * SOAP_FMAC4 soap_in_dss__Event(struct soap*, const char*, dss__Event *, const char*);
+SOAP_FMAC5 dss__Event * SOAP_FMAC6 soap_new_dss__Event(struct soap*, int);
+SOAP_FMAC5 void SOAP_FMAC6 soap_delete_dss__Event(struct soap*, dss__Event*);
+SOAP_FMAC3 dss__Event * SOAP_FMAC4 soap_instantiate_dss__Event(struct soap*, int, const char*, const char*, size_t*);
+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)
#endif
@@ -153,7 +165,7 @@
#ifndef WITH_NOGLOBAL
#ifndef SOAP_TYPE_SOAP_ENV__Fault
-#define SOAP_TYPE_SOAP_ENV__Fault (312)
+#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 *);
@@ -171,7 +183,7 @@
#ifndef WITH_NOGLOBAL
#ifndef SOAP_TYPE_SOAP_ENV__Reason
-#define SOAP_TYPE_SOAP_ENV__Reason (311)
+#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 *);
@@ -189,7 +201,7 @@
#ifndef WITH_NOGLOBAL
#ifndef SOAP_TYPE_SOAP_ENV__Detail
-#define SOAP_TYPE_SOAP_ENV__Detail (308)
+#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 *);
@@ -207,7 +219,7 @@
#ifndef WITH_NOGLOBAL
#ifndef SOAP_TYPE_SOAP_ENV__Code
-#define SOAP_TYPE_SOAP_ENV__Code (306)
+#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 *);
@@ -225,7 +237,7 @@
#ifndef WITH_NOGLOBAL
#ifndef SOAP_TYPE_SOAP_ENV__Header
-#define SOAP_TYPE_SOAP_ENV__Header (305)
+#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 *);
@@ -241,7 +253,7 @@
#endif
#ifndef SOAP_TYPE_dss__PropertyGetChildren
-#define SOAP_TYPE_dss__PropertyGetChildren (304)
+#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 *);
@@ -255,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 (303)
+#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 *);
@@ -269,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 (301)
+#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 *);
@@ -283,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 (300)
+#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 *);
@@ -297,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 (298)
+#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 *);
@@ -311,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 (297)
+#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 *);
@@ -325,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 (295)
+#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 *);
@@ -339,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 (294)
+#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 *);
@@ -353,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 (292)
+#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 *);
@@ -367,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 (291)
+#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 *);
@@ -381,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 (289)
+#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 *);
@@ -395,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 (288)
+#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 *);
@@ -409,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 (286)
+#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 *);
@@ -423,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 (285)
+#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 *);
@@ -437,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 (283)
+#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 *);
@@ -451,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 (282)
+#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 *);
@@ -464,8 +476,64 @@
SOAP_FMAC3 struct dss__PropertyGetTypeResponse * SOAP_FMAC4 soap_instantiate_dss__PropertyGetTypeResponse(struct soap*, int, const char*, const char*, size_t*);
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 (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 *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__EventSubscribeTo(struct soap*, const struct dss__EventSubscribeTo *, const char*, const char*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_dss__EventSubscribeTo(struct soap*, const char*, int, const struct dss__EventSubscribeTo *, const char*);
+SOAP_FMAC3 struct dss__EventSubscribeTo * SOAP_FMAC4 soap_get_dss__EventSubscribeTo(struct soap*, struct dss__EventSubscribeTo *, const char*, const char*);
+SOAP_FMAC3 struct dss__EventSubscribeTo * SOAP_FMAC4 soap_in_dss__EventSubscribeTo(struct soap*, const char*, struct dss__EventSubscribeTo *, const char*);
+SOAP_FMAC5 struct dss__EventSubscribeTo * SOAP_FMAC6 soap_new_dss__EventSubscribeTo(struct soap*, int);
+SOAP_FMAC5 void SOAP_FMAC6 soap_delete_dss__EventSubscribeTo(struct soap*, struct dss__EventSubscribeTo*);
+SOAP_FMAC3 struct dss__EventSubscribeTo * SOAP_FMAC4 soap_instantiate_dss__EventSubscribeTo(struct soap*, int, const char*, const char*, size_t*);
+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 (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 *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__EventSubscribeToResponse(struct soap*, const struct dss__EventSubscribeToResponse *, const char*, const char*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_dss__EventSubscribeToResponse(struct soap*, const char*, int, const struct dss__EventSubscribeToResponse *, const char*);
+SOAP_FMAC3 struct dss__EventSubscribeToResponse * SOAP_FMAC4 soap_get_dss__EventSubscribeToResponse(struct soap*, struct dss__EventSubscribeToResponse *, const char*, const char*);
+SOAP_FMAC3 struct dss__EventSubscribeToResponse * SOAP_FMAC4 soap_in_dss__EventSubscribeToResponse(struct soap*, const char*, struct dss__EventSubscribeToResponse *, const char*);
+SOAP_FMAC5 struct dss__EventSubscribeToResponse * SOAP_FMAC6 soap_new_dss__EventSubscribeToResponse(struct soap*, int);
+SOAP_FMAC5 void SOAP_FMAC6 soap_delete_dss__EventSubscribeToResponse(struct soap*, struct dss__EventSubscribeToResponse*);
+SOAP_FMAC3 struct dss__EventSubscribeToResponse * SOAP_FMAC4 soap_instantiate_dss__EventSubscribeToResponse(struct soap*, int, const char*, const char*, size_t*);
+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 (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 *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__EventWaitFor(struct soap*, const struct dss__EventWaitFor *, const char*, const char*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_dss__EventWaitFor(struct soap*, const char*, int, const struct dss__EventWaitFor *, const char*);
+SOAP_FMAC3 struct dss__EventWaitFor * SOAP_FMAC4 soap_get_dss__EventWaitFor(struct soap*, struct dss__EventWaitFor *, const char*, const char*);
+SOAP_FMAC3 struct dss__EventWaitFor * SOAP_FMAC4 soap_in_dss__EventWaitFor(struct soap*, const char*, struct dss__EventWaitFor *, const char*);
+SOAP_FMAC5 struct dss__EventWaitFor * SOAP_FMAC6 soap_new_dss__EventWaitFor(struct soap*, int);
+SOAP_FMAC5 void SOAP_FMAC6 soap_delete_dss__EventWaitFor(struct soap*, struct dss__EventWaitFor*);
+SOAP_FMAC3 struct dss__EventWaitFor * SOAP_FMAC4 soap_instantiate_dss__EventWaitFor(struct soap*, int, const char*, const char*, size_t*);
+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 (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 *);
+SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__EventWaitForResponse(struct soap*, const struct dss__EventWaitForResponse *, const char*, const char*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_dss__EventWaitForResponse(struct soap*, const char*, int, const struct dss__EventWaitForResponse *, const char*);
+SOAP_FMAC3 struct dss__EventWaitForResponse * SOAP_FMAC4 soap_get_dss__EventWaitForResponse(struct soap*, struct dss__EventWaitForResponse *, const char*, const char*);
+SOAP_FMAC3 struct dss__EventWaitForResponse * SOAP_FMAC4 soap_in_dss__EventWaitForResponse(struct soap*, const char*, struct dss__EventWaitForResponse *, const char*);
+SOAP_FMAC5 struct dss__EventWaitForResponse * SOAP_FMAC6 soap_new_dss__EventWaitForResponse(struct soap*, int);
+SOAP_FMAC5 void SOAP_FMAC6 soap_delete_dss__EventWaitForResponse(struct soap*, struct dss__EventWaitForResponse*);
+SOAP_FMAC3 struct dss__EventWaitForResponse * SOAP_FMAC4 soap_instantiate_dss__EventWaitForResponse(struct soap*, int, const char*, const char*, size_t*);
+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 *);
@@ -479,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 *);
@@ -493,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 (277)
+#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 *);
@@ -507,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 (276)
+#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 *);
@@ -521,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 (274)
+#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 *);
@@ -535,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 (273)
+#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 *);
@@ -549,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 (271)
+#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 *);
@@ -563,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 (270)
+#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 *);
@@ -577,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 (268)
+#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 *);
@@ -591,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 (267)
+#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 *);
@@ -605,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 (265)
+#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 *);
@@ -619,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 (264)
+#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 *);
@@ -633,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 (262)
+#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 *);
@@ -647,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 (261)
+#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 *);
@@ -661,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 (259)
+#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 *);
@@ -675,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 (258)
+#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 *);
@@ -689,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 (256)
+#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 *);
@@ -703,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 (255)
+#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 *);
@@ -717,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 (253)
+#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 *);
@@ -731,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 (252)
+#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 *);
@@ -745,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 (250)
+#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 *);
@@ -759,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 (249)
+#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 *);
@@ -773,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 (247)
+#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 *);
@@ -787,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 (246)
+#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 *);
@@ -801,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 (244)
+#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 *);
@@ -815,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 (243)
+#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 *);
@@ -829,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 (241)
+#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 *);
@@ -843,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 (240)
+#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 *);
@@ -857,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 (238)
+#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 *);
@@ -871,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 (237)
+#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 *);
@@ -884,62 +952,6 @@
SOAP_FMAC3 struct dss__ModulatorGetPowerConsumptionResponse * SOAP_FMAC4 soap_instantiate_dss__ModulatorGetPowerConsumptionResponse(struct soap*, int, const char*, const char*, size_t*);
SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__ModulatorGetPowerConsumptionResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
-#ifndef SOAP_TYPE_dss__DeviceGetLocation
-#define SOAP_TYPE_dss__DeviceGetLocation (234)
-#endif
-SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceGetLocation(struct soap*, struct dss__DeviceGetLocation *);
-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceGetLocation(struct soap*, const struct dss__DeviceGetLocation *);
-SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__DeviceGetLocation(struct soap*, const struct dss__DeviceGetLocation *, const char*, const char*);
-SOAP_FMAC3 int SOAP_FMAC4 soap_out_dss__DeviceGetLocation(struct soap*, const char*, int, const struct dss__DeviceGetLocation *, const char*);
-SOAP_FMAC3 struct dss__DeviceGetLocation * SOAP_FMAC4 soap_get_dss__DeviceGetLocation(struct soap*, struct dss__DeviceGetLocation *, const char*, const char*);
-SOAP_FMAC3 struct dss__DeviceGetLocation * SOAP_FMAC4 soap_in_dss__DeviceGetLocation(struct soap*, const char*, struct dss__DeviceGetLocation *, const char*);
-SOAP_FMAC5 struct dss__DeviceGetLocation * SOAP_FMAC6 soap_new_dss__DeviceGetLocation(struct soap*, int);
-SOAP_FMAC5 void SOAP_FMAC6 soap_delete_dss__DeviceGetLocation(struct soap*, struct dss__DeviceGetLocation*);
-SOAP_FMAC3 struct dss__DeviceGetLocation * SOAP_FMAC4 soap_instantiate_dss__DeviceGetLocation(struct soap*, int, const char*, const char*, size_t*);
-SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceGetLocation(struct soap*, int, int, void*, size_t, const void*, size_t);
-
-#ifndef SOAP_TYPE_dss__DeviceSetLocation
-#define SOAP_TYPE_dss__DeviceSetLocation (231)
-#endif
-SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceSetLocation(struct soap*, struct dss__DeviceSetLocation *);
-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceSetLocation(struct soap*, const struct dss__DeviceSetLocation *);
-SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__DeviceSetLocation(struct soap*, const struct dss__DeviceSetLocation *, const char*, const char*);
-SOAP_FMAC3 int SOAP_FMAC4 soap_out_dss__DeviceSetLocation(struct soap*, const char*, int, const struct dss__DeviceSetLocation *, const char*);
-SOAP_FMAC3 struct dss__DeviceSetLocation * SOAP_FMAC4 soap_get_dss__DeviceSetLocation(struct soap*, struct dss__DeviceSetLocation *, const char*, const char*);
-SOAP_FMAC3 struct dss__DeviceSetLocation * SOAP_FMAC4 soap_in_dss__DeviceSetLocation(struct soap*, const char*, struct dss__DeviceSetLocation *, const char*);
-SOAP_FMAC5 struct dss__DeviceSetLocation * SOAP_FMAC6 soap_new_dss__DeviceSetLocation(struct soap*, int);
-SOAP_FMAC5 void SOAP_FMAC6 soap_delete_dss__DeviceSetLocation(struct soap*, struct dss__DeviceSetLocation*);
-SOAP_FMAC3 struct dss__DeviceSetLocation * SOAP_FMAC4 soap_instantiate_dss__DeviceSetLocation(struct soap*, int, const char*, const char*, size_t*);
-SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceSetLocation(struct soap*, int, int, void*, size_t, const void*, size_t);
-
-#ifndef SOAP_TYPE_dss__DeviceSetLocationResponse
-#define SOAP_TYPE_dss__DeviceSetLocationResponse (230)
-#endif
-SOAP_FMAC3 void SOAP_FMAC4 soap_default_dss__DeviceSetLocationResponse(struct soap*, struct dss__DeviceSetLocationResponse *);
-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dss__DeviceSetLocationResponse(struct soap*, const struct dss__DeviceSetLocationResponse *);
-SOAP_FMAC3 int SOAP_FMAC4 soap_put_dss__DeviceSetLocationResponse(struct soap*, const struct dss__DeviceSetLocationResponse *, const char*, const char*);
-SOAP_FMAC3 int SOAP_FMAC4 soap_out_dss__DeviceSetLocationResponse(struct soap*, const char*, int, const struct dss__DeviceSetLocationResponse *, const char*);
-SOAP_FMAC3 struct dss__DeviceSetLocationResponse * SOAP_FMAC4 soap_get_dss__DeviceSetLocationResponse(struct soap*, struct dss__DeviceSetLocationResponse *, const char*, const char*);
-SOAP_FMAC3 struct dss__DeviceSetLocationResponse * SOAP_FMAC4 soap_in_dss__DeviceSetLocationResponse(struct soap*, const char*, struct dss__DeviceSetLocationResponse *, const char*);
-SOAP_FMAC5 struct dss__DeviceSetLocationResponse * SOAP_FMAC6 soap_new_dss__DeviceSetLocationResponse(struct soap*, int);
-SOAP_FMAC5 void SOAP_FMAC6 soap_delete_dss__DeviceSetLocationResponse(struct soap*, struct dss__DeviceSetLocationResponse*);
-SOAP_FMAC3 struct dss__DeviceSetLocationResponse * SOAP_FMAC4 soap_instantiate_dss__DeviceSetLocationResponse(struct soap*, int, const char*, const char*, size_t*);
-SOAP_FMAC3 void SOAP_FMAC4 soap_copy_dss__DeviceSetLocationResponse(struct soap*, int, int, void*, size_t, const void*, size_t);
-
-#ifndef SOAP_TYPE_DeviceLocation
-#define SOAP_TYPE_DeviceLocation (228)
-#endif
-SOAP_FMAC3 void SOAP_FMAC4 soap_default_DeviceLocation(struct soap*, struct DeviceLocation *);
-SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_DeviceLocation(struct soap*, const struct DeviceLocation *);
-SOAP_FMAC3 int SOAP_FMAC4 soap_put_DeviceLocation(struct soap*, const struct DeviceLocation *, const char*, const char*);
-SOAP_FMAC3 int SOAP_FMAC4 soap_out_DeviceLocation(struct soap*, const char*, int, const struct DeviceLocation *, const char*);
-SOAP_FMAC3 struct DeviceLocation * SOAP_FMAC4 soap_get_DeviceLocation(struct soap*, struct DeviceLocation *, const char*, const char*);
-SOAP_FMAC3 struct DeviceLocation * SOAP_FMAC4 soap_in_DeviceLocation(struct soap*, const char*, struct DeviceLocation *, const char*);
-SOAP_FMAC5 struct DeviceLocation * SOAP_FMAC6 soap_new_DeviceLocation(struct soap*, int);
-SOAP_FMAC5 void SOAP_FMAC6 soap_delete_DeviceLocation(struct soap*, struct DeviceLocation*);
-SOAP_FMAC3 struct DeviceLocation * SOAP_FMAC4 soap_instantiate_DeviceLocation(struct soap*, int, const char*, const char*, size_t*);
-SOAP_FMAC3 void SOAP_FMAC4 soap_copy_DeviceLocation(struct soap*, int, int, void*, size_t, const void*, size_t);
-
#ifndef SOAP_TYPE_dss__DeviceGetZoneID
#define SOAP_TYPE_dss__DeviceGetZoneID (227)
#endif
@@ -2791,7 +2803,7 @@
#ifndef WITH_NOGLOBAL
#ifndef SOAP_TYPE_PointerToSOAP_ENV__Reason
-#define SOAP_TYPE_PointerToSOAP_ENV__Reason (314)
+#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*);
@@ -2804,7 +2816,7 @@
#ifndef WITH_NOGLOBAL
#ifndef SOAP_TYPE_PointerToSOAP_ENV__Detail
-#define SOAP_TYPE_PointerToSOAP_ENV__Detail (313)
+#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*);
@@ -2817,7 +2829,7 @@
#ifndef WITH_NOGLOBAL
#ifndef SOAP_TYPE_PointerToSOAP_ENV__Code
-#define SOAP_TYPE_PointerToSOAP_ENV__Code (307)
+#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*);
@@ -2856,6 +2868,18 @@
SOAP_FMAC3 char ** SOAP_FMAC4 soap_get_string(struct soap*, char **, const char*, const char*);
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 (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 >*);
+SOAP_FMAC3 int SOAP_FMAC4 soap_out_std__vectorTemplateOfdss__Event(struct soap*, const char*, int, const std::vector<dss__Event >*, const char*);
+SOAP_FMAC3 std::vector<dss__Event >* SOAP_FMAC4 soap_in_std__vectorTemplateOfdss__Event(struct soap*, const char*, std::vector<dss__Event >*, const char*);
+SOAP_FMAC5 std::vector<dss__Event > * SOAP_FMAC6 soap_new_std__vectorTemplateOfdss__Event(struct soap*, int);
+SOAP_FMAC5 void SOAP_FMAC6 soap_delete_std__vectorTemplateOfdss__Event(struct soap*, std::vector<dss__Event >*);
+SOAP_FMAC3 std::vector<dss__Event > * SOAP_FMAC4 soap_instantiate_std__vectorTemplateOfdss__Event(struct soap*, int, const char*, const char*, size_t*);
+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)
#endif
Modified: dss/trunk/webservices/soapServer.cpp
===================================================================
--- dss/trunk/webservices/soapServer.cpp 2009-09-22 15:09:31 UTC (rev 8789)
+++ dss/trunk/webservices/soapServer.cpp 2009-09-22 15:14:59 UTC (rev 8790)
@@ -6,7 +6,7 @@
*/
#include "soapH.h"
-SOAP_SOURCE_STAMP("@(#) soapServer.cpp ver 2.7.10 2009-06-08 14:45:47 GMT")
+SOAP_SOURCE_STAMP("@(#) soapServer.cpp ver 2.7.10 2009-09-22 13:48:12 GMT")
SOAP_FMAC5 int SOAP_FMAC6 soap_serve(struct soap *soap)
@@ -235,6 +235,10 @@
return soap_serve_dss__SwitchGetGroupID(soap);
if (!soap_match_tag(soap, soap->tag, "dss:EventRaise"))
return soap_serve_dss__EventRaise(soap);
+ if (!soap_match_tag(soap, soap->tag, "dss:EventWaitFor"))
+ return soap_serve_dss__EventWaitFor(soap);
+ if (!soap_match_tag(soap, soap->tag, "dss:EventSubscribeTo"))
+ return soap_serve_dss__EventSubscribeTo(soap);
if (!soap_match_tag(soap, soap->tag, "dss:PropertyGetType"))
return soap_serve_dss__PropertyGetType(soap);
if (!soap_match_tag(soap, soap->tag, "dss:PropertySetInt"))
@@ -2964,7 +2968,6 @@
return soap_closesock(soap);
}
-
SOAP_FMAC5 int SOAP_FMAC6 soap_serve_dss__ModulatorGetPowerConsumption(struct soap *soap)
{ struct dss__ModulatorGetPowerConsumption soap_tmp_dss__ModulatorGetPowerConsumption;
struct dss__ModulatorGetPowerConsumptionResponse soap_tmp_dss__ModulatorGetPowerConsumptionResponse;
@@ -3580,6 +3583,88 @@
return soap_closesock(soap);
}
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_dss__EventWaitFor(struct soap *soap)
+{ struct dss__EventWaitFor soap_tmp_dss__EventWaitFor;
+ struct dss__EventWaitForResponse soap_tmp_dss__EventWaitForResponse;
+ soap_default_dss__EventWaitForResponse(soap, &soap_tmp_dss__EventWaitForResponse);
+ soap_default_dss__EventWaitFor(soap, &soap_tmp_dss__EventWaitFor);
+ soap->encodingStyle = NULL;
+ if (!soap_get_dss__EventWaitFor(soap, &soap_tmp_dss__EventWaitFor, "dss:EventWaitFor", 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__EventWaitFor(soap, soap_tmp_dss__EventWaitFor._token, soap_tmp_dss__EventWaitFor._timeout, soap_tmp_dss__EventWaitForResponse.result);
+ if (soap->error)
+ return soap->error;
+ soap_serializeheader(soap);
+ soap_serialize_dss__EventWaitForResponse(soap, &soap_tmp_dss__EventWaitForResponse);
+ 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__EventWaitForResponse(soap, &soap_tmp_dss__EventWaitForResponse, "dss:EventWaitForResponse", "")
+ || 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__EventWaitForResponse(soap, &soap_tmp_dss__EventWaitForResponse, "dss:EventWaitForResponse", "")
+ || 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__EventSubscribeTo(struct soap *soap)
+{ struct dss__EventSubscribeTo soap_tmp_dss__EventSubscribeTo;
+ struct dss__EventSubscribeToResponse soap_tmp_dss__EventSubscribeToResponse;
+ soap_default_dss__EventSubscribeToResponse(soap, &soap_tmp_dss__EventSubscribeToResponse);
+ soap_default_dss__EventSubscribeTo(soap, &soap_tmp_dss__EventSubscribeTo);
+ soap->encodingStyle = NULL;
+ if (!soap_get_dss__EventSubscribeTo(soap, &soap_tmp_dss__EventSubscribeTo, "dss:EventSubscribeTo", 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__EventSubscribeTo(soap, soap_tmp_dss__EventSubscribeTo._token, soap_tmp_dss__EventSubscribeTo._name, soap_tmp_dss__EventSubscribeToResponse.result);
+ if (soap->error)
+ return soap->error;
+ soap_serializeheader(soap);
+ soap_serialize_dss__EventSubscribeToResponse(soap, &soap_tmp_dss__EventSubscribeToResponse);
+ 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__EventSubscribeToResponse(soap, &soap_tmp_dss__EventSubscribeToResponse, "dss:EventSubscribeToResponse", "")
+ || 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__EventSubscribeToResponse(soap, &soap_tmp_dss__EventSubscribeToResponse, "dss:EventSubscribeToResponse", "")
+ || 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__PropertyGetType(struct soap *soap)
{ struct dss__PropertyGetType soap_tmp_dss__PropertyGetType;
struct dss__PropertyGetTypeResponse soap_tmp_dss__PropertyGetTypeResponse;
Modified: dss/trunk/webservices/soapStub.h
===================================================================
--- dss/trunk/webservices/soapStub.h 2009-09-22 15:09:31 UTC (rev 8789)
+++ dss/trunk/webservices/soapStub.h 2009-09-22 15:14:59 UTC (rev 8790)
@@ -1471,53 +1471,8 @@
};
#endif
-#ifndef SOAP_TYPE_DeviceLocation
-#define SOAP_TYPE_DeviceLocation (228)
-/* DeviceLocation */
-struct DeviceLocation
-{
-public:
- double x; /* SOAP 1.2 RPC return element (when namespace qualified) */ /* required element of type xsd:double */
- double y; /* required element of type xsd:double */
- double z; /* required element of type xsd:double */
-};
-#endif
-
-#ifndef SOAP_TYPE_dss__DeviceSetLocationResponse
-#define SOAP_TYPE_dss__DeviceSetLocationResponse (230)
-/* dss:DeviceSetLocationResponse */
-struct dss__DeviceSetLocationResponse
-{
-public:
- bool result; /* SOAP 1.2 RPC return element (when namespace qualified) */ /* required element of type xsd:boolean */
-};
-#endif
-
-#ifndef SOAP_TYPE_dss__DeviceSetLocation
-#define SOAP_TYPE_dss__DeviceSetLocation (231)
-/* dss:DeviceSetLocation */
-struct dss__DeviceSetLocation
-{
-public:
- int _token; /* required element of type xsd:int */
- char *_deviceID; /* optional element of type xsd:string */
- struct DeviceLocation _location; /* required element of type DeviceLocation */
-};
-#endif
-
-#ifndef SOAP_TYPE_dss__DeviceGetLocation
-#define SOAP_TYPE_dss__DeviceGetLocation (234)
-/* dss:DeviceGetLocation */
-struct dss__DeviceGetLocation
-{
-public:
- int _token; /* required element of type xsd:int */
- char *_deviceID; /* optional element of type xsd:string */
-};
-#endif
-
#ifndef SOAP_TYPE_dss__ModulatorGetPowerConsumptionResponse
-#define SOAP_TYPE_dss__ModulatorGetPowerConsumptionResponse (237)
+#define SOAP_TYPE_dss__ModulatorGetPowerConsumptionResponse (230)
/* dss:ModulatorGetPowerConsumptionResponse */
struct dss__ModulatorGetPowerConsumptionResponse
{
@@ -1527,7 +1482,7 @@
#endif
#ifndef SOAP_TYPE_dss__ModulatorGetPowerConsumption
-#define SOAP_TYPE_dss__ModulatorGetPowerConsumption (238)
+#define SOAP_TYPE_dss__ModulatorGetPowerConsumption (231)
/* dss:ModulatorGetPowerConsumption */
struct dss__ModulatorGetPowerConsumption
{
@@ -1538,7 +1493,7 @@
#endif
#ifndef SOAP_TYPE_dss__ApartmentGetModulatorIDsResponse
-#define SOAP_TYPE_dss__ApartmentGetModulatorIDsResponse (240)
+#define SOAP_TYPE_dss__ApartmentGetModulatorIDsResponse (233)
/* dss:ApartmentGetModulatorIDsResponse */
struct dss__ApartmentGetModulatorIDsResponse
{
@@ -1548,7 +1503,7 @@
#endif
#ifndef SOAP_TYPE_dss__ApartmentGetModulatorIDs
-#define SOAP_TYPE_dss__ApartmentGetModulatorIDs (241)
+#define SOAP_TYPE_dss__ApartmentGetModulatorIDs (234)
/* dss:ApartmentGetModulatorIDs */
struct dss__ApartmentGetModulatorIDs
{
@@ -1558,7 +1513,7 @@
#endif
#ifndef SOAP_TYPE_dss__ModulatorGetNameResponse
-#define SOAP_TYPE_dss__ModulatorGetNameResponse (243)
+#define SOAP_TYPE_dss__ModulatorGetNameResponse (236)
/* dss:ModulatorGetNameResponse */
struct dss__ModulatorGetNameResponse
{
@@ -1568,7 +1523,7 @@
#endif
#ifndef SOAP_TYPE_dss__ModulatorGetName
-#define SOAP_TYPE_dss__ModulatorGetName (244)
+#define SOAP_TYPE_dss__ModulatorGetName (237)
/* dss:ModulatorGetName */
struct dss__ModulatorGetName
{
@@ -1579,7 +1534,7 @@
#endif
#ifndef SOAP_TYPE_dss__ApartmentAllocateZoneResponse
-#define SOAP_TYPE_dss__ApartmentAllocateZoneResponse (246)
+#define SOAP_TYPE_dss__ApartmentAllocateZoneResponse (239)
/* dss:ApartmentAllocateZoneResponse */
struct dss__ApartmentAllocateZoneResponse
{
@@ -1589,7 +1544,7 @@
#endif
#ifndef SOAP_TYPE_dss__ApartmentAllocateZone
-#define SOAP_TYPE_dss__ApartmentAllocateZone (247)
+#define SOAP_TYPE_dss__ApartmentAllocateZone (240)
/* dss:ApartmentAllocateZone */
struct dss__ApartmentAllocateZone
{
@@ -1599,7 +1554,7 @@
#endif
#ifndef SOAP_TYPE_dss__ApartmentDeleteZoneResponse
-#define SOAP_TYPE_dss__ApartmentDeleteZoneResponse (249)
+#define SOAP_TYPE_dss__ApartmentDeleteZoneResponse (242)
/* dss:ApartmentDeleteZoneResponse */
struct dss__ApartmentDeleteZoneResponse
{
@@ -1609,7 +1564,7 @@
#endif
#ifndef SOAP_TYPE_dss__ApartmentDeleteZone
-#define SOAP_TYPE_dss__ApartmentDeleteZone (250)
+#define SOAP_TYPE_dss__ApartmentDeleteZone (243)
/* dss:ApartmentDeleteZone */
struct dss__ApartmentDeleteZone
{
@@ -1620,7 +1575,7 @@
#endif
#ifndef SOAP_TYPE_dss__Zone_AddDeviceResponse
-#define SOAP_TYPE_dss__Zone_AddDeviceResponse (252)
+#define SOAP_TYPE_dss__Zone_AddDeviceResponse (245)
/* dss:Zone-AddDeviceResponse */
struct dss__Zone_AddDeviceResponse
{
@@ -1630,7 +1585,7 @@
#endif
#ifndef SOAP_TYPE_dss__Zone_AddDevice
-#define SOAP_TYPE_dss__Zone_AddDevice (253)
+#define SOAP_TYPE_dss__Zone_AddDevice (246)
/* dss:Zone-AddDevice */
struct dss__Zone_AddDevice
{
@@ -1642,7 +1597,7 @@
#endif
#ifndef SOAP_TYPE_dss__Zone_RemoveDeviceResponse
-#define SOAP_TYPE_dss__Zone_RemoveDeviceResponse (255)
+#define SOAP_TYPE_dss__Zone_RemoveDeviceResponse (248)
/* dss:Zone-RemoveDeviceResponse */
struct dss__Zone_RemoveDeviceResponse
{
@@ -1652,7 +1607,7 @@
#endif
#ifndef SOAP_TYPE_dss__Zone_RemoveDevice
-#define SOAP_TYPE_dss__Zone_RemoveDevice (256)
+#define SOAP_TYPE_dss__Zone_RemoveDevice (249)
/* dss:Zone-RemoveDevice */
struct dss__Zone_RemoveDevice
{
@@ -1664,7 +1619,7 @@
#endif
#ifndef SOAP_TYPE_dss__Zone_SetNameResponse
-#define SOAP_TYPE_dss__Zone_SetNameResponse (258)
+#define SOAP_TYPE_dss__Zone_SetNameResponse (251)
/* dss:Zone-SetNameResponse */
struct dss__Zone_SetNameResponse
{
@@ -1674,7 +1629,7 @@
#endif
#ifndef SOAP_TYPE_dss__Zone_SetName
-#define SOAP_TYPE_dss__Zone_SetName (259)
+#define SOAP_TYPE_dss__Zone_SetName (252)
/* dss:Zone-SetName */
struct dss__Zone_SetName
{
@@ -1686,7 +1641,7 @@
#endif
#ifndef SOAP_TYPE_dss__ApartmentAllocateUserGroupResponse
-#define SOAP_TYPE_dss__ApartmentAllocateUserGroupResponse (261)
+#define SOAP_TYPE_dss__ApartmentAllocateUserGroupResponse (254)
/* dss:ApartmentAllocateUserGroupResponse */
struct dss__ApartmentAllocateUserGroupResponse
{
@@ -1696,7 +1651,7 @@
#endif
#ifndef SOAP_TYPE_dss__ApartmentAllocateUserGroup
-#define SOAP_TYPE_dss__ApartmentAllocateUserGroup (262)
+#define SOAP_TYPE_dss__ApartmentAllocateUserGroup (255)
/* dss:ApartmentAllocateUserGroup */
struct dss__ApartmentAllocateUserGroup
{
@@ -1706,7 +1661,7 @@
#endif
#ifndef SOAP_TYPE_dss__GroupRemoveUserGroupResponse
-#define SOAP_TYPE_dss__GroupRemoveUserGroupResponse (264)
+#define SOAP_TYPE_dss__GroupRemoveUserGroupResponse (257)
/* dss:GroupRemoveUserGroupResponse */
struct dss__GroupRemoveUserGroupResponse
{
@@ -1716,7 +1671,7 @@
#endif
#ifndef SOAP_TYPE_dss__GroupRemoveUserGroup
-#define SOAP_TYPE_dss__GroupRemoveUserGroup (265)
+#define SOAP_TYPE_dss__GroupRemoveUserGroup (258)
/* dss:GroupRemoveUserGroup */
struct dss__GroupRemoveUserGroup
{
@@ -1727,7 +1682,7 @@
#endif
#ifndef SOAP_TYPE_dss__GroupAddDeviceResponse
-#define SOAP_TYPE_dss__GroupAddDeviceResponse (267)
+#define SOAP_TYPE_dss__GroupAddDeviceResponse (260)
/* dss:GroupAddDeviceResponse */
struct dss__GroupAddDeviceResponse
{
@@ -1737,7 +1692,7 @@
#endif
#ifndef SOAP_TYPE_dss__GroupAddDevice
-#define SOAP_TYPE_dss__GroupAddDevice (268)
+#define SOAP_TYPE_dss__GroupAddDevice (261)
/* dss:GroupAddDevice */
struct dss__GroupAddDevice
{
@@ -1749,7 +1704,7 @@
#endif
#ifndef SOAP_TYPE_dss__GroupRemoveDeviceResponse
-#define SOAP_TYPE_dss__GroupRemoveDeviceResponse (270)
+#define SOAP_TYPE_dss__GroupRemoveDeviceResponse (263)
/* dss:GroupRemoveDeviceResponse */
struct dss__GroupRemoveDeviceResponse
{
@@ -1759,7 +1714,7 @@
#endif
#ifndef SOAP_TYPE_dss__GroupRemoveDevice
-#define SOAP_TYPE_dss__GroupRemoveDevice (271)
+#define SOAP_TYPE_dss__GroupRemoveDevice (264)
/* dss:GroupRemoveDevice */
struct dss__GroupRemoveDevice
{
@@ -1771,7 +1726,7 @@
#endif
#ifndef SOAP_TYPE_dss__DeviceGetFunctionIDResponse
-#define SOAP_TYPE_dss__DeviceGetFunctionIDResponse (273)
+#define SOAP_TYPE_dss__DeviceGetFunctionIDResponse (266)
/* dss:DeviceGetFunctionIDResponse */
struct dss__DeviceGetFunctionIDResponse
{
@@ -1781,7 +1736,7 @@
#endif
#ifndef SOAP_TYPE_dss__DeviceGetFunctionID
-#define SOAP_TYPE_dss__DeviceGetFunctionID (274)
+#define SOAP_TYPE_dss__DeviceGetFunctionID (267)
/* dss:DeviceGetFunctionID */
struct dss__DeviceGetFunctionID
{
@@ -1792,7 +1747,7 @@
#endif
#ifndef SOAP_TYPE_dss__SwitchGetGroupIDResponse
-#define SOAP_TYPE_dss__SwitchGetGroupIDResponse (276)
+#define SOAP_TYPE_dss__SwitchGetGroupIDResponse (269)
/* dss:SwitchGetGroupIDResponse */
struct dss__SwitchGetGroupIDResponse
{
@@ -1802,7 +1757,7 @@
#endif
#ifndef SOAP_TYPE_dss__SwitchGetGroupID
-#define SOAP_TYPE_dss__SwitchGetGroupID (277)
+#define SOAP_TYPE_dss__SwitchGetGroupID (270)
/* dss:SwitchGetGroupID */
struct dss__SwitchGetGroupID
{
@@ -1812,8 +1767,29 @@
};
#endif
+#ifndef SOAP_TYPE_dss__Event
+#define SOAP_TYPE_dss__Event (271)
+/* dss:Event */
+class SOAP_CMAC dss__Event
+{
+public:
+ 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 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;
+ virtual int soap_out(struct soap*, const char*, int, const char*) const;
+ virtual void *soap_get(struct soap*, const char*, const char*);
+ virtual void *soap_in(struct soap*, const char*, const char*);
+ dss__Event() { }
+ virtual ~dss__Event() { }
+};
+#endif
+
#ifndef SOAP_TYPE_dss__EventRaiseResponse
-#define SOAP_TYPE_dss__EventRaiseResponse (279)
+#define SOAP_TYPE_dss__EventRaiseResponse (273)
/* dss:EventRaiseResponse */
struct dss__EventRaiseResponse
{
@@ -1823,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
{
@@ -1836,8 +1812,50 @@
};
#endif
+#ifndef SOAP_TYPE_dss__EventWaitForResponse
+#define SOAP_TYPE_dss__EventWaitForResponse (278)
+/* dss:EventWaitForResponse */
+struct dss__EventWaitForResponse
+{
+public:
+ std::vector<dss__Event >result; /* SOAP 1.2 RPC return element (when namespace qualified) */ /* required element of type dss:Event */
+};
+#endif
+
+#ifndef SOAP_TYPE_dss__EventWaitFor
+#define SOAP_TYPE_dss__EventWaitFor (279)
+/* dss:EventWaitFor */
+struct dss__EventWaitFor
+{
+public:
+ int _token; /* required element of type xsd:int */
+ int _timeout; /* required element of type xsd:int */
+};
+#endif
+
+#ifndef SOAP_TYPE_dss__EventSubscribeToResponse
+#define SOAP_TYPE_dss__EventSubscribeToResponse (281)
+/* dss:EventSubscribeToResponse */
+struct dss__EventSubscribeToResponse
+{
+public:
+ std::string result; /* SOAP 1.2 RPC return element (when namespace qualified) */ /* required element of type xsd:string */
+};
+#endif
+
+#ifndef SOAP_TYPE_dss__EventSubscribeTo
+#define SOAP_TYPE_dss__EventSubscribeTo (282)
+/* dss:EventSubscribeTo */
+struct dss__EventSubscribeTo
+{
+public:
+ int _token; /* required element of type xsd:int */
+ std::string _name; /* required element of type xsd:string */
+};
+#endif
+
#ifndef SOAP_TYPE_dss__PropertyGetTypeResponse
-#define SOAP_TYPE_dss__PropertyGetTypeResponse (282)
+#define SOAP_TYPE_dss__PropertyGetTypeResponse (284)
/* dss:PropertyGetTypeResponse */
struct dss__PropertyGetTypeResponse
{
@@ -1847,7 +1865,7 @@
#endif
#ifndef SOAP_TYPE_dss__PropertyGetType
-#define SOAP_TYPE_dss__PropertyGetType (283)
+#define SOAP_TYPE_dss__PropertyGetType (285)
/* dss:PropertyGetType */
struct dss__PropertyGetType
{
@@ -1858,7 +1876,7 @@
#endif
#ifndef SOAP_TYPE_dss__PropertySetIntResponse
-#define SOAP_TYPE_dss__PropertySetIntResponse (285)
+#define SOAP_TYPE_dss__PropertySetIntResponse (287)
/* dss:PropertySetIntResponse */
struct dss__PropertySetIntResponse
{
@@ -1868,7 +1886,7 @@
#endif
#ifndef SOAP_TYPE_dss__PropertySetInt
-#define SOAP_TYPE_dss__PropertySetInt (286)
+#define SOAP_TYPE_dss__PropertySetInt (288)
/* dss:PropertySetInt */
struct dss__PropertySetInt
{
@@ -1881,7 +1899,7 @@
#endif
#ifndef SOAP_TYPE_dss__PropertySetStringResponse
-#define SOAP_TYPE_dss__PropertySetStringResponse (288)
+#define SOAP_TYPE_dss__PropertySetStringResponse (290)
/* dss:PropertySetStringResponse */
struct dss__PropertySetStringResponse
{
@@ -1891,7 +1909,7 @@
#endif
#ifndef SOAP_TYPE_dss__PropertySetString
-#define SOAP_TYPE_dss__PropertySetString (289)
+#define SOAP_TYPE_dss__PropertySetString (291)
/* dss:PropertySetString */
struct dss__PropertySetString
{
@@ -1904,7 +1922,7 @@
#endif
#ifndef SOAP_TYPE_dss__PropertySetBoolResponse
-#define SOAP_TYPE_dss__PropertySetBoolResponse (291)
+#define SOAP_TYPE_dss__PropertySetBoolResponse (293)
/* dss:PropertySetBoolResponse */
struct dss__PropertySetBoolResponse
{
@@ -1914,7 +1932,7 @@
#endif
#ifndef SOAP_TYPE_dss__PropertySetBool
-#define SOAP_TYPE_dss__PropertySetBool (292)
+#define SOAP_TYPE_dss__PropertySetBool (294)
/* dss:PropertySetBool */
struct dss__PropertySetBool
{
@@ -1927,7 +1945,7 @@
#endif
#ifndef SOAP_TYPE_dss__PropertyGetIntResponse
-#define SOAP_TYPE_dss__PropertyGetIntResponse (294)
+#define SOAP_TYPE_dss__PropertyGetIntResponse (296)
/* dss:PropertyGetIntResponse */
struct dss__PropertyGetIntResponse
{
@@ -1937,7 +1955,7 @@
#endif
#ifndef SOAP_TYPE_dss__PropertyGetInt
-#define SOAP_TYPE_dss__PropertyGetInt (295)
+#define SOAP_TYPE_dss__PropertyGetInt (297)
/* dss:PropertyGetInt */
struct dss__PropertyGetInt
{
@@ -1948,7 +1966,7 @@
#endif
#ifndef SOAP_TYPE_dss__PropertyGetStringResponse
-#define SOAP_TYPE_dss__PropertyGetStringResponse (297)
+#define SOAP_TYPE_dss__PropertyGetStringResponse (299)
/* dss:PropertyGetStringResponse */
struct dss__PropertyGetStringResponse
{
@@ -1958,7 +1976,7 @@
#endif
#ifndef SOAP_TYPE_dss__PropertyGetString
-#define SOAP_TYPE_dss__PropertyGetString (298)
+#define SOAP_TYPE_dss__PropertyGetString (300)
/* dss:PropertyGetString */
struct dss__PropertyGetString
{
@@ -1969,7 +1987,7 @@
#endif
#ifndef SOAP_TYPE_dss__PropertyGetBoolResponse
-#define SOAP_TYPE_dss__PropertyGetBoolResponse (300)
+#define SOAP_TYPE_dss__PropertyGetBoolResponse (302)
/* dss:PropertyGetBoolResponse */
struct dss__PropertyGetBoolResponse
{
@@ -1979,7 +1997,7 @@
#endif
#ifndef SOAP_TYPE_dss__PropertyGetBool
-#define SOAP_TYPE_dss__PropertyGetBool (301)
+#define SOAP_TYPE_dss__PropertyGetBool (303)
/* dss:PropertyGetBool */
struct dss__PropertyGetBool
{
@@ -1990,7 +2008,7 @@
#endif
#ifndef SOAP_TYPE_dss__PropertyGetChildrenResponse
-#define SOAP_TYPE_dss__PropertyGetChildrenResponse (303)
+#define SOAP_TYPE_dss__PropertyGetChildrenResponse (305)
/* dss:PropertyGetChildrenResponse */
struct dss__PropertyGetChildrenResponse
{
@@ -2000,7 +2018,7 @@
#endif
#ifndef SOAP_TYPE_dss__PropertyGetChildren
-#define SOAP_TYPE_dss__PropertyGetChildren (304)
+#define SOAP_TYPE_dss__PropertyGetChildren (306)
/* dss:PropertyGetChildren */
struct dss__PropertyGetChildren
{
@@ -2011,7 +2029,7 @@
#endif
#ifndef SOAP_TYPE_SOAP_ENV__Header
-#define SOAP_TYPE_SOAP_ENV__Header (305)
+#define SOAP_TYPE_SOAP_ENV__Header (307)
/* SOAP Header: */
struct SOAP_ENV__Header
{
@@ -2023,7 +2041,7 @@
#endif
#ifndef SOAP_TYPE_SOAP_ENV__Code
-#define SOAP_TYPE_SOAP_ENV__Code (306)
+#define SOAP_TYPE_SOAP_ENV__Code (308)
/* SOAP Fault Code: */
struct SOAP_ENV__Code
{
@@ -2034,7 +2052,7 @@
#endif
#ifndef SOAP_TYPE_SOAP_ENV__Detail
-#define SOAP_TYPE_SOAP_ENV__Detail (308)
+#define SOAP_TYPE_SOAP_ENV__Detail (310)
/* SOAP-ENV:Detail */
struct SOAP_ENV__Detail
{
@@ -2046,7 +2064,7 @@
#endif
#ifndef SOAP_TYPE_SOAP_ENV__Reason
-#define SOAP_TYPE_SOAP_ENV__Reason (311)
+#define SOAP_TYPE_SOAP_ENV__Reason (313)
/* SOAP-ENV:Reason */
struct SOAP_ENV__Reason
{
@@ -2056,7 +2074,7 @@
#endif
#ifndef SOAP_TYPE_SOAP_ENV__Fault
-#define SOAP_TYPE_SOAP_ENV__Fault (312)
+#define SOAP_TYPE_SOAP_ENV__Fault (314)
/* SOAP Fault: */
struct SOAP_ENV__Fault
{
@@ -2260,10 +2278,6 @@
SOAP_FMAC5 int SOAP_FMAC6 dss__DeviceGetZoneID(struct soap*, int _token, char *_deviceID, int &result);
-SOAP_FMAC5 int SOAP_FMAC6 dss__DeviceSetLocation(struct soap*, int _token, char *_deviceID, struct DeviceLocation _location, bool &result);
-
-SOAP_FMAC5 int SOAP_FMAC6 dss__DeviceGetLocation(struct soap*, int _token, char *_deviceID, struct DeviceLocation &result);
-
SOAP_FMAC5 int SOAP_FMAC6 dss__ModulatorGetPowerConsumption(struct soap*, int _token, int _modulatorID, unsigned long &result);
SOAP_FMAC5 int SOAP_FMAC6 dss__ApartmentGetModulatorIDs(struct soap*, int _token, std::vector<std::string >&ids);
@@ -2294,6 +2308,10 @@
SOAP_FMAC5 int SOAP_FMAC6 dss__EventRaise(struct soap*, int _token, char *_eventName, char *_context, char *_parameter, char *_location, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__EventWaitFor(struct soap*, int _token, int _timeout, std::vector<dss__Event >&result);
+
+SOAP_FMAC5 int SOAP_FMAC6 dss__EventSubscribeTo(struct soap*, int _token, std::string _name, std::string &result);
+
SOAP_FMAC5 int SOAP_FMAC6 dss__PropertyGetType(struct soap*, int _token, std::string _propertyName, std::string &result);
SOAP_FMAC5 int SOAP_FMAC6 dss__PropertySetInt(struct soap*, int _token, std::string _propertyName, int _value, bool _mayCreate, bool &result);
@@ -2452,10 +2470,6 @@
SOAP_FMAC5 int SOAP_FMAC6 soap_serve_dss__DeviceGetZoneID(struct soap*);
-SOAP_FMAC5 int SOAP_FMAC6 soap_serve_dss__DeviceSetLocation(struct soap*);
-
-SOAP_FMAC5 int SOAP_FMAC6 soap_serve_dss__DeviceGetLocation(struct soap*);
-
SOAP_FMAC5 int SOAP_FMAC6 soap_serve_dss__ModulatorGetPowerConsumption(struct soap*);
SOAP_FMAC5 int SOAP_FMAC6 soap_serve_dss__ApartmentGetModulatorIDs(struct soap*);
@@ -2486,6 +2500,10 @@
SOAP_FMAC5 int SOAP_FMAC6 soap_serve_dss__EventRaise(struct soap*);
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_dss__EventWaitFor(struct soap*);
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_dss__EventSubscribeTo(struct soap*);
+
SOAP_FMAC5 int SOAP_FMAC6 soap_serve_dss__PropertyGetType(struct soap*);
SOAP_FMAC5 int SOAP_FMAC6 soap_serve_dss__PropertySetInt(struct soap*);
Modified: dss/trunk/webservices/soapdssObject.h
===================================================================
--- dss/trunk/webservices/soapdssObject.h 2009-09-22 15:09:31 UTC (rev 8789)
+++ dss/trunk/webservices/soapdssObject.h 2009-09-22 15:14:59 UTC (rev 8790)
@@ -176,10 +176,6 @@
SOAP_FMAC5 int SOAP_FMAC6 dss__DeviceGetZoneID(struct soap*, int _token, char *_deviceID, int &result);
-SOAP_FMAC5 int SOAP_FMAC6 dss__DeviceSetLocation(struct soap*, int _token, char *_deviceID, struct DeviceLocation _location, bool &result);
-
-SOAP_FMAC5 int SOAP_FMAC6 dss__DeviceGetLocation(struct soap*, int _token, char *_deviceID, struct DeviceLocation &result);
-
SOAP_FMAC5 int SOAP_FMAC6 dss__ModulatorGetPowerConsumption(struct soap*, int _token, int _modulatorID, unsigned long &result);
SOAP_FMAC5 int SOAP_FMAC6 dss__ApartmentGetModulatorIDs(struct soap*, int _token, std::vector<std::string >&ids);
@@ -210,6 +206,10 @@
SOAP_FMAC5 int SOAP_FMAC6 dss__EventRaise(struct soap*, int _token, char *_eventName, char *_context, char *_parameter, char *_location, bool &result);
+SOAP_FMAC5 int SOAP_FMAC6 dss__EventWaitFor(struct soap*, int _token, int _timeout, std::vector<dss__Event >&result);
+
+SOAP_FMAC5 int SOAP_FMAC6 dss__EventSubscribeTo(struct soap*, int _token, std::string _name, std::string &result);
+
SOAP_FMAC5 int SOAP_FMAC6 dss__PropertyGetType(struct soap*, int _token, std::string _propertyName, std::string &result);
SOAP_FMAC5 int SOAP_FMAC6 dss__PropertySetInt(struct soap*, int _token, std::string _propertyName, int _value, bool _mayCreate, bool &result);
Modified: dss/trunk/webservices/webservices.cpp
===================================================================
--- dss/trunk/webservices/webservices.cpp 2009-09-22 15:09:31 UTC (rev 8789)
+++ dss/trunk/webservices/webservices.cpp 2009-09-22 15:14:59 UTC (rev 8790)
@@ -5,6 +5,8 @@
#include <boost/foreach.hpp>
+#include "core/dss.h"
+
namespace dss {
//================================================== WebServices
@@ -92,14 +94,88 @@
}
+ //================================================== WebServiceEventListener
+
+ class WebServiceEventListener : public EventRelayTarget {
+ public:
+ WebServiceEventListener(EventInterpreterInternalRelay& _relay)
+ : EventRelayTarget(_relay)
+ { } // ctor
+ ~WebServiceEventListener() {
+ while(!m_Subscriptions.empty()) {
+ DSS::getInstance()->getEventInterpreter().unsubscribe(m_Subscriptions.front()->getID());
+ m_Subscriptions.erase(m_Subscriptions.begin());
+ }
+ } // dtor
+
+ virtual void handleEvent(Event& _event, const EventSubscription& _subscription);
+ bool waitForEvent(const int _timeoutMS);
+ Event popEvent();
+ bool hasEvent() { return !m_PendingEvents.empty(); }
+
+ virtual std::string subscribeTo(const std::string& _eventName);
+ private:
+ SyncEvent m_EventArrived;
+ Mutex m_PendingEventsMutex;
+ std::vector<Event> m_PendingEvents;
+ std::vector<boost::shared_ptr<EventSubscription> > m_Subscriptions;
+ }; // WebServiceEventListener
+
+ void WebServiceEventListener::handleEvent(Event& _event, const EventSubscription& _subscription) {
+ m_PendingEventsMutex.lock();
+ m_PendingEvents.push_back(_event);
+ m_PendingEventsMutex.unlock();
+ m_EventArrived.signal();
+ } // handleEvent
+
+ bool WebServiceEventListener::waitForEvent(const int _timeoutMS) {
+ if(m_PendingEvents.empty()) {
+ if(_timeoutMS == 0) {
+ m_EventArrived.waitFor();
+ } else if(_timeoutMS > 0) {
+ m_EventArrived.waitFor(_timeoutMS);
+ }
+ }
+ return !m_PendingEvents.empty();
+ } // waitForEvent
+
+ Event WebServiceEventListener::popEvent() {
+ Event result;
+ m_PendingEventsMutex.lock();
+ result = m_PendingEvents.front();
+ m_PendingEvents.erase(m_PendingEvents.begin());
+ m_PendingEventsMutex.unlock();
+ return result;
+ } // popEvent
+
+ std::string WebServiceEventListener::subscribeTo(const std::string& _eventName) {
+ boost::shared_ptr<EventSubscription> subscription(
+ new dss::EventSubscription(
+ _eventName,
+ EventInterpreterInternalRelay::getPluginName(),
+ DSS::getInstance()->getEventInterpreter(),
+ boost::shared_ptr<dss::SubscriptionOptions>()
+ )
+ );
+
+ EventRelayTarget::subscribeTo(subscription);
+ m_Subscriptions.push_back(subscription);
+ DSS::getInstance()->getEventInterpreter().subscribe(subscription);
+
+ return subscription->getID();
+ } // subscribeTo
+
+
//================================================== WebServiceSession
WebServiceSession::WebServiceSession(const int _tokenID, soap* _soapRequest)
: Session(_tokenID),
m_OriginatorIP(_soapRequest->ip)
- {
- } // ctor
+ { } // ctor
+ WebServiceSession::~WebServiceSession() {
+ } // dtor
+
bool WebServiceSession::isOwner(soap* _soapRequest) {
return _soapRequest->ip == m_OriginatorIP;
} // isOwner
@@ -111,7 +187,42 @@
return *this;
} // operator=
+ void WebServiceSession::createListener() {
+ if(m_pEventListener == NULL) {
+ EventInterpreterInternalRelay* pPlugin =
+ dynamic_cast<EventInterpreterInternalRelay*>(
+ DSS::getInstance()->getEventInterpreter().getPluginByName(
+ std::string(EventInterpreterInternalRelay::getPluginName())
+ )
+ );
+ if(pPlugin == NULL) {
+ throw new std::runtime_error("Need EventInterpreterInternalRelay to be registered");
+ }
+ m_pEventListener.reset(new WebServiceEventListener(*pPlugin));
+ }
+ assert(m_pEventListener != NULL);
+ } // createListener
+ bool WebServiceSession::waitForEvent(const int _timeoutMS) {
+ createListener();
+ return m_pEventListener->waitForEvent(_timeoutMS);
+ } // waitForEvent
+
+ Event WebServiceSession::popEvent() {
+ createListener();
+ return m_pEventListener->popEvent();
+ } // popEvent
+
+ std::string WebServiceSession::subscribeTo(const std::string& _eventName) {
+ return m_pEventListener->subscribeTo(_eventName);
+ } // subscribeTo
+
+ bool WebServiceSession::hasEvent() {
+ createListener();
+ return m_pEventListener->hasEvent();
+ } // hasEvent
+
+
//================================================== WebServicesWorker
WebServicesWorker::WebServicesWorker(WebServices* _services)
Modified: dss/trunk/webservices/webservices.h
===================================================================
--- dss/trunk/webservices/webservices.h 2009-09-22 15:09:31 UTC (rev 8789)
+++ dss/trunk/webservices/webservices.h 2009-09-22 15:14:59 UTC (rev 8790)
@@ -9,6 +9,8 @@
#include "core/session.h"
#include "core/mutex.h"
#include "core/syncevent.h"
+#include "core/event.h"
+#include "core/eventinterpreterplugins.h"
#include <deque>
@@ -19,16 +21,27 @@
class WebServicesWorker;
+ class WebServiceEventListener;
+
class WebServiceSession : public Session {
protected:
uint32_t m_OriginatorIP;
+ boost::shared_ptr<WebServiceEventListener> m_pEventListener;
+ private:
+ void createListener();
public:
WebServiceSession() {}
WebServiceSession(const int _tokenID, soap* _soapRequest);
+ virtual ~WebServiceSession();
bool isOwner(soap* _soapRequest);
WebServiceSession& operator=(const WebServiceSession& _other);
+ bool waitForEvent(const int _timeoutMS);
+ Event popEvent();
+ bool hasEvent();
+
+ std::string subscribeTo(const std::string& _eventName);
}; // WebServiceSession
typedef boost::ptr_map<const int, WebServiceSession> WebServiceSessionByID;
More information about the dss-commits
mailing list