Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
U
uniset2
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
UniSet project repositories
uniset2
Commits
b348783b
Commit
b348783b
authored
Mar 11, 2009
by
Pavel Vainerman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
new codegen: use "node"
parent
e4527c9f
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
196 additions
and
64 deletions
+196
-64
ctl-cpp-cc-alone-ask.xsl
Utilities/codegen/ctl-cpp-cc-alone-ask.xsl
+14
-14
ctl-cpp-cc-alone.xsl
Utilities/codegen/ctl-cpp-cc-alone.xsl
+6
-4
ctl-cpp-cc-ask.xsl
Utilities/codegen/ctl-cpp-cc-ask.xsl
+25
-23
ctl-cpp-cc.xsl
Utilities/codegen/ctl-cpp-cc.xsl
+18
-12
ctl-cpp-common.xsl
Utilities/codegen/ctl-cpp-common.xsl
+44
-9
ctl-cpp-h.xsl
Utilities/codegen/ctl-cpp-h.xsl
+2
-0
ctl-cpp-main.xsl
Utilities/codegen/ctl-cpp-main.xsl
+2
-2
TestGen.cc
Utilities/codegen/tests/TestGen.cc
+43
-0
TestGen.h
Utilities/codegen/tests/TestGen.h
+28
-0
create_links.sh
Utilities/codegen/tests/create_links.sh
+4
-0
start_fg.sh
Utilities/codegen/tests/start_fg.sh
+9
-0
UniSetObject.h
include/UniSetObject.h
+1
-0
No files found.
Utilities/codegen/ctl-cpp-cc-alone-ask.xsl
View file @
b348783b
...
...
@@ -141,10 +141,10 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::askSensors( UniversalIO::UIOCommand
<xsl:for-each
select=
"//sensors/item/consumers/consumer"
>
<xsl:if
test=
"normalize-space(@name)=$OID"
>
<xsl:if
test=
"normalize-space(@vartype)='in'"
>
ui.ask
Sensor(
<xsl:value-of
select=
"../../@name"
/>
,cmd
, getId());
ui.ask
RemoteSensor(
<xsl:value-of
select=
"../../@name"
/>
,cmd,node_
<xsl:value-of
select=
"../../@name"
/>
, getId());
</xsl:if>
<xsl:if
test=
"normalize-space(@vartype)='io'"
>
ui.ask
Sensor(
<xsl:value-of
select=
"../../@name"
/>
,cmd
, getId());
ui.ask
RemoteSensor(
<xsl:value-of
select=
"../../@name"
/>
,cmd,node_
<xsl:value-of
select=
"../../@name"
/>
, getId());
</xsl:if>
</xsl:if>
</xsl:for-each>
...
...
@@ -196,14 +196,14 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setValue( UniSetTypes::ObjectId sid
</xsl:for-each>
}
// -----------------------------------------------------------------------------
void
<xsl:value-of
select=
"$CLASSNAME"
/>
_SK::askState( UniSetTypes::ObjectId sid, UniversalIO::UIOCommand cmd )
void
<xsl:value-of
select=
"$CLASSNAME"
/>
_SK::askState( UniSetTypes::ObjectId sid, UniversalIO::UIOCommand cmd
, UniSetTypes::ObjectId node
)
{
ui.ask
Sensor(sid,cmd,
getId());
ui.ask
RemoteSensor(sid,cmd,node,
getId());
}
// -----------------------------------------------------------------------------
void
<xsl:value-of
select=
"$CLASSNAME"
/>
_SK::askValue( UniSetTypes::ObjectId sid, UniversalIO::UIOCommand cmd )
void
<xsl:value-of
select=
"$CLASSNAME"
/>
_SK::askValue( UniSetTypes::ObjectId sid, UniversalIO::UIOCommand cmd
, UniSetTypes::ObjectId node
)
{
ui.ask
Sensor(sid,cmd,
getId());
ui.ask
RemoteSensor(sid,cmd, node,
getId());
}
// -----------------------------------------------------------------------------
bool
<xsl:value-of
select=
"$CLASSNAME"
/>
_SK::getState( UniSetTypes::ObjectId sid )
...
...
@@ -347,19 +347,19 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setInfo( UniSetTypes::ObjectId code
<xsl:template
name=
"gensetdata"
>
<xsl:choose>
<xsl:when
test=
"normalize-space(../../@iotype)='DO'"
>
ui.setState(
<xsl:value-of
select=
"../../@name"
/>
,
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"../../@name"
/>
);
ui.setState(
<xsl:value-of
select=
"../../@name"
/>
,
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"../../@name"
/>
,
<xsl:value-of
select=
"../../@node"
/>
,
);
</xsl:when>
<xsl:when
test=
"normalize-space(../../@iotype)='AO'"
>
ui.setValue(
<xsl:value-of
select=
"../../@name"
/>
,
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"../../@name"
/>
);
ui.setValue(
<xsl:value-of
select=
"../../@name"
/>
,
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"../../@name"
/>
,
<xsl:value-of
select=
"../../@node"
/>
);
</xsl:when>
<xsl:when
test=
"normalize-space(../../@iotype)='DI'"
>
si.id =
<xsl:value-of
select=
"../../@name"
/>
;
si.node =
conf->getLocalNode()
;
si.node =
<xsl:value-of
select=
"../../@node"
/>
;
ui.saveState( si,
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"../../@name"
/>
,UniversalIO::DigitalInput, getId() );
</xsl:when>
<xsl:when
test=
"normalize-space(../../@iotype)='AI'"
>
si.id =
<xsl:value-of
select=
"../../@name"
/>
;
si.node =
conf->getLocalNode()
;
si.node =
<xsl:value-of
select=
"../../@node"
/>
;
ui.saveValue( si,
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"../../@name"
/>
,UniversalIO::AnalogInput, getId() );
</xsl:when>
</xsl:choose>
...
...
@@ -369,19 +369,19 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setInfo( UniSetTypes::ObjectId code
<xsl:param
name=
"setval"
></xsl:param>
<xsl:choose>
<xsl:when
test=
"normalize-space(../../@iotype)='DO'"
>
ui.setState(
<xsl:value-of
select=
"../../@name"
/>
,
<xsl:value-of
select=
"$setval"
/>
);
ui.setState(
<xsl:value-of
select=
"../../@name"
/>
,
<xsl:value-of
select=
"$setval"
/>
,
<xsl:value-of
select=
"../../@node"
/>
);
</xsl:when>
<xsl:when
test=
"normalize-space(../../@iotype)='AO'"
>
ui.setValue(
<xsl:value-of
select=
"../../@name"
/>
,
<xsl:value-of
select=
"$setval"
/>
);
ui.setValue(
<xsl:value-of
select=
"../../@name"
/>
,
<xsl:value-of
select=
"$setval"
/>
,
<xsl:value-of
select=
"../../@node"
/>
);
</xsl:when>
<xsl:when
test=
"normalize-space(../../@iotype)='DI'"
>
si.id =
<xsl:value-of
select=
"../../@name"
/>
;
si.node =
conf->getLocalNode();
si.node =
<xsl:value-of
select=
"../../@node"
/>
ui.saveState( si,
<xsl:value-of
select=
"$setval"
/>
, UniversalIO::DigitalInput, getId() );
</xsl:when>
<xsl:when
test=
"normalize-space(../../@iotype)='AI'"
>
si.id =
<xsl:value-of
select=
"../../@name"
/>
;
si.node =
conf->getLocalNode();
si.node =
<xsl:value-of
select=
"../../@node"
/>
ui.saveValue( si,
<xsl:value-of
select=
"$setval"
/>
,UniversalIO::AnalogInput, getId() );
</xsl:when>
</xsl:choose>
...
...
Utilities/codegen/ctl-cpp-cc-alone.xsl
View file @
b348783b
...
...
@@ -118,23 +118,25 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::preSensorInfo( UniSetTypes::SensorM
sensorInfo(sm);
}
// -----------------------------------------------------------------------------
void
<xsl:value-of
select=
"$CLASSNAME"
/>
_SK::askState( UniSetTypes::ObjectId sid, UniversalIO::UIOCommand cmd )
void
<xsl:value-of
select=
"$CLASSNAME"
/>
_SK::askState( UniSetTypes::ObjectId sid, UniversalIO::UIOCommand cmd
, UniSetTypes::ObjectId node
)
{
// #warning ...
if( cmd == UniversalIO::UIONotify )
{
SensorMessage sm( sid, (bool)ui.getState(sid) );
SensorMessage sm( sid, (bool)ui.getState(sid,node) );
sm.node = node;
// push( sm.transport_msg() );
sensorInfo(
&
sm);
}
}
// -----------------------------------------------------------------------------
void
<xsl:value-of
select=
"$CLASSNAME"
/>
_SK::askValue( UniSetTypes::ObjectId sid, UniversalIO::UIOCommand cmd )
void
<xsl:value-of
select=
"$CLASSNAME"
/>
_SK::askValue( UniSetTypes::ObjectId sid, UniversalIO::UIOCommand cmd
, UniSetTypes::ObjectId node
)
{
// #warning ..
if( cmd == UniversalIO::UIONotify )
{
SensorMessage sm( sid, (long)ui.getValue(sid) );
SensorMessage sm( sid, (long)ui.getValue(sid,node) );
sm.node = node;
// push( sm.transport_msg() );
sensorInfo(
&
sm);
}
...
...
Utilities/codegen/ctl-cpp-cc-ask.xsl
View file @
b348783b
...
...
@@ -103,7 +103,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setValue( UniSetTypes::ObjectId sid
{
unideb[Debug::LEVEL2]
<<
"(setState):
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
= "
<<
val
<<
endl;
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
= val;
<xsl:call-template
name=
"setdata"
/>
<xsl:call-template
name=
"setdata"
/>
return;
}
</xsl:if>
...
...
@@ -112,10 +112,10 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setValue( UniSetTypes::ObjectId sid
{
unideb[Debug::LEVEL2]
<<
"(setState):
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
= "
<<
val
<<
endl;
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
= val;
<xsl:call-template
name=
"setdata"
/>
<xsl:call-template
name=
"setdata"
/>
return;
}
</xsl:if>
</xsl:if>
</xsl:for-each>
}
// -----------------------------------------------------------------------------
...
...
@@ -165,14 +165,14 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::preSensorInfo( UniSetTypes::SensorM
sensorInfo(sm);
}
// -----------------------------------------------------------------------------
void
<xsl:value-of
select=
"$CLASSNAME"
/>
_SK::askState( UniSetTypes::ObjectId sid, UniversalIO::UIOCommand cmd )
void
<xsl:value-of
select=
"$CLASSNAME"
/>
_SK::askState( UniSetTypes::ObjectId sid, UniversalIO::UIOCommand cmd
, UniSetTypes::ObjectId node
)
{
ui.ask
Sensor(sid,cmd
,getId());
ui.ask
RemoteSensor(sid,cmd,node
,getId());
}
// -----------------------------------------------------------------------------
void
<xsl:value-of
select=
"$CLASSNAME"
/>
_SK::askValue( UniSetTypes::ObjectId sid, UniversalIO::UIOCommand cmd )
void
<xsl:value-of
select=
"$CLASSNAME"
/>
_SK::askValue( UniSetTypes::ObjectId sid, UniversalIO::UIOCommand cmd
, UniSetTypes::ObjectId node
)
{
ui.ask
Sensor(sid,cmd
,getId());
ui.ask
RemoteSensor(sid,cmd,node
,getId());
}
// -----------------------------------------------------------------------------
bool
<xsl:value-of
select=
"$CLASSNAME"
/>
_SK::getState( UniSetTypes::ObjectId sid )
...
...
@@ -182,19 +182,19 @@ bool <xsl:value-of select="$CLASSNAME"/>_SK::getState( UniSetTypes::ObjectId sid
{
<xsl:choose>
<xsl:when
test=
"normalize-space(@iotype)='DI'"
>
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
= ui.getState(
<xsl:value-of
select=
"@name"
/>
);
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
= ui.getState(
<xsl:value-of
select=
"@name"
/>
, node_
<xsl:value-of
select=
"@name"
/>
);
return
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
;
</xsl:when>
<xsl:when
test=
"normalize-space(@iotype)='DI'"
>
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
= ui.getState(
<xsl:value-of
select=
"@name"
/>
);
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
= ui.getState(
<xsl:value-of
select=
"@name"
/>
, node_
<xsl:value-of
select=
"@name"
/>
);
return
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
;
</xsl:when>
<xsl:when
test=
"normalize-space(@iotype)='AO'"
>
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
= ui.getValue(
<xsl:value-of
select=
"@name"
/>
);
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
= ui.getValue(
<xsl:value-of
select=
"@name"
/>
, node_
<xsl:value-of
select=
"@name"
/>
);
return
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
;
</xsl:when>
<xsl:when
test=
"normalize-space(@iotype)='AI'"
>
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
= ui.getValue(
<xsl:value-of
select=
"@name"
/>
);
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
= ui.getValue(
<xsl:value-of
select=
"@name"
/>
, node_
<xsl:value-of
select=
"@name"
/>
);
return
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
;
</xsl:when>
</xsl:choose>
...
...
@@ -229,11 +229,11 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::askSensors( UniversalIO::UIOCommand
<xsl:for-each
select=
"//smap/item"
>
<xsl:if
test=
"normalize-space(@vartype)='in'"
>
if(
<xsl:value-of
select=
"@name"
/>
!= DefaultObjectId )
ui.ask
Sensor(
<xsl:value-of
select=
"@name"
/>
,cmd
,getId());
ui.ask
RemoteSensor(
<xsl:value-of
select=
"@name"
/>
,cmd,node_
<xsl:value-of
select=
"@name"
/>
,getId());
</xsl:if>
<xsl:if
test=
"normalize-space(@vartype)='io'"
>
if(
<xsl:value-of
select=
"@name"
/>
!= DefaultObjectId )
ui.ask
Sensor(
<xsl:value-of
select=
"@name"
/>
,cmd
,getId());
ui.ask
RemoteSensor(
<xsl:value-of
select=
"@name"
/>
,cmd,node_
<xsl:value-of
select=
"@name"
/>
,getId());
</xsl:if>
</xsl:for-each>
return;
...
...
@@ -277,18 +277,18 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setInfo( UniSetTypes::ObjectId code
{
<xsl:choose>
<xsl:when
test=
"normalize-space(@iotype)='DI'"
>
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
= ui.getState(
<xsl:value-of
select=
"@name"
/>
);
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
= ui.getState(
<xsl:value-of
select=
"@name"
/>
, node_
<xsl:value-of
select=
"@name"
/>
);
</xsl:when>
<xsl:when
test=
"normalize-space(@iotype)='AI'"
>
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
= ui.getValue(
<xsl:value-of
select=
"@name"
/>
);
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
= ui.getValue(
<xsl:value-of
select=
"@name"
/>
, node_
<xsl:value-of
select=
"@name"
/>
);
</xsl:when>
</xsl:choose>
<xsl:choose>
<xsl:when
test=
"normalize-space(@iotype)='DO'"
>
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
= ui.getState(
<xsl:value-of
select=
"@name"
/>
);
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
= ui.getState(
<xsl:value-of
select=
"@name"
/>
, node_
<xsl:value-of
select=
"@name"
/>
);
</xsl:when>
<xsl:when
test=
"normalize-space(@iotype)='AO'"
>
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
= ui.getValue(
<xsl:value-of
select=
"@name"
/>
);
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
= ui.getValue(
<xsl:value-of
select=
"@name"
/>
, node_
<xsl:value-of
select=
"@name"
/>
);
</xsl:when>
</xsl:choose>
}
...
...
@@ -300,19 +300,19 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setInfo( UniSetTypes::ObjectId code
<xsl:choose>
<xsl:when
test=
"normalize-space(@iotype)='DI'"
>
si.id =
<xsl:value-of
select=
"@name"
/>
;
// si.node = conf->getLocalNode();
si.node = node_
<xsl:value-of
select=
"@name"
/>
ui.saveState( si,
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
,UniversalIO::DigitalInput,getId() );
</xsl:when>
<xsl:when
test=
"normalize-space(@iotype)='DO'"
>
ui.setState(
<xsl:value-of
select=
"@name"
/>
,
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
);
ui.setState(
<xsl:value-of
select=
"@name"
/>
,
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
, node_
<xsl:value-of
select=
"@name"
/>
);
</xsl:when>
<xsl:when
test=
"normalize-space(@iotype)='AI'"
>
si.id =
<xsl:value-of
select=
"@name"
/>
;
// si.node = conf->getLocalNode();
si.node = node_
<xsl:value-of
select=
"@name"
/>
ui.saveValue( si,
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
,UniversalIO::AnalogInput, getId() );
</xsl:when>
<xsl:when
test=
"normalize-space(@iotype)='AO'"
>
ui.setValue(
<xsl:value-of
select=
"@name"
/>
,
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
);
ui.setValue(
<xsl:value-of
select=
"@name"
/>
,
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
, node_
<xsl:value-of
select=
"@name"
/>
);
</xsl:when>
</xsl:choose>
}
...
...
@@ -325,17 +325,19 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setInfo( UniSetTypes::ObjectId code
<xsl:choose>
<xsl:when
test=
"normalize-space(@iotype)='DI'"
>
si.id =
<xsl:value-of
select=
"@name"
/>
;
si.node = node_
<xsl:value-of
select=
"@name"
/>
;
ui.saveState( si,
<xsl:value-of
select=
"$setval"
/>
,UniversalIO::DigitalInput,getId() );
</xsl:when>
<xsl:when
test=
"normalize-space(@iotype)='DO'"
>
ui.setState(
<xsl:value-of
select=
"@name"
/>
,
<xsl:value-of
select=
"$setval"
/>
);
ui.setState(
<xsl:value-of
select=
"@name"
/>
,
<xsl:value-of
select=
"$setval"
/>
, node_
<xsl:value-of
select=
"@name"
/>
);
</xsl:when>
<xsl:when
test=
"normalize-space(@iotype)='AI'"
>
si.id =
<xsl:value-of
select=
"@name"
/>
;
si.node = node_
<xsl:value-of
select=
"@name"
/>
;
ui.saveValue( si,
<xsl:value-of
select=
"$setval"
/>
,UniversalIO::AnalogInput, getId() );
</xsl:when>
<xsl:when
test=
"normalize-space(@iotype)='AO'"
>
ui.setValue(
<xsl:value-of
select=
"@name"
/>
,
<xsl:value-of
select=
"$setval"
/>
);
ui.setValue(
<xsl:value-of
select=
"@name"
/>
,
<xsl:value-of
select=
"$setval"
/>
, node_
<xsl:value-of
select=
"@name"
/>
);
</xsl:when>
</xsl:choose>
}
...
...
Utilities/codegen/ctl-cpp-cc.xsl
View file @
b348783b
...
...
@@ -151,23 +151,25 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::askSensors( UniversalIO::UIOCommand
</xsl:for-each>
}
// -----------------------------------------------------------------------------
void
<xsl:value-of
select=
"$CLASSNAME"
/>
_SK::askState( UniSetTypes::ObjectId sid, UniversalIO::UIOCommand cmd )
void
<xsl:value-of
select=
"$CLASSNAME"
/>
_SK::askState( UniSetTypes::ObjectId sid, UniversalIO::UIOCommand cmd
, UniSetTypes::ObjectId node
)
{
// #warning ...
if( cmd == UniversalIO::UIONotify )
{
SensorMessage sm( sid, (bool)ui.getState(sid) );
SensorMessage sm( sid, (bool)ui.getState(sid,node) );
sm.node = node;
// push( sm.transport_msg() );
sensorInfo(
&
sm);
}
}
// -----------------------------------------------------------------------------
void
<xsl:value-of
select=
"$CLASSNAME"
/>
_SK::askValue( UniSetTypes::ObjectId sid, UniversalIO::UIOCommand cmd )
void
<xsl:value-of
select=
"$CLASSNAME"
/>
_SK::askValue( UniSetTypes::ObjectId sid, UniversalIO::UIOCommand cmd
, UniSetTypes::ObjectId node
)
{
// #warning ..
if( cmd == UniversalIO::UIONotify )
{
SensorMessage sm( sid, (long)ui.getValue(sid) );
SensorMessage sm( sid, (long)ui.getValue(sid,node) );
sm.node = node;
// push( sm.transport_msg() );
sensorInfo(
&
sm);
}
...
...
@@ -235,19 +237,19 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setInfo( UniSetTypes::ObjectId code
<xsl:choose>
<xsl:when
test=
"normalize-space(@iotype)='DI'"
>
si.id =
<xsl:value-of
select=
"@name"
/>
;
// si.node = conf->getLocalNode()
;
si.node = node_
<xsl:value-of
select=
"@name"
/>
;
ui.saveState( si,
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
,UniversalIO::DigitalInput,getId() );
</xsl:when>
<xsl:when
test=
"normalize-space(@iotype)='DO'"
>
ui.setState(
<xsl:value-of
select=
"@name"
/>
,
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
);
ui.setState(
<xsl:value-of
select=
"@name"
/>
,
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
, node_
<xsl:value-of
select=
"@name"
/>
);
</xsl:when>
<xsl:when
test=
"normalize-space(@iotype)='AI'"
>
si.id =
<xsl:value-of
select=
"@name"
/>
;
// si.node = conf->getLocalNode()
;
si.node = node_
<xsl:value-of
select=
"@name"
/>
;
ui.saveValue( si,
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
,UniversalIO::AnalogInput, getId() );
</xsl:when>
<xsl:when
test=
"normalize-space(@iotype)='AO'"
>
ui.setValue(
<xsl:value-of
select=
"@name"
/>
,
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
);
ui.setValue(
<xsl:value-of
select=
"@name"
/>
,
<xsl:call-template
name=
"setprefix"
/><xsl:value-of
select=
"@name"
/>
, node_
<xsl:value-of
select=
"@name"
/>
);
</xsl:when>
</xsl:choose>
}
...
...
@@ -260,17 +262,19 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setInfo( UniSetTypes::ObjectId code
<xsl:choose>
<xsl:when
test=
"normalize-space(@iotype)='DI'"
>
si.id =
<xsl:value-of
select=
"@name"
/>
;
si.node = node_
<xsl:value-of
select=
"@name"
/>
;
ui.saveState( si,
<xsl:value-of
select=
"$setval"
/>
,UniversalIO::DigitalInput,getId() );
</xsl:when>
<xsl:when
test=
"normalize-space(@iotype)='DO'"
>
ui.setState(
<xsl:value-of
select=
"@name"
/>
,
<xsl:value-of
select=
"$setval"
/>
);
ui.setState(
<xsl:value-of
select=
"@name"
/>
,
<xsl:value-of
select=
"$setval"
/>
, node_
<xsl:value-of
select=
"@name"
/>
);
</xsl:when>
<xsl:when
test=
"normalize-space(@iotype)='AI'"
>
si.id =
<xsl:value-of
select=
"@name"
/>
;
si.node = node_
<xsl:value-of
select=
"@name"
/>
;
ui.saveValue( si,
<xsl:value-of
select=
"$setval"
/>
,UniversalIO::AnalogInput, getId() );
</xsl:when>
<xsl:when
test=
"normalize-space(@iotype)='AO'"
>
ui.setValue(
<xsl:value-of
select=
"@name"
/>
,
<xsl:value-of
select=
"$setval"
/>
);
ui.setValue(
<xsl:value-of
select=
"@name"
/>
,
<xsl:value-of
select=
"$setval"
/>
,node_
<xsl:value-of
select=
"@name"
/>
);
</xsl:when>
</xsl:choose>
}
...
...
@@ -282,17 +286,19 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::setInfo( UniSetTypes::ObjectId code
<xsl:choose>
<xsl:when
test=
"normalize-space(@iotype)='DI'"
>
si.id =
<xsl:value-of
select=
"@name"
/>
;
si.node = node_
<xsl:value-of
select=
"@name"
/>
;
ui.saveState( si,m_
<xsl:value-of
select=
"@name"
/>
,UniversalIO::DigitalInput,getId() );
</xsl:when>
<xsl:when
test=
"normalize-space(@iotype)='DO'"
>
ui.setState(
<xsl:value-of
select=
"@name"
/>
,m_
<xsl:value-of
select=
"@name"
/>
);
ui.setState(
<xsl:value-of
select=
"@name"
/>
,m_
<xsl:value-of
select=
"@name"
/>
,node_
<xsl:value-of
select=
"@name"
/>
);
</xsl:when>
<xsl:when
test=
"normalize-space(@iotype)='AI'"
>
si.id =
<xsl:value-of
select=
"@name"
/>
;
si.node = node_
<xsl:value-of
select=
"@name"
/>
;
ui.saveValue( si,(long)m_
<xsl:value-of
select=
"@name"
/>
,UniversalIO::AnalogInput, getId() );
</xsl:when>
<xsl:when
test=
"normalize-space(@iotype)='AO'"
>
ui.setValue(
<xsl:value-of
select=
"@name"
/>
, (long)m_
<xsl:value-of
select=
"@name"
/>
);
ui.setValue(
<xsl:value-of
select=
"@name"
/>
, (long)m_
<xsl:value-of
select=
"@name"
/>
,node_
<xsl:value-of
select=
"@name"
/>
);
</xsl:when>
</xsl:choose>
}
...
...
Utilities/codegen/ctl-cpp-common.xsl
View file @
b348783b
...
...
@@ -23,6 +23,13 @@
</xsl:choose>
</xsl:template>
<xsl:template
name=
"setnode"
>
<xsl:choose>
<xsl:when
test=
"normalize-space(@node)=''"
>
conf->getLocalNode()
</xsl:when>
<xsl:when
test=
"normalize-space(@node)!=''"
>
conf->getNodeID(
<xsl:value-of
select=
"@node"
/>
)
</xsl:when>
</xsl:choose>
</xsl:template>
<xsl:template
name=
"preinclude"
>
<xsl:if
test=
"normalize-space($LOCALINC)!=''"
>
<xsl:text>
"
</xsl:text>
...
...
@@ -48,6 +55,7 @@
<xsl:choose>
<xsl:when
test=
"$GENTYPE='H'"
>
const UniSetTypes::ObjectId
<xsl:value-of
select=
"../../@name"
/>
; /*!
<
<xsl:value-of
select=
"../../@textname"
/>
*/
const 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"
/>
; /*!
<
*/
<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"
/>
; /*!
<
*/
</xsl:when>
...
...
@@ -141,10 +149,11 @@
bool alarm( UniSetTypes::ObjectId sid, bool state );
bool getState( UniSetTypes::ObjectId sid );
bool getValue( UniSetTypes::ObjectId sid );
void setValue( UniSetTypes::ObjectId sid, long value );
void setState( UniSetTypes::ObjectId sid, bool state );
void askState( UniSetTypes::ObjectId sid, UniversalIO::UIOCommand );
void askValue( UniSetTypes::ObjectId sid, UniversalIO::UIOCommand );
void askState( UniSetTypes::ObjectId sid, UniversalIO::UIOCommand
, UniSetTypes::ObjectId node = UniSetTypes::conf->getLocalNode()
);
void askValue( UniSetTypes::ObjectId sid, UniversalIO::UIOCommand
, UniSetTypes::ObjectId node = UniSetTypes::conf->getLocalNode()
);
void askThreshold ( UniSetTypes::ObjectId sensorId, UniSetTypes::ThresholdId tid,
UniversalIO::UIOCommand cmd,
CORBA::Long lowLimit, CORBA::Long hiLimit, CORBA::Long sensibility,
...
...
@@ -198,7 +207,6 @@
<xsl:template
name=
"COMMON-HEAD-PRIVATE"
>
IOController_i::SensorInfo si;
// UniSetTypes::SensorMessage sm;
</xsl:template>
<xsl:template
name=
"COMMON-CC-FILE"
>
...
...
@@ -347,6 +355,13 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::waitSM( int wait_msec, ObjectId tes
if( testID == DefaultObjectId )
return;
if( unideb.debugging(Debug::INFO) )
{
unideb[Debug::INFO]
<<
myname
<<
"(waitSM): waiting SM ready "
<<
wait_msec
<<
" msec"
<<
" testID="
<<
testID
<<
endl;
}
if( !ui.waitReady(testID,wait_msec) )
{
ostringstream err;
...
...
@@ -355,7 +370,9 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::waitSM( int wait_msec, ObjectId tes
<<
wait_msec
<<
" ";
unideb[Debug::CRIT]
<<
err.str()
<<
endl;
kill(SIGTERM,getpid()); // () ...
terminate();
abort();
// kill(SIGTERM,getpid()); // () ...
throw SystemError(err.str());
}
...
...
@@ -369,7 +386,9 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::waitSM( int wait_msec, ObjectId tes
<<
wait_msec
<<
" ";
unideb[Debug::CRIT]
<<
err.str()
<<
endl;
kill(SIGTERM,getpid()); // () ...
terminate();
abort();
// kill(SIGTERM,getpid()); // () ...
throw SystemError(err.str());
}
}
...
...
@@ -405,9 +424,11 @@ using namespace UniSetTypes;
// ( . )
<xsl:for-each
select=
"//smap/item"
>
<xsl:value-of
select=
"@name"
/>
(DefaultObjectId),
node_
<xsl:value-of
select=
"@name"
/>
(DefaultObjectId),
</xsl:for-each>
// ( . )
<xsl:for-each
select=
"//msgmap/item"
><xsl:value-of
select=
"@name"
/>
(DefaultObjectId),
node_
<xsl:value-of
select=
"@name"
/>
(DefaultObjectId),
</xsl:for-each>
active(false),
isTestMode(false),
...
...
@@ -427,9 +448,11 @@ activated(false)
// ( . )
<xsl:for-each
select=
"//smap/item"
>
<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)"
/>
(
<xsl:call-template
name=
"setnode"
/>
),
</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)"
/>
"))),
node_
<xsl:value-of
select=
"normalize-space(@name)"
/>
(
<xsl:call-template
name=
"setnode"
/>
),
</xsl:for-each>
sleep_msec(
<xsl:call-template
name=
"settings"
><xsl:with-param
name=
"varname"
select=
"'sleep-msec'"
/></xsl:call-template>
),
active(true),
...
...
@@ -446,12 +469,22 @@ activated(false)
<xsl:if
test=
"normalize-space(@no_check_id)!='1'"
>
if(
<xsl:value-of
select=
"normalize-space(@name)"
/>
== UniSetTypes::DefaultObjectId )
throw Exception( myname + ": NotFound ID for (
<xsl:value-of
select=
"@name"
/>
) " + conf->getProp(cnode,"
<xsl:value-of
select=
"@name"
/>
") );
<xsl:if
test=
"normalize-space(@node)!=''"
>
if( node_
<xsl:value-of
select=
"normalize-space(@node)"
/>
== UniSetTypes::DefaultObjectId )
throw Exception( myname + ": NotFound NodeID for (node=
<xsl:value-of
select=
"@node"
/>
) " + conf->getProp(cnode,"
<xsl:value-of
select=
"@node"
/>
") );
</xsl:if>
</xsl:if>
</xsl:for-each>
<xsl:for-each
select=
"//msgmap/item"
>
if(
<xsl:value-of
select=
"normalize-space(@name)"
/>
== UniSetTypes::DefaultObjectId )
unideb[Debug::WARN]
<<
myname
<<
": NotFound (Message)OID for "
<<
conf->getProp(cnode,"
<xsl:value-of
select=
"normalize-space(@name)"
/>
")
<<
endl;
if( node_
<xsl:value-of
select=
"normalize-space(@name)"
/>
== UniSetTypes::DefaultObjectId )
{
unideb[Debug::WARN]
<<
myname
<<
": NotFound (Message)NodeD for node="
<<
conf->getProp(cnode,"
<xsl:value-of
select=
"normalize-space(@node)"
/>
")
<<
". Use localNode="
<<
conf->getLocalNode()
<<
endl;
}
</xsl:for-each>
//
...
...
@@ -473,8 +506,6 @@ activated(false)
</xsl:if>
</xsl:for-each>
si.node = conf->getLocalNode();
sleep_msec = atoi(conf->getArgParam("--sleep-msec","
<xsl:call-template
name=
"settings"
><xsl:with-param
name=
"varname"
select=
"'sleep-msec'"
/></xsl:call-template>
").c_str());
if( sleep_msec
<
=0 )
sleep_msec =
<xsl:call-template
name=
"settings"
><xsl:with-param
name=
"varname"
select=
"'sleep-msec'"
/></xsl:call-template>
;
...
...
@@ -563,15 +594,18 @@ bool <xsl:value-of select="$CLASSNAME"/>_SK::alarm( UniSetTypes::ObjectId code,
else
unideb(Debug::LEVEL1)
<<
"RESET ";
unideb(Debug::LEVEL1)
<<
endl;
<xsl:for-each
select=
"//msgmap/item"
>
if( code ==
<xsl:value-of
select=
"@name"
/>
)
{
unideb
(Debug::LEVEL1)
<<
"
<xsl:value-of
select=
"@name"
/>
"
<<
endl;
unideb
[Debug::LEVEL1]
<<
"
<xsl:value-of
select=
"@name"
/>
"
<<
endl;
try
{
m_
<xsl:value-of
select=
"@name"
/>
= state;
// ...
si.id =
<xsl:value-of
select=
"@name"
/>
;
si.node = node_
<xsl:value-of
select=
"@name"
/>
;
ui.saveState( si,m_
<xsl:value-of
select=
"@name"
/>
,UniversalIO::DigitalInput,getId() );
return true;
}
...
...
@@ -580,7 +614,7 @@ bool <xsl:value-of select="$CLASSNAME"/>_SK::alarm( UniSetTypes::ObjectId code,
}
</xsl:for-each>
unideb
(Debug::LEVEL8)
<<
" not found MessgeOID?!!"
<<
endl;
unideb
[Debug::LEVEL1]
<<
" not found MessgeOID?!!"
<<
endl;
return false;
}
// -----------------------------------------------------------------------------
...
...
@@ -590,6 +624,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::resetMsg()
<xsl:for-each
select=
"//msgmap/item"
>
m_
<xsl:value-of
select=
"@name"
/>
= 0;
si.id =
<xsl:value-of
select=
"@name"
/>
;
si.node = node_
<xsl:value-of
select=
"@name"
/>
;
ui.saveState( si,false,UniversalIO::DigitalInput,getId() );
</xsl:for-each>
}
...
...
Utilities/codegen/ctl-cpp-h.xsl
View file @
b348783b
...
...
@@ -56,11 +56,13 @@ class <xsl:value-of select="$CLASSNAME"/>_SK:
//
<xsl:for-each
select=
"//smap/item"
>
const UniSetTypes::ObjectId
<xsl:value-of
select=
"@name"
/>
; /*!
<
<xsl:value-of
select=
"@comment"
/>
*/
const UniSetTypes::ObjectId node_
<xsl:value-of
select=
"@name"
/>
;
</xsl:for-each>
//
<xsl:for-each
select=
"//msgmap/item"
>
const UniSetTypes::ObjectId
<xsl:value-of
select=
"@name"
/>
; /*!
<
<xsl:value-of
select=
"@comment"
/>
*/
const UniSetTypes::ObjectId node_
<xsl:value-of
select=
"@name"
/>
;
bool m_
<xsl:value-of
select=
"@name"
/>
; /*!
<
/> */
bool prev_m_
<xsl:value-of
select=
"@name"
/>
; /*!
<
/> */
</xsl:for-each>
...
...
Utilities/codegen/ctl-cpp-main.xsl
View file @
b348783b
...
...
@@ -43,7 +43,7 @@ int main( int argc, char* argv[] )
if( argc>1
&&
strcmp(argv[1],"--help")==0 )
{
cout
<<
"--name name - ID .
<xsl:value-of
select=
"$CLASSNAME"
/>
."
<<
endl;
cout
<<
"--
v
onfile fname - . . configure.xml"
<<
endl;
cout
<<
"--
c
onfile fname - . . configure.xml"
<<
endl;
cout
<<
"--logfile fname - fname.
<xsl:value-of
select=
"$CLASSNAME"
/>
.log"
<<
endl;
return 0;
}
...
...
@@ -85,7 +85,7 @@ int main( int argc, char* argv[] )
SystemMessage sm(SystemMessage::StartUp);
act.broadcast( sm.transport_msg() );
act.run(false);
pause(); // ,
pause(); // ,
}
catch(Exception
&
ex)
{
...
...
Utilities/codegen/tests/TestGen.cc
0 → 100644
View file @
b348783b
// $Id$
#include <uniset/Exceptions.h>
#include "TestGen.h"
// -----------------------------------------------------------------------------
using
namespace
std
;
using
namespace
UniSetTypes
;
// -----------------------------------------------------------------------------
TestGen
::
TestGen
(
UniSetTypes
::
ObjectId
id
,
xmlNode
*
confnode
)
:
TestGen_SK
(
id
,
confnode
)
{
}
// -----------------------------------------------------------------------------
TestGen
::~
TestGen
()
{
}
// -----------------------------------------------------------------------------
TestGen
::
TestGen
()
{
cerr
<<
": init failed!!!!!!!!!!!!!!!"
<<
endl
;
throw
Exception
();
}
// -----------------------------------------------------------------------------
void
TestGen
::
step
()
{
cout
<<
"input2 state="
<<
in_input2_s
<<
endl
;
}
// -----------------------------------------------------------------------------
void
TestGen
::
sensorInfo
(
SensorMessage
*
sm
)
{
if
(
sm
->
id
==
input1_s
)
out_output1_c
=
in_input1_s
;
// sm->state
}
// -----------------------------------------------------------------------------
void
TestGen
::
timerInfo
(
TimerMessage
*
tm
)
{
}
// -----------------------------------------------------------------------------
void
TestGen
::
sigterm
(
int
signo
)
{
TestGen_SK
::
sigterm
(
signo
);
}
// -----------------------------------------------------------------------------
Utilities/codegen/tests/TestGen.h
0 → 100644
View file @
b348783b
// $Id$
// -----------------------------------------------------------------------------
#ifndef TestGen_H_
#define TestGen_H_
// -----------------------------------------------------------------------------
#include "TestGen_SK.h"
// -----------------------------------------------------------------------------
class
TestGen
:
public
TestGen_SK
{
public
:
TestGen
(
UniSetTypes
::
ObjectId
id
,
xmlNode
*
confnode
=
UniSetTypes
::
conf
->
getNode
(
"TestGen"
)
);
virtual
~
TestGen
();
protected
:
TestGen
();
virtual
void
step
();
void
sensorInfo
(
UniSetTypes
::
SensorMessage
*
sm
);
void
timerInfo
(
UniSetTypes
::
TimerMessage
*
tm
);
virtual
void
sigterm
(
int
signo
);
private
:
};
// -----------------------------------------------------------------------------
#endif // TestGen_H_
// -----------------------------------------------------------------------------
Utilities/codegen/tests/create_links.sh
0 → 100755
View file @
b348783b
#!/bin/sh
ln
-s
-f
/usr/bin/uniset-stop.sh stop.sh
ln
-s
-f
../../../conf/test.xml test.xml
Utilities/codegen/tests/start_fg.sh
0 → 100755
View file @
b348783b
#!/bin/sh
ulimit
-Sc
1000000
uniset-start.sh
-f
./test
--name
TestProc
--confile
test.xml
--unideb-add-levels
info,crit,warn,level1,level8
\
--sm-ready-timeout
5000
#info,warn,crit,system,level9 > 1.log
#--c-filter-field cfilter --c-filter-value test1 --s-filter-field io --s-filter-value 1
include/UniSetObject.h
View file @
b348783b
...
...
@@ -129,6 +129,7 @@ class UniSetObject:
*/
virtual
void
sigterm
(
int
signo
){};
inline
void
terminate
(){
disactivate
();
}
/*! timeMS */
virtual
bool
waitMessage
(
UniSetTypes
::
VoidMessage
&
msg
,
int
timeMS
=
UniSetTimer
::
WaitUpTime
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment