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
// &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/> &lt;&lt; endl;
</xsl:if>
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);
}
</xsl:when>
......@@ -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;
</xsl:if>
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);
}
</xsl:when>
......@@ -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;
</xsl:if>
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 test="normalize-space(../../@iotype)='AO'">
......@@ -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;
</xsl:if>
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:choose>
......
......@@ -130,6 +130,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::askState( UniSetTypes::ObjectId _si
if( _cmd == UniversalIO::UIONotify )
{
SensorMessage _sm( _sid, (bool)ui.getState(_sid,_node) );
_sm.sensor_type = UniversalIO::DigitalInput;
_sm.node = _node;
sensorInfo(&amp;_sm);
}
......@@ -141,6 +142,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::askValue( UniSetTypes::ObjectId _si
{
SensorMessage _sm( _sid, (long)ui.getValue(_sid,_node) );
_sm.node = _node;
_sm.sensor_type = UniversalIO::AnalogInput;
sensorInfo(&amp;_sm);
}
}
......@@ -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;
</xsl:if>
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);
}
</xsl:when>
......@@ -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;
</xsl:if>
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);
}
</xsl:when>
......@@ -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;
</xsl:if>
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 test="normalize-space(../../@iotype)='AO'">
......@@ -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;
</xsl:if>
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:choose>
......
......@@ -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;
</xsl:if>
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);
}
}
......@@ -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;
</xsl:if>
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);
}
}
......@@ -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;
</xsl:if>
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);
}
}
......@@ -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;
</xsl:if>
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);
}
}
......
......@@ -162,6 +162,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::askState( UniSetTypes::ObjectId sid
if( cmd == UniversalIO::UIONotify )
{
SensorMessage sm( sid, (bool)ui.getState(sid,node) );
sm.sensor_type = UniversalIO::DigitalInput;
sm.node = node;
sensorInfo(&amp;sm);
}
......@@ -172,6 +173,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::askValue( UniSetTypes::ObjectId sid
if( cmd == UniversalIO::UIONotify )
{
SensorMessage sm( sid, (long)ui.getValue(sid,node) );
sm.sensor_type = UniversalIO::AnalogInput;
sm.node = node;
sensorInfo(&amp;sm);
}
......@@ -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 "
// &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> &lt;&lt; endl;
</xsl:if>
SensorMessage sm( <xsl:value-of select="@name"/>, (bool)<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/>);
// push( ui.transport_msg() );
sensorInfo(&amp;sm);
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);
}
}
</xsl:when>
......@@ -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 "
// &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> &lt;&lt; endl;
</xsl:if>
SensorMessage sm( <xsl:value-of select="@name"/>, (long)<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/>);
// push( ui.transport_msg() );
sensorInfo(&amp;sm);
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);
}
</xsl:when>
<xsl:when test="normalize-space(@iotype)='DO'">
......@@ -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 "
// &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> &lt;&lt; endl;
</xsl:if>
SensorMessage sm( <xsl:value-of select="@name"/>, (bool)<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/>);
// push( ui.transport_msg() );
sensorInfo(&amp;sm);
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);
}
}
</xsl:when>
......@@ -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 "
// &lt;&lt; <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/> &lt;&lt; endl;
</xsl:if>
SensorMessage sm( <xsl:value-of select="@name"/>, (long)<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/>);
// push( ui.transport_msg() );
sensorInfo(&amp;sm);
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);
}
}
</xsl:when>
......
......@@ -3,7 +3,7 @@
Name: libuniset
Version: 1.0
Release: alt8
Release: alt9
Summary: UniSet - library for building distributed industrial control systems
License: GPL
Group: Development/C++
......@@ -191,6 +191,9 @@ rm -f %buildroot%_libdir/*.la
%exclude %_pkgconfigdir/libUniSet.pc
%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
- 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