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
ef25fa5e
Commit
ef25fa5e
authored
Aug 05, 2016
by
Pavel Vainerman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(Restorer): изменил обработку ошибок. Теперь выкидывается исключение,
вместо return false.
parent
b4af90df
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
30 additions
and
20 deletions
+30
-20
TODO
TODO
+0
-3
NCRestorer_XML.cc
src/Processes/NCRestorer_XML.cc
+30
-17
No files found.
TODO
View file @
ef25fa5e
...
@@ -55,11 +55,8 @@ Version 2.5
...
@@ -55,11 +55,8 @@ Version 2.5
- переписать систему инициализации и работы между UniSetActivator,UniSetManager и UniSetObject-ами (уменьшить количество функций (связность))
- переписать систему инициализации и работы между UniSetActivator,UniSetManager и UniSetObject-ами (уменьшить количество функций (связность))
- Использовать PIMPL (подумать.. это серьёзная переделка кода)
- Использовать PIMPL (подумать.. это серьёзная переделка кода)
- Вылетать с ошибкой если в секции <thresholds> указан не существующий датчик
- совместимость между 64bit и 32bit - для этого нужно отказаться от использования сырого long и перейти либо на int32_t либо CORBA::Long.
- совместимость между 64bit и 32bit - для этого нужно отказаться от использования сырого long и перейти либо на int32_t либо CORBA::Long.
Либо стоит всё-таки ввести свой тип данных value_t для хранимых значений, чтобы спокойно работать в x86_64 и x86_32
Либо стоит всё-таки ввести свой тип данных value_t для хранимых значений, чтобы спокойно работать в x86_64 и x86_32
при этом скрыв детали реализации. А возможно в последствии наложить какие-то ограничения на этот тип
при этом скрыв детали реализации. А возможно в последствии наложить какие-то ограничения на этот тип
...
...
src/Processes/NCRestorer_XML.cc
View file @
ef25fa5e
...
@@ -249,8 +249,10 @@ bool NCRestorer_XML::getBaseInfo( const std::shared_ptr<UniXML>& xml, xmlNode* i
...
@@ -249,8 +249,10 @@ bool NCRestorer_XML::getBaseInfo( const std::shared_ptr<UniXML>& xml, xmlNode* i
if
(
sid
==
UniSetTypes
::
DefaultObjectId
)
if
(
sid
==
UniSetTypes
::
DefaultObjectId
)
{
{
ucrit
<<
"(getBaseInfo): НЕ НАЙДЕН ИДЕНТИФИКАТОР датчика --> "
<<
sname
<<
endl
;
ostringstream
err
;
return
false
;
err
<<
"(getBaseInfo): НЕ НАЙДЕН ИДЕНТИФИКАТОР датчика --> "
<<
sname
;
ucrit
<<
err
.
str
()
<<
endl
;
throw
SystemError
(
err
.
str
());
}
}
ObjectId
snode
=
uniset_conf
()
->
getLocalNode
();
ObjectId
snode
=
uniset_conf
()
->
getLocalNode
();
...
@@ -291,9 +293,11 @@ bool NCRestorer_XML::getSensorInfo( const std::shared_ptr<UniXML>& xml, xmlNode*
...
@@ -291,9 +293,11 @@ bool NCRestorer_XML::getSensorInfo( const std::shared_ptr<UniXML>& xml, xmlNode*
if
(
inf
->
type
==
UniversalIO
::
UnknownIOType
)
if
(
inf
->
type
==
UniversalIO
::
UnknownIOType
)
{
{
ucrit
<<
"(NCRestorer_XML:getSensorInfo): unknown iotype="
<<
xml
->
getProp
(
it
,
"iotype"
)
ostringstream
err
;
<<
" for "
<<
xml
->
getProp
(
it
,
"name"
)
<<
endl
;
err
<<
"(NCRestorer_XML:getSensorInfo): unknown iotype="
<<
xml
->
getProp
(
it
,
"iotype"
)
return
false
;
<<
" for "
<<
xml
->
getProp
(
it
,
"name"
);
ucrit
<<
err
.
str
()
<<
endl
;
throw
SystemError
(
err
.
str
());
}
}
// калибровка
// калибровка
...
@@ -328,11 +332,13 @@ bool NCRestorer_XML::getSensorInfo( const std::shared_ptr<UniXML>& xml, xmlNode*
...
@@ -328,11 +332,13 @@ bool NCRestorer_XML::getSensorInfo( const std::shared_ptr<UniXML>& xml, xmlNode*
if
(
inf
->
d_si
.
id
==
UniSetTypes
::
DefaultObjectId
)
if
(
inf
->
d_si
.
id
==
UniSetTypes
::
DefaultObjectId
)
{
{
ucrit
<<
"(NCRestorer_XML:getSensorInfo): sensor='"
ostringstream
err
;
err
<<
"(NCRestorer_XML:getSensorInfo): sensor='"
<<
xml
->
getProp
(
it
,
"name"
)
<<
"' err: "
<<
xml
->
getProp
(
it
,
"name"
)
<<
"' err: "
<<
" Unknown SensorID for depend='"
<<
d_txt
<<
" Unknown SensorID for depend='"
<<
d_txt
;
<<
endl
;
return
false
;
ucrit
<<
err
.
str
()
<<
endl
;
throw
SystemError
(
err
.
str
());
}
}
inf
->
d_si
.
node
=
uniset_conf
()
->
getLocalNode
();
inf
->
d_si
.
node
=
uniset_conf
()
->
getLocalNode
();
...
@@ -484,21 +490,28 @@ bool NCRestorer_XML::getThresholdInfo( const std::shared_ptr<UniXML>& xml, xmlNo
...
@@ -484,21 +490,28 @@ bool NCRestorer_XML::getThresholdInfo( const std::shared_ptr<UniXML>& xml, xmlNo
if
(
ti
.
sid
==
UniSetTypes
::
DefaultObjectId
)
if
(
ti
.
sid
==
UniSetTypes
::
DefaultObjectId
)
{
{
ucrit
<<
"(NCRestorer_XML:getThresholdInfo): "
ostringstream
err
;
<<
" Not found ID for "
<<
sid_name
<<
endl
;
err
<<
"(NCRestorer_XML:getThresholdInfo): "
<<
" Not found ID for "
<<
sid_name
;
ucrit
<<
err
.
str
()
<<
endl
;
throw
SystemError
(
err
.
str
());
}
}
else
else
{
{
UniversalIO
::
IOType
iotype
=
uniset_conf
()
->
getIOType
(
ti
.
sid
);
UniversalIO
::
IOType
iotype
=
uniset_conf
()
->
getIOType
(
ti
.
sid
);
// Пока что IONotifyController поддерживает работу только с 'DI'.
// Пока что IONotifyController поддерживает работу только с 'DI
/DO
'.
if
(
iotype
!=
UniversalIO
::
DI
)
if
(
iotype
!=
UniversalIO
::
DI
&&
iotype
!=
UniversalIO
::
DO
)
{
{
ucrit
<<
"(NCRestorer_XML:getThresholdInfo): "
ostringstream
err
;
<<
" Bad iotype("
<<
iotype
<<
") for "
<<
sid_name
<<
". iotype must be 'DI'!"
<<
endl
;
err
<<
"(NCRestorer_XML:getThresholdInfo): "
return
false
;
<<
" Bad iotype("
<<
iotype
<<
") for "
<<
sid_name
}
<<
". iotype must be 'DI' or 'DO'."
;
ucrit
<<
err
.
str
()
<<
endl
;
throw
SystemError
(
err
.
str
());
}
}
}
}
}
...
...
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