Commit 1591bcbb authored by Pavel Vainerman's avatar Pavel Vainerman

Исправил ошибку в кодо-генераторе, видимо проявляющуюся на новых компиляторах.

Похоже компилятор выбирает не тот "конструктор", исправил так, чтобы код работал в любом случае корректно. Заодно сделал небольшую "чистку".
parent 5be9c95a
...@@ -402,7 +402,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code ...@@ -402,7 +402,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code
// &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> &lt;&lt; endl; // &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> &lt;&lt; endl;
</xsl:if> </xsl:if>
SensorMessage _sm( <xsl:value-of select="../../@name"/>, (bool)<xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/>); SensorMessage _sm( <xsl:value-of select="../../@name"/>, (bool)<xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/>);
// push( _sm.transport_msg() ); _sm.sensor_type = UniversalIO::DigitalInput;
sensorInfo(&amp;_sm); sensorInfo(&amp;_sm);
} }
</xsl:when> </xsl:when>
...@@ -416,7 +416,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code ...@@ -416,7 +416,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code
// &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> &lt;&lt; endl; // &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> &lt;&lt; endl;
</xsl:if> </xsl:if>
SensorMessage _sm( <xsl:value-of select="../../@name"/>, (long)<xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/>); SensorMessage _sm( <xsl:value-of select="../../@name"/>, (long)<xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/>);
// push( _sm.transport_msg() ); _sm.sensor_type = UniversalIO::AnalogInput;
sensorInfo(&amp;_sm); sensorInfo(&amp;_sm);
} }
</xsl:when> </xsl:when>
...@@ -430,7 +430,8 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code ...@@ -430,7 +430,8 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code
// &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> &lt;&lt; endl; // &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> &lt;&lt; endl;
</xsl:if> </xsl:if>
SensorMessage _sm( <xsl:value-of select="../../@name"/>, (bool)<xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/>); SensorMessage _sm( <xsl:value-of select="../../@name"/>, (bool)<xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/>);
push( _sm.transport_msg() ); _sm.sensor_type = UniversalIO::DigitalOutput;
sensorInfo(&amp;_sm);
} }
</xsl:when> </xsl:when>
<xsl:when test="normalize-space(../../@iotype)='AO'"> <xsl:when test="normalize-space(../../@iotype)='AO'">
...@@ -443,7 +444,8 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code ...@@ -443,7 +444,8 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code
// &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> &lt;&lt; endl; // &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> &lt;&lt; endl;
</xsl:if> </xsl:if>
SensorMessage _sm( <xsl:value-of select="../../@name"/>, (long)<xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/>); SensorMessage _sm( <xsl:value-of select="../../@name"/>, (long)<xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/>);
push( _sm.transport_msg() ); _sm.sensor_type = UniversalIO::AnalogOutput;
sensorInfo(&amp;_sm);
} }
</xsl:when> </xsl:when>
</xsl:choose> </xsl:choose>
......
...@@ -130,6 +130,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::askState( UniSetTypes::ObjectId _si ...@@ -130,6 +130,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::askState( UniSetTypes::ObjectId _si
if( _cmd == UniversalIO::UIONotify ) if( _cmd == UniversalIO::UIONotify )
{ {
SensorMessage _sm( _sid, (bool)ui.getState(_sid,_node) ); SensorMessage _sm( _sid, (bool)ui.getState(_sid,_node) );
_sm.sensor_type = UniversalIO::DigitalInput;
_sm.node = _node; _sm.node = _node;
sensorInfo(&amp;_sm); sensorInfo(&amp;_sm);
} }
...@@ -141,6 +142,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::askValue( UniSetTypes::ObjectId _si ...@@ -141,6 +142,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::askValue( UniSetTypes::ObjectId _si
{ {
SensorMessage _sm( _sid, (long)ui.getValue(_sid,_node) ); SensorMessage _sm( _sid, (long)ui.getValue(_sid,_node) );
_sm.node = _node; _sm.node = _node;
_sm.sensor_type = UniversalIO::AnalogInput;
sensorInfo(&amp;_sm); sensorInfo(&amp;_sm);
} }
} }
...@@ -327,7 +329,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code ...@@ -327,7 +329,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code
// &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> &lt;&lt; endl; // &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> &lt;&lt; endl;
</xsl:if> </xsl:if>
SensorMessage _sm( <xsl:value-of select="../../@name"/>, (bool)<xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/>); SensorMessage _sm( <xsl:value-of select="../../@name"/>, (bool)<xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/>);
// push( _sm.transport_msg() ); _sm.sensor_type = UniversalIO::DigitalInput;
sensorInfo(&amp;_sm); sensorInfo(&amp;_sm);
} }
</xsl:when> </xsl:when>
...@@ -341,7 +343,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code ...@@ -341,7 +343,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code
// &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> &lt;&lt; endl; // &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> &lt;&lt; endl;
</xsl:if> </xsl:if>
SensorMessage _sm( <xsl:value-of select="../../@name"/>, (long)<xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/>); SensorMessage _sm( <xsl:value-of select="../../@name"/>, (long)<xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/>);
// push( _sm.transport_msg() ); _sm.sensor_type = UniversalIO::AnalogInput;
sensorInfo(&amp;_sm); sensorInfo(&amp;_sm);
} }
</xsl:when> </xsl:when>
...@@ -355,7 +357,8 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code ...@@ -355,7 +357,8 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code
// &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> &lt;&lt; endl; // &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> &lt;&lt; endl;
</xsl:if> </xsl:if>
SensorMessage _sm( <xsl:value-of select="../../@name"/>, (bool)<xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/>); SensorMessage _sm( <xsl:value-of select="../../@name"/>, (bool)<xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/>);
push( _sm.transport_msg() ); _sm.sensor_type = UniversalIO::DigitalOutput;
sensorInfo(&amp;_sm);
} }
</xsl:when> </xsl:when>
<xsl:when test="normalize-space(../../@iotype)='AO'"> <xsl:when test="normalize-space(../../@iotype)='AO'">
...@@ -368,7 +371,8 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code ...@@ -368,7 +371,8 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code
// &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> &lt;&lt; endl; // &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> &lt;&lt; endl;
</xsl:if> </xsl:if>
SensorMessage _sm( <xsl:value-of select="../../@name"/>, (long)<xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/>); SensorMessage _sm( <xsl:value-of select="../../@name"/>, (long)<xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/>);
push( _sm.transport_msg() ); _sm.sensor_type = UniversalIO::AnalogOutput;
sensorInfo(&amp;_sm);
} }
</xsl:when> </xsl:when>
</xsl:choose> </xsl:choose>
......
...@@ -359,6 +359,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code ...@@ -359,6 +359,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code
// &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> &lt;&lt; endl; // &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> &lt;&lt; endl;
</xsl:if> </xsl:if>
SensorMessage _sm( <xsl:value-of select="@name"/>, (bool)<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/>); SensorMessage _sm( <xsl:value-of select="@name"/>, (bool)<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/>);
_sm.sensor_type = UniversalIO::DigitalInput;
sensorInfo(&amp;_sm); sensorInfo(&amp;_sm);
} }
} }
...@@ -375,6 +376,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code ...@@ -375,6 +376,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code
// &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> &lt;&lt; endl; // &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> &lt;&lt; endl;
</xsl:if> </xsl:if>
SensorMessage _sm( <xsl:value-of select="@name"/>, (long)<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/>); SensorMessage _sm( <xsl:value-of select="@name"/>, (long)<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/>);
_sm.sensor_type = UniversalIO::AnalogInput;
sensorInfo(&amp;_sm); sensorInfo(&amp;_sm);
} }
} }
...@@ -391,6 +393,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code ...@@ -391,6 +393,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code
// &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> &lt;&lt; endl; // &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> &lt;&lt; endl;
</xsl:if> </xsl:if>
SensorMessage _sm( <xsl:value-of select="@name"/>, (bool)<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/>); SensorMessage _sm( <xsl:value-of select="@name"/>, (bool)<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/>);
_sm.sensor_type = UniversalIO::DigitalOutput;
sensorInfo(&amp;_sm); sensorInfo(&amp;_sm);
} }
} }
...@@ -407,6 +410,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code ...@@ -407,6 +410,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId _code
// &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> &lt;&lt; endl; // &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> &lt;&lt; endl;
</xsl:if> </xsl:if>
SensorMessage _sm( <xsl:value-of select="@name"/>, (long)<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/>); SensorMessage _sm( <xsl:value-of select="@name"/>, (long)<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/>);
_sm.sensor_type = UniversalIO::AnalogOutput;
sensorInfo(&amp;_sm); sensorInfo(&amp;_sm);
} }
} }
......
...@@ -162,6 +162,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::askState( UniSetTypes::ObjectId sid ...@@ -162,6 +162,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::askState( UniSetTypes::ObjectId sid
if( cmd == UniversalIO::UIONotify ) if( cmd == UniversalIO::UIONotify )
{ {
SensorMessage sm( sid, (bool)ui.getState(sid,node) ); SensorMessage sm( sid, (bool)ui.getState(sid,node) );
sm.sensor_type = UniversalIO::DigitalInput;
sm.node = node; sm.node = node;
sensorInfo(&amp;sm); sensorInfo(&amp;sm);
} }
...@@ -172,6 +173,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::askValue( UniSetTypes::ObjectId sid ...@@ -172,6 +173,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::askValue( UniSetTypes::ObjectId sid
if( cmd == UniversalIO::UIONotify ) if( cmd == UniversalIO::UIONotify )
{ {
SensorMessage sm( sid, (long)ui.getValue(sid,node) ); SensorMessage sm( sid, (long)ui.getValue(sid,node) );
sm.sensor_type = UniversalIO::AnalogInput;
sm.node = node; sm.node = node;
sensorInfo(&amp;sm); sensorInfo(&amp;sm);
} }
...@@ -321,9 +323,9 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId code, ...@@ -321,9 +323,9 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId code,
// cout &lt;&lt; myname &lt;&lt; ": (DI) change state <xsl:value-of select="@name"/> set " // cout &lt;&lt; myname &lt;&lt; ": (DI) change state <xsl:value-of select="@name"/> set "
// &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> &lt;&lt; endl; // &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> &lt;&lt; endl;
</xsl:if> </xsl:if>
SensorMessage sm( <xsl:value-of select="@name"/>, (bool)<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/>); SensorMessage _sm( <xsl:value-of select="@name"/>, (bool)<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/>);
// push( ui.transport_msg() ); _sm.sensor_type == UniversalIO::DigitalInput;
sensorInfo(&amp;sm); sensorInfo(&amp;_sm);
} }
} }
</xsl:when> </xsl:when>
...@@ -336,9 +338,9 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId code, ...@@ -336,9 +338,9 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId code,
// cout &lt;&lt; myname &lt;&lt; ": (AI) change value <xsl:value-of select="@name"/> set " // cout &lt;&lt; myname &lt;&lt; ": (AI) change value <xsl:value-of select="@name"/> set "
// &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> &lt;&lt; endl; // &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> &lt;&lt; endl;
</xsl:if> </xsl:if>
SensorMessage sm( <xsl:value-of select="@name"/>, (long)<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/>); SensorMessage _sm( <xsl:value-of select="@name"/>, (long)<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/>);
// push( ui.transport_msg() ); _sm.sensor_type == UniversalIO::AnalogInput;
sensorInfo(&amp;sm); sensorInfo(&amp;_sm);
} }
</xsl:when> </xsl:when>
<xsl:when test="normalize-space(@iotype)='DO'"> <xsl:when test="normalize-space(@iotype)='DO'">
...@@ -352,9 +354,9 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId code, ...@@ -352,9 +354,9 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId code,
// cout &lt;&lt; myname &lt;&lt; ": (DO) change state <xsl:value-of select="@name"/> set " // cout &lt;&lt; myname &lt;&lt; ": (DO) change state <xsl:value-of select="@name"/> set "
// &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> &lt;&lt; endl; // &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> &lt;&lt; endl;
</xsl:if> </xsl:if>
SensorMessage sm( <xsl:value-of select="@name"/>, (bool)<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/>); SensorMessage _sm( <xsl:value-of select="@name"/>, (bool)<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/>);
// push( ui.transport_msg() ); _sm.sensor_type == UniversalIO::DigitalOutput;
sensorInfo(&amp;sm); sensorInfo(&amp;_sm);
} }
} }
</xsl:when> </xsl:when>
...@@ -369,9 +371,9 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId code, ...@@ -369,9 +371,9 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setMsg( UniSetTypes::ObjectId code,
// cout &lt;&lt; myname &lt;&lt; ": (AO) change value <xsl:value-of select="@name"/> set " // cout &lt;&lt; myname &lt;&lt; ": (AO) change value <xsl:value-of select="@name"/> set "
// &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> &lt;&lt; endl; // &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> &lt;&lt; endl;
</xsl:if> </xsl:if>
SensorMessage sm( <xsl:value-of select="@name"/>, (long)<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/>); SensorMessage _sm( <xsl:value-of select="@name"/>, (long)<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/>);
// push( ui.transport_msg() ); _sm.sensor_type == UniversalIO::AnalogOutput;
sensorInfo(&amp;sm); sensorInfo(&amp;_sm);
} }
} }
</xsl:when> </xsl:when>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
Name: libuniset Name: libuniset
Version: 1.0 Version: 1.0
Release: alt8 Release: alt9
Summary: UniSet - library for building distributed industrial control systems Summary: UniSet - library for building distributed industrial control systems
License: GPL License: GPL
Group: Development/C++ Group: Development/C++
...@@ -191,6 +191,9 @@ rm -f %buildroot%_libdir/*.la ...@@ -191,6 +191,9 @@ rm -f %buildroot%_libdir/*.la
%exclude %_pkgconfigdir/libUniSet.pc %exclude %_pkgconfigdir/libUniSet.pc
%changelog %changelog
* Sun Mar 13 2011 Pavel Vainerman <pv@altlinux.ru> 1.0-alt9
- fixed bug in uniset-codegen
* Fri Mar 11 2011 Pavel Vainerman <pv@altlinux.ru> 1.0-alt8 * Fri Mar 11 2011 Pavel Vainerman <pv@altlinux.ru> 1.0-alt8
- fixed bug in conf->getArgPInt function (new libUniSet revision) - fixed bug in conf->getArgPInt function (new libUniSet revision)
......
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