Commit 84ee08fd authored by Pavel Vainerman's avatar Pavel Vainerman

(codegen): Вынес prev_xx переменные в private, т.к. они нужны исключительно,

для внутренней работы.
parent 9bec6be7
...@@ -31,7 +31,6 @@ Version 2.0 ...@@ -31,7 +31,6 @@ Version 2.0
- использовать везде где нужно(и можно) вместо прямых указателей.. shared_ptr и т.п. (например для conf и других глобальных переменных) - использовать везде где нужно(и можно) вместо прямых указателей.. shared_ptr и т.п. (например для conf и других глобальных переменных)
- встроить различные сигналы (sigc).. в ModbusExchange и другие классы.. - встроить различные сигналы (sigc).. в ModbusExchange и другие классы..
- (uniset-codegen): вынести prev_ переменные в private т.к. они исключительно для "внутренней" работы нужны (updateOutputs)
- (uniset-codegen): сделать управление ключом "force" для updateOutputs(force) (из командной строки, конф.файла и src.xml) - (uniset-codegen): сделать управление ключом "force" для updateOutputs(force) (из командной строки, конф.файла и src.xml)
- ТЕСТЫ! ТЕСТЫ! ТЕСТЫ! - ТЕСТЫ! ТЕСТЫ! ТЕСТЫ!
......
...@@ -37,11 +37,15 @@ ...@@ -37,11 +37,15 @@
<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'"> <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"/>;
long <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/>; /*!&lt; текущее значение */ long <xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/>; /*!&lt; текущее значение '<xsl:value-of select="../../@name"/>' */
long prev_<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 test="$GENTYPE='H-PRIVATE'">
<xsl:if test="normalize-space(@vartype)!='io'">long prev_<xsl:call-template name="setprefix"/><xsl:value-of select="../../@name"/>; /*!&lt; предыдущее значение '<xsl:value-of select="../../@name"/>'*/
</xsl:if> </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 test="normalize-space(@vartype)='io'">#warning (uniset-codegen): vartype='io' NO LONGER SUPPORTED! (ignore variable: '<xsl:value-of select="../../@name"/>')
</xsl:if> </xsl:if>
...@@ -82,7 +86,8 @@ ...@@ -82,7 +86,8 @@
<xsl:choose> <xsl:choose>
<xsl:when test="$GENTYPE='H'">const UniSetTypes::ObjectId mid_<xsl:value-of select="normalize-space(../../@name)"/>; /*!&lt; <xsl:value-of select="normalize-space(../../@text)"/> */ <xsl:when test="$GENTYPE='H'">const UniSetTypes::ObjectId mid_<xsl:value-of select="normalize-space(../../@name)"/>; /*!&lt; <xsl:value-of select="normalize-space(../../@text)"/> */
bool m_<xsl:value-of select="normalize-space(../../@name)"/>; /*!&lt; текущее состояние (сообщения) */ bool m_<xsl:value-of select="normalize-space(../../@name)"/>; /*!&lt; текущее состояние (сообщения) */
bool prev_m_<xsl:value-of select="normalize-space(../../@name)"/>; /*!&lt; предыдущее состояние (сообщения) */ </xsl:when>
<xsl:when test="$GENTYPE='H-PRIVATE'">bool prev_m_<xsl:value-of select="normalize-space(../../@name)"/>; /*!&lt; предыдущее состояние (сообщения) */
</xsl:when> </xsl:when>
<xsl:when test="$GENTYPE='C'">mid_<xsl:value-of select="normalize-space(../../@name)"/>(<xsl:value-of select="../../@id"/>), <xsl:when test="$GENTYPE='C'">mid_<xsl:value-of select="normalize-space(../../@name)"/>(<xsl:value-of select="../../@id"/>),
m_<xsl:value-of select="normalize-space(../../@name)"/>(false), m_<xsl:value-of select="normalize-space(../../@name)"/>(false),
......
...@@ -81,6 +81,21 @@ class <xsl:value-of select="$CLASSNAME"/>_SK: ...@@ -81,6 +81,21 @@ class <xsl:value-of select="$CLASSNAME"/>_SK:
private: private:
<xsl:call-template name="COMMON-HEAD-PRIVATE"/> <xsl:call-template name="COMMON-HEAD-PRIVATE"/>
// Используемые идентификаторы
<xsl:for-each select="//sensors/item">
<xsl:call-template name="setvar">
<xsl:with-param name="GENTYPE" select="'H-PRIVATE'"/>
</xsl:call-template>
</xsl:for-each>
// Используемые идентификаторы сообщений
<xsl:for-each select="//sensors/item">
<xsl:call-template name="setmsg">
<xsl:with-param name="GENTYPE" select="'H-PRIVATE'"/>
</xsl:call-template>
</xsl:for-each>
}; };
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
......
...@@ -76,13 +76,10 @@ class <xsl:value-of select="$CLASSNAME"/>_SK: ...@@ -76,13 +76,10 @@ class <xsl:value-of select="$CLASSNAME"/>_SK:
const UniSetTypes::ObjectId <xsl:value-of select="@name"/>; /*!&lt; <xsl:value-of select="@comment"/> */ 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"/>;
bool m_<xsl:value-of select="@name"/>; /*!&lt; текущее состояние /> */ bool m_<xsl:value-of select="@name"/>; /*!&lt; текущее состояние /> */
bool prev_m_<xsl:value-of select="@name"/>; /*!&lt; предыдущее состояние /> */
</xsl:for-each> </xsl:for-each>
// Текущее значение и предыдущее значение // Текущее значение
<xsl:for-each select="//smap/item"> <xsl:for-each select="//smap/item">long <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/>;
long <xsl:call-template name="setprefix"/><xsl:value-of select="@name"/>;
long prev_<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/>;
</xsl:for-each> </xsl:for-each>
// --- public variables --- // --- public variables ---
...@@ -155,6 +152,14 @@ class <xsl:value-of select="$CLASSNAME"/>_SK: ...@@ -155,6 +152,14 @@ class <xsl:value-of select="$CLASSNAME"/>_SK:
</xsl:if> </xsl:if>
</xsl:for-each>// --- end of private variables --- </xsl:for-each>// --- end of private variables ---
// предыдущее значение (для работы UpdateValue())
<xsl:for-each select="//smap/item">long prev_<xsl:call-template name="setprefix"/><xsl:value-of select="@name"/>;
</xsl:for-each>
// Используемые идентификаторы сообщений
<xsl:for-each select="//msgmap/item">bool prev_m_<xsl:value-of select="@name"/>; /*!&lt; предыдущее состояние /> */
</xsl:for-each>
<xsl:call-template name="COMMON-HEAD-PRIVATE"/> <xsl:call-template name="COMMON-HEAD-PRIVATE"/>
bool end_private; // вспомогательное поле (для внутреннего использования при генерировании кода) bool end_private; // вспомогательное поле (для внутреннего использования при генерировании кода)
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
ВСЕ ВАШИ ИЗМЕНЕНИЯ БУДУТ ПОТЕРЯНЫ. ВСЕ ВАШИ ИЗМЕНЕНИЯ БУДУТ ПОТЕРЯНЫ.
*/ */
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// generate timestamp: 2014-11-24+03:00 // generate timestamp: 2014-11-30+03:00
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
#ifndef UObject_SK_H_ #ifndef UObject_SK_H_
#define UObject_SK_H_ #define UObject_SK_H_
...@@ -61,7 +61,7 @@ class UObject_SK: ...@@ -61,7 +61,7 @@ class UObject_SK:
// Используемые идентификаторы сообщений // Используемые идентификаторы сообщений
// Текущее значение и предыдущее значение // Текущее значение
// --- public variables --- // --- public variables ---
...@@ -132,6 +132,10 @@ class UObject_SK: ...@@ -132,6 +132,10 @@ class UObject_SK:
// --- private variables --- // --- private variables ---
// --- end of private variables --- // --- end of private variables ---
// предыдущее значение (для работы UpdateValue())
// Используемые идентификаторы сообщений
bool end_private; // вспомогательное поле (для внутреннего использования при генерировании кода) bool end_private; // вспомогательное поле (для внутреннего использования при генерировании кода)
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
ВСЕ ВАШИ ИЗМЕНЕНИЯ БУДУТ ПОТЕРЯНЫ. ВСЕ ВАШИ ИЗМЕНЕНИЯ БУДУТ ПОТЕРЯНЫ.
*/ */
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// generate timestamp: 2014-11-24+03:00 // generate timestamp: 2014-11-30+03:00
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
#include "Configuration.h" #include "Configuration.h"
#include "Exceptions.h" #include "Exceptions.h"
......
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