Commit 7819b43b authored by Pavel Vainerman's avatar Pavel Vainerman

(uniset-codegen): Исключил поддержку vartype="io" т.к. такой вид переменных…

(uniset-codegen): Исключил поддержку vartype="io" т.к. такой вид переменных приводит к "неочевидным" проблемам с зацикливанием.
parent 51bb22c7
...@@ -113,10 +113,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::preSensorInfo( UniSetTypes::SensorM ...@@ -113,10 +113,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::preSensorInfo( UniSetTypes::SensorM
if( _sm->id == <xsl:value-of select="../../@name"/> ) if( _sm->id == <xsl:value-of select="../../@name"/> )
<xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> = _sm->value; <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> = _sm->value;
</xsl:if> </xsl:if>
<xsl:if test="normalize-space(@vartype)='io'">
if( _sm->id == <xsl:value-of select="../../@name"/> )
<xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> = _sm->value;
</xsl:if>
</xsl:if> </xsl:if>
</xsl:if> </xsl:if>
</xsl:for-each> </xsl:for-each>
...@@ -148,9 +144,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::preAskSensors( UniversalIO::UIOComm ...@@ -148,9 +144,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::preAskSensors( UniversalIO::UIOComm
<xsl:if test="normalize-space(@vartype)='in'"> <xsl:if test="normalize-space(@vartype)='in'">
ui.askRemoteSensor(<xsl:value-of select="../../@name"/>,_cmd,node_<xsl:value-of select="../../@name"/>, getId()); ui.askRemoteSensor(<xsl:value-of select="../../@name"/>,_cmd,node_<xsl:value-of select="../../@name"/>, getId());
</xsl:if> </xsl:if>
<xsl:if test="normalize-space(@vartype)='io'">
ui.askRemoteSensor(<xsl:value-of select="../../@name"/>,_cmd,node_<xsl:value-of select="../../@name"/>, getId());
</xsl:if>
</xsl:if> </xsl:if>
</xsl:for-each> </xsl:for-each>
return; return;
...@@ -186,15 +179,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setValue( UniSetTypes::ObjectId _si ...@@ -186,15 +179,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setValue( UniSetTypes::ObjectId _si
return; return;
} }
</xsl:if> </xsl:if>
<xsl:if test="normalize-space(@vartype)='io'">
if( _sid == <xsl:value-of select="../../@name"/> )
{
unideb[Debug::LEVEL2] &lt;&lt; "(setValue): <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> = " &lt;&lt; _val &lt;&lt; endl;
<xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> = _val;
<xsl:call-template name="setdata"/>
return;
}
</xsl:if>
</xsl:if> </xsl:if>
</xsl:if> </xsl:if>
</xsl:for-each> </xsl:for-each>
...@@ -266,13 +250,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::updateOutputs( bool _force ) ...@@ -266,13 +250,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::updateOutputs( bool _force )
prev_<xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> = <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/>; prev_<xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> = <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/>;
} }
</xsl:when> </xsl:when>
<xsl:when test="normalize-space(@vartype)='io'">
if( _force || prev_<xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> != <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> )
{
<xsl:call-template name="setdata"/>
prev_<xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> = <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/>;
}
</xsl:when>
</xsl:choose> </xsl:choose>
</xsl:if> </xsl:if>
</xsl:if> </xsl:if>
...@@ -344,7 +321,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code ...@@ -344,7 +321,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code
<xsl:if test="normalize-space(@name)=$OID"> <xsl:if test="normalize-space(@name)=$OID">
<xsl:choose> <xsl:choose>
<xsl:when test="normalize-space(@vartype)='out'"><xsl:call-template name="gensetdata"/></xsl:when> <xsl:when test="normalize-space(@vartype)='out'"><xsl:call-template name="gensetdata"/></xsl:when>
<xsl:when test="normalize-space(@vartype)='io'"><xsl:call-template name="gensetdata"/></xsl:when>
</xsl:choose> </xsl:choose>
</xsl:if> </xsl:if>
</xsl:if> </xsl:if>
...@@ -356,7 +332,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code ...@@ -356,7 +332,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code
<xsl:if test="normalize-space(@name)=$OID"> <xsl:if test="normalize-space(@name)=$OID">
<xsl:choose> <xsl:choose>
<xsl:when test="normalize-space(@vartype)='out'"><xsl:call-template name="setdata_val"><xsl:with-param name="setval" select="0"/></xsl:call-template></xsl:when> <xsl:when test="normalize-space(@vartype)='out'"><xsl:call-template name="setdata_val"><xsl:with-param name="setval" select="0"/></xsl:call-template></xsl:when>
<xsl:when test="normalize-space(@vartype)='io'"><xsl:call-template name="setdata_val"><xsl:with-param name="setval" select="0"/></xsl:call-template></xsl:when>
</xsl:choose> </xsl:choose>
</xsl:if> </xsl:if>
</xsl:if> </xsl:if>
......
...@@ -117,7 +117,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::preAskSensors( UniversalIO::UIOComm ...@@ -117,7 +117,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::preAskSensors( UniversalIO::UIOComm
<xsl:for-each select="//sensors/item/consumers/consumer"> <xsl:for-each select="//sensors/item/consumers/consumer">
<xsl:choose> <xsl:choose>
<xsl:when test="normalize-space(@vartype)='in'"><xsl:call-template name="check_changes"><xsl:with-param name="onlymsg" select="1"/></xsl:call-template></xsl:when> <xsl:when test="normalize-space(@vartype)='in'"><xsl:call-template name="check_changes"><xsl:with-param name="onlymsg" select="1"/></xsl:call-template></xsl:when>
<xsl:when test="normalize-space(@vartype)='io'"><xsl:call-template name="check_changes"><xsl:with-param name="onlymsg" select="1"/></xsl:call-template></xsl:when>
</xsl:choose> </xsl:choose>
</xsl:for-each> </xsl:for-each>
} }
...@@ -168,14 +167,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setValue( UniSetTypes::ObjectId _si ...@@ -168,14 +167,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setValue( UniSetTypes::ObjectId _si
return; return;
} }
</xsl:if> </xsl:if>
<xsl:if test="normalize-space(@vartype)='io'">
if( _sid == <xsl:value-of select="../../@name"/> )
{
unideb[Debug::LEVEL2] &lt;&lt; "(setValue): <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> = " &lt;&lt; _val &lt;&lt; endl;
<xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> = _val;
return;
}
</xsl:if>
</xsl:if> </xsl:if>
</xsl:if> </xsl:if>
</xsl:for-each> </xsl:for-each>
...@@ -268,7 +259,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code ...@@ -268,7 +259,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code
<xsl:if test="normalize-space(@name)=$OID"> <xsl:if test="normalize-space(@name)=$OID">
<xsl:choose> <xsl:choose>
<xsl:when test="normalize-space(@vartype)='out'"><xsl:call-template name="gensetdata"/></xsl:when> <xsl:when test="normalize-space(@vartype)='out'"><xsl:call-template name="gensetdata"/></xsl:when>
<xsl:when test="normalize-space(@vartype)='io'"><xsl:call-template name="gensetdata"/></xsl:when>
</xsl:choose> </xsl:choose>
</xsl:if> </xsl:if>
</xsl:if> </xsl:if>
...@@ -280,7 +270,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code ...@@ -280,7 +270,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code
<xsl:if test="normalize-space(@name)=$OID"> <xsl:if test="normalize-space(@name)=$OID">
<xsl:choose> <xsl:choose>
<xsl:when test="normalize-space(@vartype)='out'"><xsl:call-template name="setdata_val"><xsl:with-param name="setval" select="0"/></xsl:call-template></xsl:when> <xsl:when test="normalize-space(@vartype)='out'"><xsl:call-template name="setdata_val"><xsl:with-param name="setval" select="0"/></xsl:call-template></xsl:when>
<xsl:when test="normalize-space(@vartype)='io'"><xsl:call-template name="setdata_val"><xsl:with-param name="setval" select="0"/></xsl:call-template></xsl:when>
</xsl:choose> </xsl:choose>
</xsl:if> </xsl:if>
</xsl:if> </xsl:if>
......
...@@ -116,15 +116,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setValue( UniSetTypes::ObjectId _si ...@@ -116,15 +116,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setValue( UniSetTypes::ObjectId _si
return; return;
} }
</xsl:if> </xsl:if>
<xsl:if test="normalize-space(@vartype)='io'">
if( _sid == <xsl:value-of select="@name"/> )
{
unideb[Debug::LEVEL2] &lt;&lt; "(setState): <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> = " &lt;&lt; _val &lt;&lt; endl;
<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> = _val;
<xsl:call-template name="setdata"/>
return;
}
</xsl:if>
</xsl:for-each> </xsl:for-each>
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -135,7 +126,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::updateOutputs( bool _force ) ...@@ -135,7 +126,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::updateOutputs( bool _force )
{ {
<xsl:choose> <xsl:choose>
<xsl:when test="normalize-space(@vartype)='out'"><xsl:call-template name="setdata"/></xsl:when> <xsl:when test="normalize-space(@vartype)='out'"><xsl:call-template name="setdata"/></xsl:when>
<xsl:when test="normalize-space(@vartype)='io'"><xsl:call-template name="setdata"/></xsl:when>
</xsl:choose> </xsl:choose>
prev_<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> = <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/>; prev_<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> = <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/>;
} }
...@@ -161,10 +151,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::preSensorInfo( UniSetTypes::SensorM ...@@ -161,10 +151,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::preSensorInfo( UniSetTypes::SensorM
if( _sm->id == <xsl:value-of select="@name"/> ) if( _sm->id == <xsl:value-of select="@name"/> )
<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> = _sm->value; <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> = _sm->value;
</xsl:if> </xsl:if>
<xsl:if test="normalize-space(@vartype)='io'">
if( _sm->id == <xsl:value-of select="@name"/> )
<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> = _sm->value;
</xsl:if>
</xsl:for-each> </xsl:for-each>
sensorInfo(_sm); sensorInfo(_sm);
...@@ -244,10 +230,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::preAskSensors( UniversalIO::UIOComm ...@@ -244,10 +230,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::preAskSensors( UniversalIO::UIOComm
if( <xsl:value-of select="@name"/> != DefaultObjectId ) if( <xsl:value-of select="@name"/> != DefaultObjectId )
ui.askRemoteSensor(<xsl:value-of select="@name"/>,_cmd,node_<xsl:value-of select="@name"/>,getId()); ui.askRemoteSensor(<xsl:value-of select="@name"/>,_cmd,node_<xsl:value-of select="@name"/>,getId());
</xsl:if> </xsl:if>
<xsl:if test="normalize-space(@vartype)='io'">
if( <xsl:value-of select="@name"/> != DefaultObjectId )
ui.askRemoteSensor(<xsl:value-of select="@name"/>,_cmd,node_<xsl:value-of select="@name"/>,getId());
</xsl:if>
</xsl:for-each> </xsl:for-each>
return; return;
} }
......
...@@ -120,14 +120,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setValue( UniSetTypes::ObjectId sid ...@@ -120,14 +120,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setValue( UniSetTypes::ObjectId sid
return; return;
} }
</xsl:if> </xsl:if>
<xsl:if test="normalize-space(@vartype)='io'">
if( sid == <xsl:value-of select="@name"/> )
{
unideb[Debug::LEVEL2] &lt;&lt; "(setValue): <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> = " &lt;&lt; val &lt;&lt; endl;
<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> = val;
return;
}
</xsl:if>
</xsl:for-each> </xsl:for-each>
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -136,7 +128,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::updateOutputs( bool force ) ...@@ -136,7 +128,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::updateOutputs( bool force )
<xsl:for-each select="//smap/item"> <xsl:for-each select="//smap/item">
<xsl:choose> <xsl:choose>
<xsl:when test="normalize-space(@vartype)='out'"><xsl:call-template name="setdata"/></xsl:when> <xsl:when test="normalize-space(@vartype)='out'"><xsl:call-template name="setdata"/></xsl:when>
<xsl:when test="normalize-space(@vartype)='io'"><xsl:call-template name="setdata"/></xsl:when>
</xsl:choose> </xsl:choose>
</xsl:for-each> </xsl:for-each>
...@@ -154,7 +145,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::preAskSensors( UniversalIO::UIOComm ...@@ -154,7 +145,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::preAskSensors( UniversalIO::UIOComm
<xsl:for-each select="//smap/item"> <xsl:for-each select="//smap/item">
<xsl:choose> <xsl:choose>
<xsl:when test="normalize-space(@vartype)='in'"><xsl:call-template name="check_changes"><xsl:with-param name="onlymsg" select="1"/></xsl:call-template></xsl:when> <xsl:when test="normalize-space(@vartype)='in'"><xsl:call-template name="check_changes"><xsl:with-param name="onlymsg" select="1"/></xsl:call-template></xsl:when>
<xsl:when test="normalize-space(@vartype)='io'"><xsl:call-template name="check_changes"><xsl:with-param name="onlymsg" select="1"/></xsl:call-template></xsl:when>
</xsl:choose> </xsl:choose>
</xsl:for-each> </xsl:for-each>
} }
......
...@@ -27,8 +27,8 @@ ...@@ -27,8 +27,8 @@
<xsl:choose> <xsl:choose>
<xsl:when test="normalize-space(@vartype)='in'">in_</xsl:when> <xsl:when test="normalize-space(@vartype)='in'">in_</xsl:when>
<xsl:when test="normalize-space(@vartype)='out'">out_</xsl:when> <xsl:when test="normalize-space(@vartype)='out'">out_</xsl:when>
<xsl:when test="normalize-space(@vartype)='io'">io_</xsl:when>
<xsl:when test="normalize-space(@vartype)='none'">nn_</xsl:when> <xsl:when test="normalize-space(@vartype)='none'">nn_</xsl:when>
<xsl:when test="normalize-space(@vartype)='io'">NOTSUPPORTED_IO_VARTYPE_</xsl:when>
</xsl:choose> </xsl:choose>
</xsl:template> </xsl:template>
...@@ -56,12 +56,18 @@ ...@@ -56,12 +56,18 @@
<xsl:if test="normalize-space(@name)=$OID"> <xsl:if test="normalize-space(@name)=$OID">
<xsl:choose> <xsl:choose>
<xsl:when test="$GENTYPE='H'"> <xsl:when test="$GENTYPE='H'">
<xsl:if test="normalize-space(@vartype)!='io'">
const UniSetTypes::ObjectId <xsl:value-of select="../../@name"/>; /*!&lt; <xsl:value-of select="../../@textname"/> */ const UniSetTypes::ObjectId <xsl:value-of select="../../@name"/>; /*!&lt; <xsl:value-of select="../../@textname"/> */
UniSetTypes::ObjectId node_<xsl:value-of select="../../@name"/>; UniSetTypes::ObjectId node_<xsl:value-of select="../../@name"/>;
<xsl:call-template name="settype"><xsl:with-param name="iotype" select="../../@iotype" /></xsl:call-template><xsl:text> </xsl:text><xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/>; /*!&lt; текущее значение */ <xsl:call-template name="settype"><xsl:with-param name="iotype" select="../../@iotype" /></xsl:call-template><xsl:text> </xsl:text><xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/>; /*!&lt; текущее значение */
<xsl:call-template name="settype"><xsl:with-param name="iotype" select="../../@iotype" /></xsl:call-template><xsl:text> prev_</xsl:text><xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/>; /*!&lt; предыдущее значение */ <xsl:call-template name="settype"><xsl:with-param name="iotype" select="../../@iotype" /></xsl:call-template><xsl:text> prev_</xsl:text><xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/>; /*!&lt; предыдущее значение */
</xsl:if>
<xsl:if test="normalize-space(@vartype)='io'">#warning (uniset-codegen): vartype='io' NO LONGER SUPPORTED! (ignore variable: '<xsl:value-of select="../../@name"/>')
</xsl:if>
</xsl:when> </xsl:when>
<xsl:when test="$GENTYPE='C'"><xsl:value-of select="../../@name"/>(<xsl:value-of select="../../@id"/>), <xsl:when test="$GENTYPE='C'">
<xsl:if test="normalize-space(@vartype)!='io'">
<xsl:value-of select="../../@name"/>(<xsl:value-of select="../../@id"/>),
<xsl:if test="not(normalize-space(../../@node)='')"> <xsl:if test="not(normalize-space(../../@node)='')">
node_<xsl:value-of select="../../@name"/>(conf->getNodeID("<xsl:value-of select="../../@node"/>")), node_<xsl:value-of select="../../@name"/>(conf->getNodeID("<xsl:value-of select="../../@node"/>")),
</xsl:if> </xsl:if>
...@@ -74,9 +80,12 @@ ...@@ -74,9 +80,12 @@
<xsl:if test="not(normalize-space(../../@default)='')"> <xsl:if test="not(normalize-space(../../@default)='')">
<xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/>(<xsl:value-of select="../../@default"/>), <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/>(<xsl:value-of select="../../@default"/>),
</xsl:if> </xsl:if>
</xsl:if>
</xsl:when> </xsl:when>
<xsl:when test="$GENTYPE='CHECK'"> <xsl:when test="$GENTYPE='CHECK'">
<xsl:if test="normalize-space(@vartype)!='io'">
<xsl:if test="normalize-space(../../@id)=''">throw SystemException("Not Found ID for <xsl:value-of select="../../@name"/>");</xsl:if> <xsl:if test="normalize-space(../../@id)=''">throw SystemException("Not Found ID for <xsl:value-of select="../../@name"/>");</xsl:if>
</xsl:if>
</xsl:when> </xsl:when>
</xsl:choose> </xsl:choose>
</xsl:if> </xsl:if>
...@@ -496,8 +505,10 @@ using namespace UniSetTypes; ...@@ -496,8 +505,10 @@ using namespace UniSetTypes;
<xsl:value-of select="$CLASSNAME"/>_SK::<xsl:value-of select="$CLASSNAME"/>_SK(): <xsl:value-of select="$CLASSNAME"/>_SK::<xsl:value-of select="$CLASSNAME"/>_SK():
// Инициализация идентификаторов (имена берутся из конф. файла) // Инициализация идентификаторов (имена берутся из конф. файла)
<xsl:for-each select="//smap/item"> <xsl:for-each select="//smap/item">
<xsl:if test="normalize-space(@vartype)!='io'">
<xsl:value-of select="@name"/>(DefaultObjectId), <xsl:value-of select="@name"/>(DefaultObjectId),
node_<xsl:value-of select="@name"/>(DefaultObjectId), node_<xsl:value-of select="@name"/>(DefaultObjectId),
</xsl:if>
</xsl:for-each> </xsl:for-each>
// Используемые идентификаторы сообщений (имена берутся из конф. файла) // Используемые идентификаторы сообщений (имена берутся из конф. файла)
<xsl:for-each select="//msgmap/item"><xsl:value-of select="@name"/>(DefaultObjectId), <xsl:for-each select="//msgmap/item"><xsl:value-of select="@name"/>(DefaultObjectId),
...@@ -553,8 +564,10 @@ static const std::string init3_str(const std::string s1, const std::string s2, c ...@@ -553,8 +564,10 @@ static const std::string init3_str(const std::string s1, const std::string s2, c
<xsl:if test="normalize-space($BASECLASS)=''">UniSetObject(id),</xsl:if> <xsl:if test="normalize-space($BASECLASS)=''">UniSetObject(id),</xsl:if>
// Инициализация идентификаторов (имена берутся из конф. файла) // Инициализация идентификаторов (имена берутся из конф. файла)
<xsl:for-each select="//smap/item"> <xsl:for-each select="//smap/item">
<xsl:if test="normalize-space(@vartype)!='io'">
<xsl:value-of select="normalize-space(@name)"/>(conf->getSensorID(conf->getProp(cnode,"<xsl:value-of select="normalize-space(@name)"/>"))), <xsl:value-of select="normalize-space(@name)"/>(conf->getSensorID(conf->getProp(cnode,"<xsl:value-of select="normalize-space(@name)"/>"))),
node_<xsl:value-of select="normalize-space(@name)"/>( conf->getNodeID(conf->getProp(cnode,"node_<xsl:value-of select="normalize-space(@name)"/>")) ), node_<xsl:value-of select="normalize-space(@name)"/>( conf->getNodeID(conf->getProp(cnode,"node_<xsl:value-of select="normalize-space(@name)"/>")) ),
</xsl:if>
</xsl:for-each> </xsl:for-each>
// Используемые идентификаторы сообщений (имена берутся из конф. файла) // Используемые идентификаторы сообщений (имена берутся из конф. файла)
<xsl:for-each select="//msgmap/item"><xsl:value-of select="normalize-space(@name)"/>(conf->getSensorID(conf->getProp(cnode,"<xsl:value-of select="normalize-space(@name)"/>"))), <xsl:for-each select="//msgmap/item"><xsl:value-of select="normalize-space(@name)"/>(conf->getSensorID(conf->getProp(cnode,"<xsl:value-of select="normalize-space(@name)"/>"))),
...@@ -744,14 +757,12 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::updateValues() ...@@ -744,14 +757,12 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::updateValues()
<xsl:for-each select="//smap/item"> <xsl:for-each select="//smap/item">
<xsl:choose> <xsl:choose>
<xsl:when test="normalize-space(@vartype)='in'"><xsl:call-template name="getdata"/></xsl:when> <xsl:when test="normalize-space(@vartype)='in'"><xsl:call-template name="getdata"/></xsl:when>
<xsl:when test="normalize-space(@vartype)='io'"><xsl:call-template name="getdata"/></xsl:when>
</xsl:choose> </xsl:choose>
</xsl:for-each> </xsl:for-each>
<!-- <!--
<xsl:for-each select="//smap/item"> <xsl:for-each select="//smap/item">
<xsl:choose> <xsl:choose>
<xsl:when test="normalize-space(@vartype)='in'"><xsl:call-template name="getdata"><xsl:with-param name="output" select="1"/></xsl:call-template></xsl:when> <xsl:when test="normalize-space(@vartype)='in'"><xsl:call-template name="getdata"><xsl:with-param name="output" select="1"/></xsl:call-template></xsl:when>
<xsl:when test="normalize-space(@vartype)='io'"><xsl:call-template name="getdata"><xsl:with-param name="output" select="1"/></xsl:call-template></xsl:when>
</xsl:choose> </xsl:choose>
</xsl:for-each> </xsl:for-each>
--> -->
...@@ -771,7 +782,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::checkSensors() ...@@ -771,7 +782,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::checkSensors()
<xsl:for-each select="//smap/item"> <xsl:for-each select="//smap/item">
<xsl:choose> <xsl:choose>
<xsl:when test="normalize-space(@vartype)='in'"><xsl:call-template name="check_changes"/></xsl:when> <xsl:when test="normalize-space(@vartype)='in'"><xsl:call-template name="check_changes"/></xsl:when>
<xsl:when test="normalize-space(@vartype)='io'"><xsl:call-template name="check_changes"/></xsl:when>
</xsl:choose> </xsl:choose>
</xsl:for-each> </xsl:for-each>
} }
...@@ -846,7 +856,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::testMode( bool _state ) ...@@ -846,7 +856,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::testMode( bool _state )
<xsl:for-each select="//smap/item"> <xsl:for-each select="//smap/item">
<xsl:choose> <xsl:choose>
<xsl:when test="normalize-space(@vartype)='out'"><xsl:call-template name="setdata_value"><xsl:with-param name="setval" select="0"/></xsl:call-template></xsl:when> <xsl:when test="normalize-space(@vartype)='out'"><xsl:call-template name="setdata_value"><xsl:with-param name="setval" select="0"/></xsl:call-template></xsl:when>
<xsl:when test="normalize-space(@vartype)='io'"><xsl:call-template name="setdata_value"><xsl:with-param name="setval" select="0"/></xsl:call-template></xsl:when>
</xsl:choose> </xsl:choose>
</xsl:for-each> </xsl:for-each>
} }
...@@ -996,7 +1005,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::updateValues() ...@@ -996,7 +1005,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::updateValues()
<xsl:for-each select="//sensors/item/consumers/consumer"> <xsl:for-each select="//sensors/item/consumers/consumer">
<xsl:choose> <xsl:choose>
<xsl:when test="normalize-space(@vartype)='in'"><xsl:call-template name="getdata"/></xsl:when> <xsl:when test="normalize-space(@vartype)='in'"><xsl:call-template name="getdata"/></xsl:when>
<xsl:when test="normalize-space(@vartype)='io'"><xsl:call-template name="getdata"/></xsl:when>
</xsl:choose> </xsl:choose>
</xsl:for-each> </xsl:for-each>
} }
...@@ -1015,7 +1023,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::checkSensors() ...@@ -1015,7 +1023,6 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::checkSensors()
<xsl:for-each select="//sensors/item/consumers/consumer"> <xsl:for-each select="//sensors/item/consumers/consumer">
<xsl:choose> <xsl:choose>
<xsl:when test="normalize-space(@vartype)='in'"><xsl:call-template name="check_changes"/></xsl:when> <xsl:when test="normalize-space(@vartype)='in'"><xsl:call-template name="check_changes"/></xsl:when>
<xsl:when test="normalize-space(@vartype)='io'"><xsl:call-template name="check_changes"/></xsl:when>
</xsl:choose> </xsl:choose>
</xsl:for-each> </xsl:for-each>
} }
......
...@@ -58,8 +58,12 @@ class <xsl:value-of select="$CLASSNAME"/>_SK: ...@@ -58,8 +58,12 @@ class <xsl:value-of select="$CLASSNAME"/>_SK:
<xsl:call-template name="COMMON-HEAD-PUBLIC"/> <xsl:call-template name="COMMON-HEAD-PUBLIC"/>
// Используемые идентификаторы // Используемые идентификаторы
<xsl:for-each select="//smap/item">const UniSetTypes::ObjectId <xsl:value-of select="@name"/>; /*!&lt; <xsl:value-of select="@comment"/> */ <xsl:for-each select="//smap/item">
<xsl:if test="normalize-space(@vartype)!='io'">const UniSetTypes::ObjectId <xsl:value-of select="@name"/>; /*!&lt; <xsl:value-of select="@comment"/> */
UniSetTypes::ObjectId node_<xsl:value-of select="@name"/>; UniSetTypes::ObjectId node_<xsl:value-of select="@name"/>;
</xsl:if>
<xsl:if test="normalize-space(@vartype)!='io'">#warning (uniset-codegen): vartype='io' NO LONGER SUPPORTED! (ignore variable: '<xsl:value-of select="@name"/>')
</xsl:if>
</xsl:for-each> </xsl:for-each>
// Используемые идентификаторы сообщений // Используемые идентификаторы сообщений
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
<item id="23" name="input2_s" iotype="DI" textname="xxx"> <item id="23" name="input2_s" iotype="DI" textname="xxx">
<consumers> <consumers>
<consumer name="TestGenAlone" vartype="in" type="objects"/> <consumer name="TestGenAlone" vartype="io" type="objects"/>
</consumers> </consumers>
</item> </item>
<item id="31" name="output1_c" iotype="DO" textname="xxx" node="Test1Node"> <item id="31" name="output1_c" iotype="DO" textname="xxx" node="Test1Node">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment