Commit 6480bf57 authored by Pavel Vainerman's avatar Pavel Vainerman

Перешёл на использование -std=c++0x, использование auto,

циклов for( auto ...) и т.п.
parent 4b39d018
......@@ -8,7 +8,7 @@
Name: libuniset2
Version: 2.0
Release: alt0.8
Release: alt0.9
Summary: UniSet - library for building distributed industrial control systems
......@@ -333,6 +333,9 @@ mv -f %buildroot%python_sitelibdir_noarch/* %buildroot%python_sitelibdir/%oname
%exclude %_pkgconfigdir/libUniSet2.pc
%changelog
* Tue Feb 04 2014 Pavel Vainerman <pv@altlinux.ru> 2.0-alt0.9
- use -std=c++0x (auto, for( auto..), etc)
* Mon Feb 03 2014 Pavel Vainerman <pv@altlinux.ru> 2.0-alt0.8
- fixed bug in LT_Object
......
......@@ -58,7 +58,7 @@ AM_CONDITIONAL(DISABLE_SQLITE, test ${buildsqlite} = false)
# export
LDFLAGS="${OMNI_LIBS} ${XML_LIBS}"
CXXFLAGS="-pedantic -Wall -funsigned-char -g -D_GNU_SOURCE ${OMNI_CFLAGS} ${XML_CFLAGS} -I\$(top_builddir)/include"
CXXFLAGS="-pedantic -Wall -funsigned-char -std=c++0x -g -D_GNU_SOURCE ${OMNI_CFLAGS} ${XML_CFLAGS} -I\$(top_builddir)/include"
AC_SUBST(LDFLAGS)
AC_SUBST(CXXFLAGS)
......
#include <sstream>
#include <sstream>
#include "ORepHelpers.h"
#include "UniSetTypes.h"
#include "Extensions.h"
......@@ -271,10 +271,10 @@ void IOControl::execute()
iomap.resize(maxItem);
// init iterators
for( IOMap::iterator it=iomap.begin(); it!=iomap.end(); ++it )
for( auto &it: iomap )
{
shm->initIterator(it->ioit);
shm->initIterator(it->t_ait);
shm->initIterator(it.ioit);
shm->initIterator(it.t_ait);
}
readconf_ok = true; // т.к. waitSM() уже был...
......@@ -403,18 +403,18 @@ void IOControl::iopoll()
return;
// Опрос приоритетной очереди
for( PIOMap::iterator it=pmap.begin(); it!=pmap.end(); ++it )
for( auto it: pmap )
{
if( it->priority > 0 )
if( it.priority > 0 )
{
ioread( &(iomap[it->index]) );
IOBase::processingThreshold((IOBase*)&(iomap[it->index]),shm,force);
ioread( &(iomap[it.index]) );
IOBase::processingThreshold((IOBase*)&(iomap[it.index]),shm,force);
}
}
bool prior = false;
unsigned int i = 0;
for( IOMap::iterator it=iomap.begin(); it!=iomap.end(); ++it,i++ )
for( auto it=iomap.begin(); it!=iomap.end(); ++it,i++ )
{
if( it->ignore )
continue;
......@@ -427,12 +427,12 @@ void IOControl::iopoll()
// опять опросим приоритетные
if( !prior && i>maxHalf )
{
for( PIOMap::iterator it=pmap.begin(); it!=pmap.end(); ++it )
for( auto &p: pmap )
{
if( it->priority > 1 )
if( p.priority > 1 )
{
ioread( &(iomap[it->index]) );
IOBase::processingThreshold((IOBase*)&(iomap[it->index]),shm,force);
ioread( &(iomap[p.index]) );
IOBase::processingThreshold((IOBase*)&(iomap[p.index]),shm,force);
}
}
......@@ -441,12 +441,12 @@ void IOControl::iopoll()
}
// Опрос приоритетной очереди
for( PIOMap::iterator it=pmap.begin(); it!=pmap.end(); ++it )
for( auto &it: pmap )
{
if( it->priority > 2 )
if( it.priority > 2 )
{
ioread( &(iomap[it->index]) );
IOBase::processingThreshold((IOBase*)&(iomap[it->index]),shm,force);
ioread( &(iomap[it.index]) );
IOBase::processingThreshold((IOBase*)&(iomap[it.index]),shm,force);
}
}
}
......@@ -802,29 +802,29 @@ void IOControl::sigterm( int signo )
return;
// выставляем безопасные состояния
for( IOMap::iterator it=iomap.begin(); it!=iomap.end(); ++it )
for( auto &it: iomap )
{
if( it->ignore )
if( it.ignore )
continue;
ComediInterface* card = cards.getCard(it->ncard);
ComediInterface* card = cards.getCard(it.ncard);
if( card == NULL )
continue;
try
{
if( it->subdev==DefaultSubdev || it->safety == NoSafety )
if( it.subdev==DefaultSubdev || it.safety == NoSafety )
continue;
if( it->stype == UniversalIO::DO || it->lamp )
if( it.stype == UniversalIO::DO || it.lamp )
{
bool set = it->invert ? !((bool)it->safety) : (bool)it->safety;
card->setDigitalChannel(it->subdev,it->channel,set);
bool set = it.invert ? !((bool)it.safety) : (bool)it.safety;
card->setDigitalChannel(it.subdev,it.channel,set);
}
else if( it->stype == UniversalIO::AO )
else if( it.stype == UniversalIO::AO )
{
card->setAnalogChannel(it->subdev,it->channel,it->safety,it->range,it->aref);
card->setAnalogChannel(it.subdev,it.channel,it.safety,it.range,it.aref);
}
}
catch( Exception& ex )
......@@ -843,24 +843,24 @@ void IOControl::initOutputs()
return;
// выставляем значение по умолчанию
for( IOMap::iterator it=iomap.begin(); it!=iomap.end(); ++it )
for( auto &it: iomap )
{
if( it->ignore )
if( it.ignore )
continue;
ComediInterface* card = cards.getCard(it->ncard);
ComediInterface* card = cards.getCard(it.ncard);
if( card == NULL || it->subdev==DefaultSubdev || it->channel==DefaultChannel )
if( card == NULL || it.subdev==DefaultSubdev || it.channel==DefaultChannel )
continue;
try
{
if( it->lamp )
card->setDigitalChannel(it->subdev,it->channel,(bool)it->defval);
else if( it->stype == UniversalIO::DO )
card->setDigitalChannel(it->subdev,it->channel,(bool)it->defval);
else if( it->stype == UniversalIO::AO )
card->setAnalogChannel(it->subdev,it->channel,it->defval,it->range,it->aref);
if( it.lamp )
card->setDigitalChannel(it.subdev,it.channel,(bool)it.defval);
else if( it.stype == UniversalIO::DO )
card->setDigitalChannel(it.subdev,it.channel,(bool)it.defval);
else if( it.stype == UniversalIO::AO )
card->setAnalogChannel(it.subdev,it.channel,it.defval,it.range,it.aref);
}
catch( Exception& ex )
{
......@@ -874,51 +874,49 @@ void IOControl::initIOCard()
if( noCards )
return;
for( IOMap::iterator it=iomap.begin(); it!=iomap.end(); ++it )
for( auto &it: iomap )
{
if( it->subdev == DefaultSubdev )
if( it.subdev == DefaultSubdev )
continue;
ComediInterface* card = cards.getCard(it->ncard);
ComediInterface* card = cards.getCard(it.ncard);
if( card == NULL || it->subdev==DefaultSubdev || it->channel==DefaultChannel )
if( card == NULL || it.subdev==DefaultSubdev || it.channel==DefaultChannel )
continue;
try
{
// конфигурировать необходимо только дискретные входы/выходы
// или "лампочки" (т.к. они фиктивные аналоговые датчики)
if( it->lamp )
card->configureChannel(it->subdev,it->channel,ComediInterface::DO);
else if( it->stype == UniversalIO::DI )
card->configureChannel(it->subdev,it->channel,ComediInterface::DI);
else if( it->stype == UniversalIO::DO )
card->configureChannel(it->subdev,it->channel,ComediInterface::DO);
else if( it->stype == UniversalIO::AI )
if( it.lamp )
card->configureChannel(it.subdev,it.channel,ComediInterface::DO);
else if( it.stype == UniversalIO::DI )
card->configureChannel(it.subdev,it.channel,ComediInterface::DI);
else if( it.stype == UniversalIO::DO )
card->configureChannel(it.subdev,it.channel,ComediInterface::DO);
else if( it.stype == UniversalIO::AI )
{
card->configureChannel(it->subdev,it->channel,ComediInterface::AI);
it->df.init( card->getAnalogChannel(it->subdev, it->channel, it->range, it->aref) );
card->configureChannel(it.subdev,it.channel,ComediInterface::AI);
it.df.init( card->getAnalogChannel(it.subdev, it.channel, it.range, it.aref) );
}
else if( it->stype == UniversalIO::AO )
card->configureChannel(it->subdev,it->channel,ComediInterface::AO);
else if( it.stype == UniversalIO::AO )
card->configureChannel(it.subdev,it.channel,ComediInterface::AO);
}
catch( Exception& ex)
{
dcrit << myname << "(initIOCard): sid=" << it->si.id << " " << ex << endl;
dcrit << myname << "(initIOCard): sid=" << it.si.id << " " << ex << endl;
}
}
}
}
// -----------------------------------------------------------------------------
void IOControl::blink( BlinkList& lst, bool& bstate )
{
if( lst.empty() )
return;
for( BlinkList::iterator it=lst.begin(); it!=lst.end(); ++it )
for( auto &io: lst )
{
IOInfo* io(*it);
if( io->subdev==DefaultSubdev || io->channel==DefaultChannel )
continue;
......@@ -935,25 +933,25 @@ void IOControl::blink( BlinkList& lst, bool& bstate )
dcrit << myname << "(blink): " << ex << endl;
}
}
bstate ^= true;
}
// -----------------------------------------------------------------------------
void IOControl::addBlink( IOInfo* io, BlinkList& lst )
{
for( BlinkList::iterator it=lst.begin(); it!=lst.end(); ++it )
for( auto &it: lst )
{
if( (*it) == io )
if( it == io )
return;
}
lst.push_back(io);
}
// -----------------------------------------------------------------------------
void IOControl::delBlink( IOInfo* io, BlinkList& lst )
{
for( BlinkList::iterator it=lst.begin(); it!=lst.end(); ++it )
for( auto it=lst.begin(); it!=lst.end(); ++it )
{
if( (*it) == io )
{
......@@ -983,35 +981,35 @@ void IOControl::check_testmode()
if( testmode == tmOffPoll )
{
// выставляем безопасные состояния
for( IOMap::iterator it=iomap.begin(); it!=iomap.end(); ++it )
for( auto &it: iomap )
{
if( it->ignore )
if( it.ignore )
continue;
ComediInterface* card = cards.getCard(it->ncard);
ComediInterface* card = cards.getCard(it.ncard);
if( card == NULL )
continue;
if( testmode == tmConfigEnable && !it->enable_testmode )
if( testmode == tmConfigEnable && !it.enable_testmode )
return;
if( testmode == tmConfigDisable && it->disable_testmode )
if( testmode == tmConfigDisable && it.disable_testmode )
return;
try
{
if( it->subdev==DefaultSubdev || it->safety == NoSafety )
if( it.subdev==DefaultSubdev || it.safety == NoSafety )
continue;
if( it->stype == UniversalIO::DO || it->lamp )
if( it.stype == UniversalIO::DO || it.lamp )
{
bool set = it->invert ? !((bool)it->safety) : (bool)it->safety;
card->setDigitalChannel(it->subdev,it->channel,set);
bool set = it.invert ? !((bool)it.safety) : (bool)it.safety;
card->setDigitalChannel(it.subdev,it.channel,set);
}
else if( it->stype == UniversalIO::AO )
else if( it.stype == UniversalIO::AO )
{
card->setAnalogChannel(it->subdev,it->channel,it->safety,it->range,it->aref);
card->setAnalogChannel(it.subdev,it.channel,it.safety,it.range,it.aref);
}
}
catch( Exception& ex )
......@@ -1053,38 +1051,38 @@ void IOControl::check_testlamp()
// << isTestLamp << " *************" << endl;
// проходим по списку и формируем список мигающих выходов...
for( IOMap::iterator it=iomap.begin(); it!=iomap.end(); ++it )
for( auto &it: iomap )
{
if( !it->lamp || it->no_testlamp )
if( !it.lamp || it.no_testlamp )
continue;
if( it->stype == UniversalIO::AO )
if( it.stype == UniversalIO::AO )
{
if( isTestLamp )
{
addBlink( &(*it),lstBlink);
delBlink( &(*it),lstBlink2);
delBlink( &(*it),lstBlink3);
addBlink( &it,lstBlink);
delBlink( &it,lstBlink2);
delBlink( &it,lstBlink3);
}
else if( it->value == lmpBLINK )
addBlink( &(*it),lstBlink);
else if( it->value == lmpBLINK2 )
addBlink( &(*it),lstBlink2);
else if( it->value == lmpBLINK3 )
addBlink( &(*it),lstBlink3);
else if( it.value == lmpBLINK )
addBlink( &it,lstBlink);
else if( it.value == lmpBLINK2 )
addBlink( &it,lstBlink2);
else if( it.value == lmpBLINK3 )
addBlink( &it,lstBlink3);
else
{
delBlink(&(*it),lstBlink);
delBlink(&(*it),lstBlink2);
delBlink(&(*it),lstBlink3);
delBlink(&it,lstBlink);
delBlink(&it,lstBlink2);
delBlink(&it,lstBlink3);
}
}
else if( it->stype == UniversalIO::DO )
else if( it.stype == UniversalIO::DO )
{
if( isTestLamp )
addBlink(&(*it),lstBlink);
addBlink(&it,lstBlink);
else
delBlink(&(*it),lstBlink);
delBlink(&it,lstBlink);
}
}
}
......@@ -1287,22 +1285,21 @@ void IOControl::askSensors( UniversalIO::UIOCommand cmd )
dcrit << myname << "(askSensors): " << ex << endl;
}
for( IOMap::iterator it=iomap.begin(); it!=iomap.end(); ++it )
for( auto &it: iomap )
{
if( it->ignore )
if( it.ignore )
continue;
ComediInterface* card = cards.getCard(it->ncard);
ComediInterface* card = cards.getCard(it.ncard);
if( card == NULL || it->subdev==DefaultSubdev || it->channel==DefaultChannel )
if( card == NULL || it.subdev==DefaultSubdev || it.channel==DefaultChannel )
continue;
if( it->stype == UniversalIO::AO ||
it->stype == UniversalIO::DO )
if( it.stype == UniversalIO::AO || it.stype == UniversalIO::DO )
{
try
{
shm->askSensor(it->si.id,cmd,myid);
shm->askSensor(it.si.id,cmd,myid);
}
catch( Exception& ex)
{
......@@ -1330,39 +1327,39 @@ void IOControl::sensorInfo( const UniSetTypes::SensorMessage* sm )
check_testmode();
}
for( IOMap::iterator it=iomap.begin(); it!=iomap.end(); ++it )
for( auto& it: iomap )
{
if( it->si.id == sm->id )
if( it.si.id == sm->id )
{
dinfo << myname << "(sensorInfo): sid=" << sm->id
<< " value=" << sm->value
<< endl;
if( it->stype == UniversalIO::AO )
if( it.stype == UniversalIO::AO )
{
long prev_val = 0;
long cur_val = 0;
{
uniset_rwmutex_wrlock lock(it->val_lock);
prev_val = it->value;
it->value = sm->value;
uniset_rwmutex_wrlock lock(it.val_lock);
prev_val = it.value;
it.value = sm->value;
cur_val = sm->value;
}
if( it->lamp )
if( it.lamp )
{
switch( cur_val )
{
case lmpOFF:
delBlink(&(*it),lstBlink);
delBlink(&(*it),lstBlink2);
delBlink(&(*it),lstBlink3);
delBlink(&it,lstBlink);
delBlink(&it,lstBlink2);
delBlink(&it,lstBlink3);
break;
case lmpON:
delBlink(&(*it),lstBlink);
delBlink(&(*it),lstBlink2);
delBlink(&(*it),lstBlink3);
delBlink(&it,lstBlink);
delBlink(&it,lstBlink2);
delBlink(&it,lstBlink3);
break;
......@@ -1370,18 +1367,18 @@ void IOControl::sensorInfo( const UniSetTypes::SensorMessage* sm )
{
if( prev_val != lmpBLINK )
{
delBlink(&(*it),lstBlink2);
delBlink(&(*it),lstBlink3);
addBlink(&(*it),lstBlink);
delBlink(&it,lstBlink2);
delBlink(&it,lstBlink3);
addBlink(&it,lstBlink);
// и сразу зажигаем, чтобы не было паузы
// (так комфортнее выглядит для оператора)
if( it->ignore || it->subdev==DefaultSubdev || it->channel==DefaultChannel )
if( it.ignore || it.subdev==DefaultSubdev || it.channel==DefaultChannel )
break;
ComediInterface* card = cards.getCard(it->ncard);
ComediInterface* card = cards.getCard(it.ncard);
if( card != NULL )
card->setDigitalChannel(it->subdev,it->channel,1);
card->setDigitalChannel(it.subdev,it.channel,1);
}
}
break;
......@@ -1390,18 +1387,18 @@ void IOControl::sensorInfo( const UniSetTypes::SensorMessage* sm )
{
if( prev_val != lmpBLINK2 )
{
delBlink(&(*it),lstBlink);
delBlink(&(*it),lstBlink3);
addBlink(&(*it),lstBlink2);
delBlink(&it,lstBlink);
delBlink(&it,lstBlink3);
addBlink(&it,lstBlink2);
// и сразу зажигаем, чтобы не было паузы
// (так комфортнее выглядит для оператора)
if( it->ignore || it->subdev==DefaultSubdev || it->channel==DefaultChannel )
if( it.ignore || it.subdev==DefaultSubdev || it.channel==DefaultChannel )
break;
ComediInterface* card = cards.getCard(it->ncard);
ComediInterface* card = cards.getCard(it.ncard);
if( card != NULL )
card->setDigitalChannel(it->subdev,it->channel,1);
card->setDigitalChannel(it.subdev,it.channel,1);
}
}
break;
......@@ -1410,18 +1407,18 @@ void IOControl::sensorInfo( const UniSetTypes::SensorMessage* sm )
{
if( prev_val != lmpBLINK3 )
{
delBlink(&(*it),lstBlink);
delBlink(&(*it),lstBlink2);
addBlink(&(*it),lstBlink3);
delBlink(&it,lstBlink);
delBlink(&it,lstBlink2);
addBlink(&it,lstBlink3);
// и сразу зажигаем, чтобы не было паузы
// (так комфортнее выглядит для оператора)
if( it->ignore || it->subdev==DefaultSubdev || it->channel==DefaultChannel )
if( it.ignore || it.subdev==DefaultSubdev || it.channel==DefaultChannel )
break;
ComediInterface* card = cards.getCard(it->ncard);
ComediInterface* card = cards.getCard(it.ncard);
if( card != NULL )
card->setDigitalChannel(it->subdev,it->channel,1);
card->setDigitalChannel(it.subdev,it.channel,1);
}
}
break;
......@@ -1431,13 +1428,13 @@ void IOControl::sensorInfo( const UniSetTypes::SensorMessage* sm )
}
}
}
else if( it->stype == UniversalIO::DO )
else if( it.stype == UniversalIO::DO )
{
dlog1 << myname << "(sensorInfo): DO: sm->id=" << sm->id
<< " val=" << sm->value << endl;
uniset_rwmutex_wrlock lock(it->val_lock);
it->value = sm->value ? 1:0;
uniset_rwmutex_wrlock lock(it.val_lock);
it.value = sm->value ? 1:0;
}
break;
}
......@@ -1592,16 +1589,16 @@ void IOControl::buildCardsList()
}
else if( cname == "UNIO48" || cname == "UNIO96" )
{
int k = 4;
unsigned int k = 4;
if( cname == "UNIO48" )
k = 2;
// инициализация subdev-ов
for( unsigned int i=1; i<=k; i++ )
{
ostringstream s;
s << "subdev" << i;
string subdev_name( it.getProp(s.str()) );
if( subdev_name.empty() )
{
......
......@@ -17,9 +17,9 @@ void Element::addChildOut( Element* el, int num )
}
for( OutputList::iterator it=outs.begin(); it!=outs.end(); ++it )
for( auto &it: outs )
{
if( it->el == el )
if( it.el == el )
{
ostringstream msg;
msg << "(" << myid << "):" << el->getId() << " уже есть в списке дочерних(такое соединение уже есть)...";
......@@ -42,7 +42,7 @@ void Element::addChildOut( Element* el, int num )
// -------------------------------------------------------------------------
void Element::delChildOut( Element* el )
{
for( OutputList::iterator it=outs.begin(); it!=outs.end(); ++it )
for( auto it=outs.begin(); it!=outs.end(); ++it )
{
if( it->el == el )
{
......@@ -56,11 +56,11 @@ void Element::delChildOut( Element* el )
void Element::setChildOut()
{
bool _myout(getOut());
for( OutputList::iterator it=outs.begin(); it!=outs.end(); ++it )
for( auto &it: outs )
{
// try
// {
it->el->setIn(it->num,_myout);
it.el->setIn(it.num,_myout);
// }
// catch(...){}
}
......@@ -68,12 +68,12 @@ void Element::setChildOut()
// -------------------------------------------------------------------------
Element* Element::find( ElementID id )
{
for( OutputList::iterator it=outs.begin(); it!=outs.end(); ++it )
for( auto &it: outs )
{
if( it->el->getId() == id )
return it->el;
if( it.el->getId() == id )
return it.el;
Element* el( it->el->find(id) );
Element* el( it.el->find(id) );
if( el != NULL )
return el;
}
......@@ -83,9 +83,9 @@ Element* Element::find( ElementID id )
// -------------------------------------------------------------------------
void Element::addInput(int num, bool state)
{
for( InputList::iterator it=ins.begin(); it!=ins.end(); ++it )
for( auto &it: ins )
{
if( it->num == num )
if( it.num == num )
{
ostringstream msg;
msg << "(" << myid << "): попытка второй раз добавить input N" << num;
......@@ -98,7 +98,7 @@ void Element::addInput(int num, bool state)
// -------------------------------------------------------------------------
void Element::delInput( int num )
{
for( InputList::iterator it=ins.begin(); it!=ins.end(); ++it )
for( auto it=ins.begin(); it!=ins.end(); ++it )
{
if( it->num == num )
{
......@@ -108,4 +108,3 @@ void Element::delInput( int num )
}
}
// -------------------------------------------------------------------------
// -------------------------------------------------------------------------
......@@ -116,11 +116,11 @@ void LProcessor::build( const string& lfile )
*/
void LProcessor::getInputs()
{
for( EXTList::iterator it=extInputs.begin(); it!=extInputs.end(); ++it )
for( auto &it: extInputs )
{
// try
// {
it->state = (bool)ui.getValue(it->sid);
it.state = (bool)ui.getValue(it.sid);
// }
}
}
......@@ -128,22 +128,22 @@ void LProcessor::getInputs()
void LProcessor::processing()
{
// выcтавляем все внешние входы
for( EXTList::iterator it=extInputs.begin(); it!=extInputs.end();++it )
it->lnk->to->setIn(it->lnk->numInput,it->state);
for( auto &it: extInputs )
it.lnk->to->setIn(it.lnk->numInput,it.state);
// проходим по всем элементам
for( Schema::iterator it=sch.begin(); it!=sch.end(); ++it )
it->second->tick();
for( auto &it: sch )
it.second->tick();
}
// -------------------------------------------------------------------------
void LProcessor::setOuts()
{
// выcтавляем выходы
for( OUTList::iterator it=extOuts.begin(); it!=extOuts.end(); ++it )
for( auto &it: extOuts )
{
try
{
ui.setValue(it->sid,it->lnk->from->getOut(),DefaultObjectId);
ui.setValue(it.sid,it.lnk->from->getOut(),DefaultObjectId);
}
catch( Exception& ex )
{
......
......@@ -78,8 +78,8 @@ void PassiveLProcessor::askSensors( UniversalIO::UIOCommand cmd )
{
try
{
for( EXTList::iterator it=extInputs.begin(); it!=extInputs.end(); ++it )
shm->askSensor(it->sid,cmd);
for( auto &it: extInputs )
shm->askSensor(it.sid,cmd);
}
catch( Exception& ex )
{
......@@ -90,10 +90,10 @@ void PassiveLProcessor::askSensors( UniversalIO::UIOCommand cmd )
// -------------------------------------------------------------------------
void PassiveLProcessor::sensorInfo( const UniSetTypes::SensorMessage*sm )
{
for( EXTList::iterator it=extInputs.begin(); it!=extInputs.end(); ++it )
for( auto& it: extInputs )
{
if( it->sid == sm->id )
it->state = (bool)sm->value;
if( it.sid == sm->id )
it.state = sm->value ? true : false;
}
}
// -------------------------------------------------------------------------
......@@ -108,7 +108,7 @@ void PassiveLProcessor::sysCommand( const UniSetTypes::SystemMessage *sm )
switch( sm->command )
{
case SystemMessage::StartUp:
{
{
if( !shm->waitSMready(smReadyTimeout) )
{
dcrit << myname << "(ERR): SM not ready. Terminated... " << endl;
......@@ -189,11 +189,11 @@ void PassiveLProcessor::initIterators()
void PassiveLProcessor::setOuts()
{
// выcтавляем выходы
for( OUTList::iterator it=extOuts.begin(); it!=extOuts.end(); ++it )
for( auto &it: extOuts )
{
try
{
shm->setValue( it->sid,it->lnk->from->getOut() );
shm->setValue( it.sid,it.lnk->from->getOut() );
}
catch( Exception& ex )
{
......@@ -208,11 +208,11 @@ void PassiveLProcessor::setOuts()
// -------------------------------------------------------------------------
void PassiveLProcessor::sigterm( int signo )
{
for( OUTList::iterator it=extOuts.begin(); it!=extOuts.end(); ++it )
for( auto &it: extOuts )
{
try
{
shm->setValue(it->sid,0);
shm->setValue(it.sid,0);
}
catch( Exception& ex )
{
......
......@@ -13,12 +13,12 @@ Schema::Schema()
Schema::~Schema()
{
for( ElementMap::iterator it=emap.begin(); it!=emap.end(); ++it )
for( auto &it: emap )
{
if( it->second != 0 )
if( it.second != 0 )
{
delete it->second;
it->second = 0;
delete it.second;
it.second = 0;
}
}
}
......@@ -28,7 +28,7 @@ void Schema::link( Element::ElementID rootID, Element::ElementID childID, int nu
Element* e1 = 0;
Element* e2 = 0;
ElementMap::iterator it = emap.find(rootID);
auto it = emap.find(rootID);
if( it == emap.end() )
{
ostringstream msg;
......@@ -57,7 +57,7 @@ void Schema::unlink( Element::ElementID rootID, Element::ElementID childID )
Element* e1(0);
Element* e2(0);
ElementMap::iterator it = emap.find(rootID);
auto it = emap.find(rootID);
if( it == emap.end() )
{
ostringstream msg;
......@@ -78,7 +78,7 @@ void Schema::unlink( Element::ElementID rootID, Element::ElementID childID )
e1->delChildOut(e2);
// удаляем из списка соединений
for( InternalList::iterator lit=inLinks.begin(); lit!=inLinks.end(); ++lit )
for( auto lit=inLinks.begin(); lit!=inLinks.end(); ++lit )
{
if( lit->from == e1 && lit->to == e2 )
{
......@@ -90,7 +90,7 @@ void Schema::unlink( Element::ElementID rootID, Element::ElementID childID )
// -------------------------------------------------------------------------
void Schema::extlink( const string& name, Element::ElementID childID, int numIn )
{
ElementMap::iterator it = emap.find(childID);
auto it = emap.find(childID);
if( it == emap.end() )
{
ostringstream msg;
......@@ -120,7 +120,7 @@ Element* Schema::manage( Element* el )
// -------------------------------------------------------------------------
void Schema::remove( Element* el )
{
for( ElementMap::iterator it=emap.begin(); it!=emap.end(); ++it )
for( auto it=emap.begin(); it!=emap.end(); ++it )
{
if( it->second != el )
{
......@@ -130,34 +130,34 @@ void Schema::remove( Element* el )
}
// помечаем внутренние связи
for( InternalList::iterator lit=inLinks.begin(); lit!=inLinks.end(); ++lit )
for( auto &lit: inLinks )
{
if( lit->from == el )
lit->from = 0;
if( lit.from == el )
lit.from = 0;
if( lit->to == el )
lit->to = 0;
if( lit.to == el )
lit.to = 0;
}
// помечаем внешние связи
for( ExternalList::iterator lit=extLinks.begin(); lit!=extLinks.end(); ++lit )
for( auto &lit: extLinks )
{
if( lit->to == el )
lit->to = 0;
if( lit.to == el )
lit.to = 0;
}
}
// -------------------------------------------------------------------------
void Schema::setIn( Element::ElementID ID, int inNum, bool state )
{
ElementMap::iterator it = emap.find(ID);
auto it = emap.find(ID);
if( it != emap.end() )
it->second->setIn(inNum,state);
}
// -------------------------------------------------------------------------
bool Schema::getOut( Element::ElementID ID )
{
ElementMap::iterator it = emap.find(ID);
auto it = emap.find(ID);
if( it != emap.end() )
return it->second->getOut();
......@@ -168,7 +168,7 @@ bool Schema::getOut( Element::ElementID ID )
// -------------------------------------------------------------------------
Element* Schema::find( Element::ElementID id )
{
ElementMap::iterator it = emap.find(id);
auto it = emap.find(id);
if( it != emap.end() )
return it->second;
return 0;
......@@ -177,10 +177,10 @@ Element* Schema::find( Element::ElementID id )
Element* Schema::findExtLink( const string& name )
{
// помечаем внешние связи
for( ExternalList::iterator it=extLinks.begin(); it!=extLinks.end(); ++it )
for( auto &it: extLinks )
{
if( it->name == name )
return it->to;
if( it.name == name )
return it.to;
}
return 0;
......
......@@ -17,14 +17,14 @@ TAND::~TAND()
void TAND::setIn( int num, bool state )
{
// cout << this << ": input " << num << " set " << state << endl;
for( InputList::iterator it=ins.begin(); it!=ins.end(); ++it )
for( auto &it: ins )
{
if( it->num == num )
if( it.num == num )
{
if( it->state == state )
if( it.state == state )
return; // вход не менялся можно вообще прервать проверку
it->state = state;
it.state = state;
break;
}
}
......@@ -34,9 +34,9 @@ void TAND::setIn( int num, bool state )
// проверяем изменился ли выход
// для тригера 'AND' проверка до первого 0
for( InputList::iterator it=ins.begin(); it!=ins.end(); ++it )
for( auto &it: ins )
{
if( !it->state )
if( !it.state )
{
myout = false;
brk = true;
......
......@@ -30,14 +30,14 @@ void TOR::setIn( int num, bool state )
{
// cout << getType() << "(" << myid << "): input " << num << " set " << state << endl;
for( InputList::iterator it=ins.begin(); it!=ins.end(); ++it )
for( auto &it: ins )
{
if( it->num == num )
if( it.num == num )
{
if( it->state == state )
if( it.state == state )
return; // вход не менялся можно вообще прервать проверку
it->state = state;
it.state = state;
break;
}
}
......@@ -47,9 +47,9 @@ void TOR::setIn( int num, bool state )
// проверяем изменился ли выход
// для тригера 'OR' проверка до первой единицы
for( InputList::iterator it=ins.begin(); it!=ins.end(); ++it )
for( auto &it: ins )
{
if( it->state )
if( it.state )
{
myout = true;
brk = true;
......
......@@ -161,21 +161,21 @@ void MBExchange::help_print( int argc, const char* const* argv )
// -----------------------------------------------------------------------------
MBExchange::~MBExchange()
{
for( RTUDeviceMap::iterator it1=rmap.begin(); it1!=rmap.end(); ++it1 )
for( auto it1=rmap.begin(); it1!=rmap.end(); ++it1 )
{
if( it1->second->rtu )
{
delete it1->second->rtu;
it1->second->rtu = 0;
}
RTUDevice* d(it1->second);
for( RegMap::iterator it=d->regmap.begin(); it!=d->regmap.end(); ++it )
for( auto it=d->regmap.begin(); it!=d->regmap.end(); ++it )
delete it->second;
delete it1->second;
}
delete shm;
}
// -----------------------------------------------------------------------------
......@@ -292,14 +292,14 @@ void MBExchange::initIterators()
{
shm->initIterator(itHeartBeat);
shm->initIterator(itExchangeMode);
for( MBExchange::RTUDeviceMap::iterator it1=rmap.begin(); it1!=rmap.end(); ++it1 )
for( auto it1=rmap.begin(); it1!=rmap.end(); ++it1 )
{
RTUDevice* d(it1->second);
shm->initIterator(d->resp_it);
shm->initIterator(d->mode_it);
for( MBExchange::RegMap::iterator it=d->regmap.begin(); it!=d->regmap.end(); ++it )
for( auto it=d->regmap.begin(); it!=d->regmap.end(); ++it )
{
for( PList::iterator it2=it->second->slst.begin();it2!=it->second->slst.end(); ++it2 )
for( auto it2=it->second->slst.begin();it2!=it->second->slst.end(); ++it2 )
{
shm->initIterator(it2->ioit);
shm->initIterator(it2->t_ait);
......@@ -307,7 +307,7 @@ void MBExchange::initIterators()
}
}
for( MBExchange::ThresholdList::iterator t=thrlist.begin(); t!=thrlist.end(); ++t )
for( auto t=thrlist.begin(); t!=thrlist.end(); ++t )
{
shm->initIterator(t->ioit);
shm->initIterator(t->t_ait);
......@@ -388,37 +388,35 @@ MBExchange::RegID MBExchange::genRegID( const ModbusRTU::ModbusData mbreg, const
void MBExchange::printMap( MBExchange::RTUDeviceMap& m )
{
cout << "devices: " << endl;
for( MBExchange::RTUDeviceMap::iterator it=m.begin(); it!=m.end(); ++it )
{
for( auto it=m.begin(); it!=m.end(); ++it )
cout << " " << *(it->second) << endl;
}
}
// -----------------------------------------------------------------------------
std::ostream& operator<<( std::ostream& os, MBExchange::RTUDeviceMap& m )
{
os << "devices: " << endl;
for( MBExchange::RTUDeviceMap::iterator it=m.begin(); it!=m.end(); ++it )
{
for( auto it=m.begin(); it!=m.end(); ++it )
os << " " << *(it->second) << endl;
}
return os;
}
// -----------------------------------------------------------------------------
std::ostream& operator<<( std::ostream& os, MBExchange::RTUDevice& d )
{
os << "addr=" << ModbusRTU::addr2str(d.mbaddr)
os << "addr=" << ModbusRTU::addr2str(d.mbaddr)
<< " type=" << d.dtype
<< " respond_id=" << d.resp_id
<< " respond_timeout=" << d.resp_ptTimeout.getInterval()
<< " respond_state=" << d.resp_state
<< " respond_invert=" << d.resp_invert
<< endl;
os << " regs: " << endl;
for( MBExchange::RegMap::iterator it=d.regmap.begin(); it!=d.regmap.end(); ++it )
for( auto it=d.regmap.begin(); it!=d.regmap.end(); ++it )
os << " " << *(it->second) << endl;
return os;
}
// -----------------------------------------------------------------------------
......@@ -438,7 +436,7 @@ std::ostream& operator<<( std::ostream& os, MBExchange::RegInfo& r )
<< " mtrType=" << MTR::type2str(r.mtrType)
<< endl;
for( MBExchange::PList::iterator it=r.slst.begin(); it!=r.slst.end(); ++it )
for( auto it=r.slst.begin(); it!=r.slst.end(); ++it )
os << " " << (*it) << endl;
return os;
......@@ -451,16 +449,16 @@ void MBExchange::rtuQueryOptimization( RTUDeviceMap& m )
dinfo << myname << "(rtuQueryOptimization): optimization..." << endl;
for( MBExchange::RTUDeviceMap::iterator it1=m.begin(); it1!=m.end(); ++it1 )
for( auto it1=m.begin(); it1!=m.end(); ++it1 )
{
RTUDevice* d(it1->second);
// Вообще в map они уже лежат в нужном порядке, т.е. функция genRegID() гарантирует
// что регистры идущие подряд с одниковой функцией чтения/записи получат подряд идущие ID.
// так что оптимтизация это просто нахождение мест где id идут не подряд...
for( MBExchange::RegMap::iterator it=d->regmap.begin(); it!=d->regmap.end(); ++it )
for( auto it=d->regmap.begin(); it!=d->regmap.end(); ++it )
{
MBExchange::RegMap::iterator beg = it;
auto beg = it;
RegID id = it->second->id; // или собственно it->first
beg->second->q_num = 1;
beg->second->q_count = 1;
......@@ -501,10 +499,10 @@ void MBExchange::rtuQueryOptimization( RTUDeviceMap& m )
<< " <--> func=" << ModbusRTU::fnForceMultipleCoils
<< " for mbaddr=" << ModbusRTU::addr2str(d->mbaddr)
<< " mbreg=" << ModbusRTU::dat2str(beg->second->mbreg);
beg->second->mbfunc = ModbusRTU::fnForceMultipleCoils;
}
if( it==d->regmap.end() )
break;
}
......@@ -512,10 +510,10 @@ void MBExchange::rtuQueryOptimization( RTUDeviceMap& m )
}
// -----------------------------------------------------------------------------
//std::ostream& operator<<( std::ostream& os, MBExchange::PList& lst )
std::ostream& MBExchange::print_plist( std::ostream& os, MBExchange::PList& lst )
std::ostream& MBExchange::print_plist( std::ostream& os, const MBExchange::PList& lst )
{
os << "[ ";
for( MBExchange::PList::const_iterator it=lst.begin(); it!=lst.end(); ++it )
for( auto it=lst.begin(); it!=lst.end(); ++it )
os << "(" << it->si.id << ")" << conf->oind->getBaseName(conf->oind->getMapName(it->si.id)) << " ";
os << "]";
......@@ -526,7 +524,7 @@ void MBExchange::firstInitRegisters()
{
// если все вернут TRUE, значит OK.
allInitOK = true;
for( InitList::iterator it=initRegList.begin(); it!=initRegList.end(); ++it )
for( auto it=initRegList.begin(); it!=initRegList.end(); ++it )
{
try
{
......@@ -824,7 +822,7 @@ bool MBExchange::pollRTU( RTUDevice* dev, RegMap::iterator& it )
it--;
}
break;
case ModbusRTU::fnReadInputStatus:
{
ModbusRTU::ReadInputStatusRetMessage ret = mb->read02(dev->mbaddr,p->mbreg,p->q_count);
......@@ -838,7 +836,7 @@ bool MBExchange::pollRTU( RTUDevice* dev, RegMap::iterator& it )
it--;
}
break;
case ModbusRTU::fnReadCoilStatus:
{
ModbusRTU::ReadCoilRetMessage ret = mb->read01(dev->mbaddr,p->mbreg,p->q_count);
......@@ -953,7 +951,7 @@ bool MBExchange::pollRTU( RTUDevice* dev, RegMap::iterator& it )
// -----------------------------------------------------------------------------
void MBExchange::updateSM()
{
for( MBExchange::RTUDeviceMap::iterator it1=rmap.begin(); it1!=rmap.end(); ++it1 )
for( auto it1=rmap.begin(); it1!=rmap.end(); ++it1 )
{
RTUDevice* d(it1->second);
......@@ -996,7 +994,7 @@ void MBExchange::updateSM()
// см. updateRespondSensors()
// update values...
for( MBExchange::RegMap::iterator it=d->regmap.begin(); it!=d->regmap.end(); ++it )
for( auto it=d->regmap.begin(); it!=d->regmap.end(); ++it )
{
try
{
......@@ -1043,7 +1041,7 @@ void MBExchange::updateSM()
void MBExchange::updateRTU( RegMap::iterator& rit )
{
RegInfo* r(rit->second);
for( PList::iterator it=r->slst.begin(); it!=r->slst.end(); ++it )
for( auto it=r->slst.begin(); it!=r->slst.end(); ++it )
updateRSProperty( &(*it),false );
}
......@@ -1054,7 +1052,7 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
RegInfo* r(p->reg->rit->second);
bool save = isWriteFunction( r->mbfunc );
if( !save && write_only )
return;
......@@ -1225,12 +1223,12 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
VTypes::Byte b(r->mbval);
IOBase::processingAsAI( p, b.raw.b[p->nbyte-1], shm, force );
}
return;
}
else if( p->vType == VTypes::vtF2 )
{
RegMap::iterator i(p->reg->rit);
auto i = p->reg->rit;
if( save )
{
if( r->mb_initOK )
......@@ -1248,16 +1246,16 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
ModbusRTU::ModbusData* data = new ModbusRTU::ModbusData[VTypes::F2::wsize()];
for( unsigned int k=0; k<VTypes::F2::wsize(); k++, i++ )
data[k] = i->second->mbval;
VTypes::F2 f(data,VTypes::F2::wsize());
delete[] data;
IOBase::processingFasAI( p, (float)f, shm, force );
}
}
else if( p->vType == VTypes::vtF4 )
{
RegMap::iterator i(p->reg->rit);
auto i = p->reg->rit;
if( save )
{
if( r->mb_initOK )
......@@ -1273,16 +1271,16 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
ModbusRTU::ModbusData* data = new ModbusRTU::ModbusData[VTypes::F4::wsize()];
for( unsigned int k=0; k<VTypes::F4::wsize(); k++, i++ )
data[k] = i->second->mbval;
VTypes::F4 f(data,VTypes::F4::wsize());
delete[] data;
IOBase::processingFasAI( p, (float)f, shm, force );
}
}
else if( p->vType == VTypes::vtI2 )
{
RegMap::iterator i(p->reg->rit);
auto i = p->reg->rit;
if( save )
{
if( r->mb_initOK )
......@@ -1300,16 +1298,16 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
ModbusRTU::ModbusData* data = new ModbusRTU::ModbusData[VTypes::I2::wsize()];
for( unsigned int k=0; k<VTypes::I2::wsize(); k++, i++ )
data[k] = i->second->mbval;
VTypes::I2 i2(data,VTypes::I2::wsize());
delete[] data;
IOBase::processingAsAI( p, (int)i2, shm, force );
}
}
else if( p->vType == VTypes::vtU2 )
{
RegMap::iterator i(p->reg->rit);
auto i = p->reg->rit;
if( save )
{
if( r->mb_initOK )
......@@ -1381,7 +1379,7 @@ void MBExchange::updateMTR( RegMap::iterator& rit )
return;
{
for( PList::iterator it=r->slst.begin(); it!=r->slst.end(); ++it )
for( auto it=r->slst.begin(); it!=r->slst.end(); ++it )
{
try
{
......@@ -1411,10 +1409,10 @@ void MBExchange::updateMTR( RegMap::iterator& rit )
}
continue;
}
if( r->mtrType == MTR::mtT3 )
{
RegMap::iterator i(rit);
auto i = rit;
if( save )
{
MTR::T3 t(IOBase::processingAsAO( &(*it), shm, force_out ));
......@@ -1439,7 +1437,7 @@ void MBExchange::updateMTR( RegMap::iterator& rit )
if( save )
{
dwarn << myname << "(updateMTR): write (T4) reg(" << dat2str(r->mbreg) << ") to MTR NOT YET!!!" << endl;
}
}
else
{
MTR::T4 t(r->mbval);
......@@ -1450,7 +1448,7 @@ void MBExchange::updateMTR( RegMap::iterator& rit )
if( r->mtrType == MTR::mtT5 )
{
RegMap::iterator i(rit);
auto i = rit;
if( save )
{
MTR::T5 t(IOBase::processingAsAO( &(*it), shm, force_out ));
......@@ -1462,18 +1460,18 @@ void MBExchange::updateMTR( RegMap::iterator& rit )
ModbusRTU::ModbusData* data = new ModbusRTU::ModbusData[MTR::T5::wsize()];
for( unsigned int k=0; k<MTR::T5::wsize(); k++, i++ )
data[k] = i->second->mbval;
MTR::T5 t(data,MTR::T5::wsize());
delete[] data;
IOBase::processingFasAI( &(*it), (float)t.val, shm, force );
}
continue;
}
if( r->mtrType == MTR::mtT6 )
{
RegMap::iterator i(rit);
auto i = rit;
if( save )
{
MTR::T6 t(IOBase::processingAsAO( &(*it), shm, force_out ));
......@@ -1485,18 +1483,18 @@ void MBExchange::updateMTR( RegMap::iterator& rit )
ModbusRTU::ModbusData* data = new ModbusRTU::ModbusData[MTR::T6::wsize()];
for( unsigned int k=0; k<MTR::T6::wsize(); k++, i++ )
data[k] = i->second->mbval;
MTR::T6 t(data,MTR::T6::wsize());
delete[] data;
IOBase::processingFasAI( &(*it), (float)t.val, shm, force );
}
continue;
}
if( r->mtrType == MTR::mtT7 )
{
RegMap::iterator i(rit);
auto i = rit;
if( save )
{
MTR::T7 t(IOBase::processingAsAO( &(*it), shm, force_out ));
......@@ -1508,7 +1506,7 @@ void MBExchange::updateMTR( RegMap::iterator& rit )
ModbusRTU::ModbusData* data = new ModbusRTU::ModbusData[MTR::T7::wsize()];
for( unsigned int k=0; k<MTR::T7::wsize(); k++, i++ )
data[k] = i->second->mbval;
MTR::T7 t(data,MTR::T7::wsize());
delete[] data;
......@@ -1545,11 +1543,11 @@ void MBExchange::updateMTR( RegMap::iterator& rit )
IOBase::processingFasAI( &(*it), t.fval, shm, force );
}
continue;
}
}
if( r->mtrType == MTR::mtF1 )
{
RegMap::iterator i(rit);
auto i = rit;
if( save )
{
float f = IOBase::processingFasAO( &(*it), shm, force_out );
......@@ -1646,7 +1644,7 @@ void MBExchange::updateRTU188( RegMap::iterator& rit )
return;
}
for( PList::iterator it=r->slst.begin(); it!=r->slst.end(); ++it )
for( auto it=r->slst.begin(); it!=r->slst.end(); ++it )
{
try
{
......@@ -1692,7 +1690,7 @@ void MBExchange::updateRTU188( RegMap::iterator& rit )
MBExchange::RTUDevice* MBExchange::addDev( RTUDeviceMap& mp, ModbusRTU::ModbusAddr a, UniXML_iterator& xmlit )
{
RTUDeviceMap::iterator it = mp.find(a);
auto it = mp.find(a);
if( it != mp.end() )
{
DeviceType dtype = getDeviceType(xmlit.getProp(prop_prefix + "mbtype"));
......@@ -1727,7 +1725,7 @@ MBExchange::RegInfo* MBExchange::addReg( RegMap& mp, RegID id, ModbusRTU::Modbus
UniXML_iterator& xmlit, MBExchange::RTUDevice* dev,
MBExchange::RegInfo* rcopy )
{
RegMap::iterator it = mp.find(id);
auto it = mp.find(id);
if( it != mp.end() )
{
if( !it->second->dev )
......@@ -1781,14 +1779,14 @@ MBExchange::RegInfo* MBExchange::addReg( RegMap& mp, RegID id, ModbusRTU::Modbus
// ------------------------------------------------------------------------------------------
MBExchange::RSProperty* MBExchange::addProp( PList& plist, RSProperty& p )
{
for( PList::iterator it=plist.begin(); it!=plist.end(); ++it )
for( auto &it: plist )
{
if( it->si.id == p.si.id && it->si.node == p.si.node )
return &(*it);
if( it.si.id == p.si.id && it.si.node == p.si.node )
return &it;
}
plist.push_back(p);
PList::iterator it = plist.end();
auto it = plist.end();
--it;
return &(*it);
}
......@@ -2089,7 +2087,7 @@ bool MBExchange::initItem( UniXML_iterator& it )
if( p.nbit >= 0 && ri->slst.size() == 1 )
{
PList::iterator it2 = ri->slst.begin();
auto it2 = ri->slst.begin();
if( it2->nbit < 0 )
{
dcrit << myname << "(initItem): FAILED! Sharing SAVE (mbreg="
......@@ -2333,7 +2331,7 @@ void MBExchange::initDeviceList()
// -----------------------------------------------------------------------------
bool MBExchange::initDeviceInfo( RTUDeviceMap& m, ModbusRTU::ModbusAddr a, UniXML_iterator& it )
{
RTUDeviceMap::iterator d = m.find(a);
auto d = m.find(a);
if( d == m.end() )
{
dwarn << myname << "(initDeviceInfo): not found device for addr=" << ModbusRTU::addr2str(a) << endl;
......@@ -2530,7 +2528,7 @@ void MBExchange::askSensors( UniversalIO::UIOCommand cmd )
dwarn << myname << "(askSensors): 'sidExchangeMode' catch..." << std::endl;
}
for( MBExchange::RTUDeviceMap::iterator it1=rmap.begin(); it1!=rmap.end(); ++it1 )
for( auto it1=rmap.begin(); it1!=rmap.end(); ++it1 )
{
RTUDevice* d(it1->second);
......@@ -2551,12 +2549,12 @@ void MBExchange::askSensors( UniversalIO::UIOCommand cmd )
if( force_out )
return;
for( MBExchange::RegMap::iterator it=d->regmap.begin(); it!=d->regmap.end(); ++it )
for( auto it=d->regmap.begin(); it!=d->regmap.end(); ++it )
{
if( !isWriteFunction(it->second->mbfunc) )
continue;
for( PList::iterator i=it->second->slst.begin(); i!=it->second->slst.end(); ++i )
for( auto i=it->second->slst.begin(); i!=it->second->slst.end(); ++i )
{
try
{
......@@ -2584,7 +2582,7 @@ void MBExchange::sensorInfo( const UniSetTypes::SensorMessage* sm )
//return; // этот датчик может встречаться и в списке обмена.. поэтому делать return нельзя.
}
for( MBExchange::RTUDeviceMap::iterator it1=rmap.begin(); it1!=rmap.end(); ++it1 )
for( auto it1=rmap.begin(); it1!=rmap.end(); ++it1 )
{
RTUDevice* d(it1->second);
......@@ -2594,25 +2592,25 @@ void MBExchange::sensorInfo( const UniSetTypes::SensorMessage* sm )
if( force_out )
continue;
for( MBExchange::RegMap::iterator it=d->regmap.begin(); it!=d->regmap.end(); ++it )
for( auto &it: d->regmap )
{
if( !isWriteFunction(it->second->mbfunc) )
if( !isWriteFunction(it.second->mbfunc) )
continue;
for( PList::iterator i=it->second->slst.begin(); i!=it->second->slst.end(); ++i )
for( auto &i: it.second->slst )
{
if( sm->id == i->si.id && sm->node == i->si.node )
if( sm->id == i.si.id && sm->node == i.si.node )
{
dinfo << myname<< "(sensorInfo): si.id=" << sm->id
<< " reg=" << ModbusRTU::dat2str(i->reg->mbreg)
<< " reg=" << ModbusRTU::dat2str(i.reg->mbreg)
<< " val=" << sm->value
<< " mb_initOK=" << i->reg->mb_initOK << endl;
<< " mb_initOK=" << i.reg->mb_initOK << endl;
if( !i->reg->mb_initOK )
if( !i.reg->mb_initOK )
continue;
i->value = sm->value;
updateRSProperty( &(*i),true );
i.value = sm->value;
updateRSProperty( &i,true );
return;
}
}
......@@ -2641,7 +2639,7 @@ void MBExchange::poll()
mb = initMB(false);
if( !mb )
{
for( MBExchange::RTUDeviceMap::iterator it=rmap.begin(); it!=rmap.end(); ++it )
for( auto it=rmap.begin(); it!=rmap.end(); ++it )
it->second->resp_real = false;
}
}
......@@ -2668,7 +2666,7 @@ void MBExchange::poll()
bool allNotRespond = true;
for( MBExchange::RTUDeviceMap::iterator it1=rmap.begin(); it1!=rmap.end(); ++it1 )
for( auto it1=rmap.begin(); it1!=rmap.end(); ++it1 )
{
RTUDevice* d(it1->second);
......@@ -2679,7 +2677,7 @@ void MBExchange::poll()
<< " regs=" << d->regmap.size() << endl;
d->resp_real = false;
for( MBExchange::RegMap::iterator it=d->regmap.begin(); it!=d->regmap.end(); ++it )
for( auto it=d->regmap.begin(); it!=d->regmap.end(); ++it )
{
if( !checkProcActive() )
return;
......@@ -2743,7 +2741,7 @@ void MBExchange::poll()
updateSM();
// check thresholds
for( MBExchange::ThresholdList::iterator t=thrlist.begin(); t!=thrlist.end(); ++t )
for( auto t=thrlist.begin(); t!=thrlist.end(); ++t )
{
if( !checkProcActive() )
return;
......@@ -2805,10 +2803,10 @@ void MBExchange::updateRespondSensors()
chanTimeout = pollActivated && ptTimeout.checkTime();
}
for( MBExchange::RTUDeviceMap::iterator it1=rmap.begin(); it1!=rmap.end(); ++it1 )
for( auto it1=rmap.begin(); it1!=rmap.end(); ++it1 )
{
RTUDevice* d(it1->second);
if( chanTimeout )
it1->second->resp_real = false;
......
......@@ -83,7 +83,7 @@ class MBExchange:
friend std::ostream& operator<<( std::ostream& os, const RSProperty& p );
typedef std::list<RSProperty> PList;
static std::ostream& print_plist( std::ostream& os, PList& p );
static std::ostream& print_plist( std::ostream& os, const PList& p );
typedef unsigned long RegID;
......
......@@ -155,10 +155,10 @@ MBTCPMultiMaster::~MBTCPMultiMaster()
{
delete pollThread;
delete checkThread;
for( MBGateList::iterator it=mblist.begin(); it!=mblist.end(); ++it )
for( auto &it: mblist )
{
delete it->mbtcp;
it->mbtcp = 0;
delete it.mbtcp;
it.mbtcp = 0;
mbi = mblist.rend();
}
}
......@@ -195,7 +195,7 @@ ModbusClient* MBTCPMultiMaster::initMB( bool reopen )
}
// проходим по списку (в обратном порядке, т.к. самый приоритетный в конце)
for( MBGateList::reverse_iterator it=mblist.rbegin(); it!=mblist.rend(); ++it )
for( auto it=mblist.rbegin(); it!=mblist.rend(); ++it )
{
uniset_rwmutex_wrlock l(tcpMutex);
if( it->respond && it->init() )
......@@ -302,7 +302,7 @@ void MBTCPMultiMaster::check_thread()
{
while( checkProcActive() )
{
for( MBGateList::iterator it=mblist.begin(); it!=mblist.end(); ++it )
for( auto it=mblist.begin(); it!=mblist.end(); ++it )
{
try
{
......@@ -345,8 +345,8 @@ void MBTCPMultiMaster::check_thread()
void MBTCPMultiMaster::initIterators()
{
MBExchange::initIterators();
for( MBGateList::iterator it=mblist.begin(); it!=mblist.end(); ++it )
shm->initIterator(it->respond_it);
for( auto &it: mblist )
shm->initIterator(it.respond_it);
}
// -----------------------------------------------------------------------------
void MBTCPMultiMaster::help_print( int argc, const char* const* argv )
......
......@@ -177,8 +177,8 @@ void RTUExchange::poll()
mb = initMB(false);
if( !mb )
{
for( MBExchange::RTUDeviceMap::iterator it=rmap.begin(); it!=rmap.end(); ++it )
it->second->resp_real = false;
for( auto &it: rmap )
it.second->resp_real = false;
}
}
......@@ -205,9 +205,9 @@ void RTUExchange::poll()
bool allNotRespond = true;
ComPort::Speed s = mbrtu->getSpeed();
for( MBExchange::RTUDeviceMap::iterator it1=rmap.begin(); it1!=rmap.end(); ++it1 )
for( auto it1: rmap )
{
RTUDevice* d(it1->second);
RTUDevice* d(it1.second);
if( d->mode_id != DefaultObjectId && d->mode == emSkipExchange )
continue;
......@@ -251,7 +251,7 @@ void RTUExchange::poll()
<< " regs=" << d->regmap.size() << endl;
d->resp_real = false;
for( RTUExchange::RegMap::iterator it=d->regmap.begin(); it!=d->regmap.end(); ++it )
for( auto it=d->regmap.begin(); it!=d->regmap.end(); ++it )
{
try
{
......@@ -292,12 +292,12 @@ void RTUExchange::poll()
updateSM();
// check thresholds
for( MBExchange::ThresholdList::iterator t=thrlist.begin(); t!=thrlist.end(); ++t )
for( auto &t: thrlist )
{
if( !checkProcActive() )
return;
IOBase::processingThreshold(&(*t),shm,force);
IOBase::processingThreshold(&t,shm,force);
}
if( trReopen.hi(allNotRespond) )
......@@ -343,7 +343,7 @@ bool RTUExchange::initDeviceInfo( RTUDeviceMap& m, ModbusRTU::ModbusAddr a, UniX
if( !MBExchange::initDeviceInfo(m,a,it) )
return false;
RTUDeviceMap::iterator d = m.find(a);
auto d = m.find(a);
if( d == m.end() )
{
dwarn << myname << "(initDeviceInfo): not found device for addr=" << ModbusRTU::addr2str(a) << endl;
......
......@@ -454,9 +454,9 @@ void MBSlave::execute_rtu()
dcrit << myname << "(execute_rtu): (askCount) " << ex << std::endl;
}
}
for( IOMap::iterator it=iomap.begin(); it!=iomap.end(); ++it )
IOBase::processingThreshold(&it->second,shm,force);
for( auto &it: iomap )
IOBase::processingThreshold(&it.second,shm,force);
}
catch(...){}
}
......@@ -536,8 +536,8 @@ void MBSlave::execute_tcp()
}
}
for( IOMap::iterator it=iomap.begin(); it!=iomap.end(); ++it )
IOBase::processingThreshold(&it->second,shm,force);
for( auto &it: iomap )
IOBase::processingThreshold(&it.second,shm,force);
}
catch(...){}
}
......@@ -587,7 +587,7 @@ void MBSlave::sysCommand( const UniSetTypes::SystemMessage *sm )
case SystemMessage::Finish:
askSensors(UniversalIO::UIODontNotify);
break;
case SystemMessage::WatchDog:
{
// ОПТИМИЗАЦИЯ (защита от двойного перезаказа при старте)
......@@ -644,10 +644,10 @@ void MBSlave::askSensors( UniversalIO::UIOCommand cmd )
if( force )
return;
IOMap::iterator it=iomap.begin();
for( ; it!=iomap.end(); ++it )
for( auto &it: iomap )
{
IOProperty* p(&it->second);
IOProperty* p(&it.second);
try
{
shm->askSensor(p->si.id,cmd);
......@@ -662,8 +662,7 @@ void MBSlave::askSensors( UniversalIO::UIOCommand cmd )
// ------------------------------------------------------------------------------------------
void MBSlave::sensorInfo( const UniSetTypes::SensorMessage* sm )
{
IOMap::iterator it=iomap.begin();
for( ; it!=iomap.end(); ++it )
for( auto it=iomap.begin(); it!=iomap.end(); ++it )
{
if( it->second.si.id == sm->id )
{
......@@ -832,7 +831,7 @@ bool MBSlave::initItem( UniXML_iterator& it )
}
p.vtype = v;
p.wnum = 0;
for( unsigned int i=0; i<VTypes::wsize(p.vtype); i++ )
for( auto i=0; i<VTypes::wsize(p.vtype); i++ )
{
p.mbreg += i;
p.wnum+= i;
......@@ -846,7 +845,7 @@ bool MBSlave::initItem( UniXML_iterator& it )
// ------------------------------------------------------------------------------------------
void MBSlave::initIterators()
{
IOMap::iterator it=iomap.begin();
auto it=iomap.begin();
for( ; it!=iomap.end(); ++it )
shm->initIterator(it->second.ioit);
......@@ -989,7 +988,7 @@ ModbusRTU::mbErrCode MBSlave::much_real_write( ModbusRTU::ModbusData reg, Modbus
int i=0;
IOMap::iterator it = iomap.end();
auto it = iomap.end();
for( ; i<count; i++ )
{
it = iomap.find(reg+i);
......@@ -1022,7 +1021,7 @@ ModbusRTU::mbErrCode MBSlave::real_write( ModbusRTU::ModbusData reg, ModbusRTU::
<< " data=" << ModbusRTU::dat2str(mbval)
<< "(" << (int)mbval << ")" << endl;
IOMap::iterator it = iomap.find(reg);
auto it = iomap.find(reg);
return real_write_it(it,mbval);
}
// -------------------------------------------------------------------------
......@@ -1149,7 +1148,7 @@ ModbusRTU::mbErrCode MBSlave::much_real_read( ModbusRTU::ModbusData reg, ModbusR
dinfo << myname << "(much_real_read): read mbID="
<< ModbusRTU::dat2str(reg) << " count=" << count << endl;
IOMap::iterator it = iomap.end();
auto it = iomap.end();
int i=0;
for( ; i<count; i++ )
{
......@@ -1195,7 +1194,7 @@ ModbusRTU::mbErrCode MBSlave::real_read( ModbusRTU::ModbusData reg, ModbusRTU::M
dinfo << myname << "(real_read): read mbID="
<< ModbusRTU::dat2str(reg) << endl;
IOMap::iterator it = iomap.find(reg);
auto it = iomap.find(reg);
return real_read_it(it,val);
}
// -------------------------------------------------------------------------
......@@ -1353,13 +1352,13 @@ ModbusRTU::mbErrCode MBSlave::fileTransfer( ModbusRTU::FileTransferMessage& quer
{
dinfo << myname << "(fileTransfer): " << query << endl;
FileList::iterator it = flist.find(query.numfile);
auto it = flist.find(query.numfile);
if( it == flist.end() )
return ModbusRTU::erBadDataValue;
std::string fname(it->second);
return ModbusServer::replyFileTransfer( fname,query,reply,&dlog );
}
}
// -------------------------------------------------------------------------
ModbusRTU::mbErrCode MBSlave::readCoilStatus( ReadCoilMessage& query,
ReadCoilRetMessage& reply )
......@@ -1384,7 +1383,7 @@ ModbusRTU::mbErrCode MBSlave::readInputStatus( ReadInputStatusMessage& query,
reply.setBit(0,0,d);
else
reply.setBit(0,0,0);
pingOK = true;
return ret;
}
......@@ -1396,7 +1395,7 @@ ModbusRTU::mbErrCode MBSlave::readInputStatus( ReadInputStatusMessage& query,
while( i<query.count )
{
reply.addData(0);
for( unsigned int nbit=0; nbit<BitsPerByte && i<query.count; nbit++,i++ )
for( auto nbit=0; nbit<BitsPerByte && i<query.count; nbit++,i++ )
reply.setBit(bnum,nbit,buf[i]);
bnum++;
}
......@@ -1440,18 +1439,18 @@ ModbusRTU::mbErrCode MBSlave::forceMultipleCoils( ModbusRTU::ForceCoilsMessage&
for( unsigned int i = 0; i<query.bcnt; i++ )
{
ModbusRTU::DataBits b(query.data[i]);
for( unsigned int k=0; k<ModbusRTU::BitsPerByte && nbit<query.quant; k++, nbit++ )
for( auto k=0; k<ModbusRTU::BitsPerByte && nbit<query.quant; k++, nbit++ )
{
// ModbusRTU::mbErrCode ret =
real_write(query.start+nbit, (b[k] ? 1 : 0) );
//if( ret == ModbusRTU::erNoError )
}
}
//if( ret == ModbusRTU::erNoError )
if( nbit == query.quant )
reply.set(query.start,query.quant);
return ret;
}
// -------------------------------------------------------------------------
......@@ -1518,18 +1517,18 @@ ModbusRTU::mbErrCode MBSlave::read4314( ModbusRTU::MEIMessageRDI& query,
// if( query.devID <= rdevMinNum || query.devID >= rdevMaxNum )
// return erOperationFailed;
MEIDevIDMap::iterator dit = meidev.find(query.devID);
auto dit = meidev.find(query.devID);
if( dit == meidev.end() )
return ModbusRTU::erBadDataAddress;
MEIObjIDMap::iterator oit = dit->second.find(query.objID);
auto oit = dit->second.find(query.objID);
if( oit == dit->second.end() )
return ModbusRTU::erBadDataAddress;
reply.mf = 0xFF;
reply.conformity = query.devID;
for( MEIValMap::iterator i=oit->second.begin(); i!=oit->second.end(); ++i )
reply.addData( i->first, i->second );
for( const auto &i: oit->second )
reply.addData( i.first, i.second );
return erNoError;
}
......
......@@ -166,11 +166,11 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID )
char** argv = new char*[ argc ];
int k=0;
for( std::list<std::string>::iterator i=dslist.begin(); i!=dslist.end(); ++i,k++ )
argv[k] = strdup(i->c_str());
for( auto &i: dslist )
argv[k++] = strdup(i.c_str());
for( std::list<std::string>::iterator i=rralist.begin(); i!=rralist.end(); ++i,k++ )
argv[k] = strdup(i->c_str());
for( auto &i: rralist )
argv[k++] = strdup(i.c_str());
// for( k=0; k<argc; k++ )
// cout << "*** argv[" << k << "]='" << argv[k] << "'" << endl;
......@@ -257,14 +257,14 @@ void RRDServer::askSensors( UniversalIO::UIOCommand cmd )
{
UObject_SK::askSensors(cmd);
for( RRDList::iterator it=rrdlist.begin(); it!=rrdlist.end(); ++it )
for( auto &it: rrdlist )
{
for( DSMap::iterator s=it->dsmap.begin(); s!=it->dsmap.end(); ++s )
for( auto &s: it.dsmap )
{
try
{
shm->askSensor(s->first,cmd);
}
shm->askSensor(s.first,cmd);
}
catch( std::exception& ex )
{
mycrit << myname << "(askSensors): " << ex.what() << endl;
......@@ -278,12 +278,12 @@ void RRDServer::sysCommand( const UniSetTypes::SystemMessage* sm )
UObject_SK::sysCommand(sm);
if( sm->command == SystemMessage::StartUp || sm->command == SystemMessage::WatchDog )
{
for( RRDList::iterator it=rrdlist.begin(); it!=rrdlist.end(); ++it )
for( auto &it: rrdlist )
{
try
{
askTimer(it->tid,it->sec*1000);
}
askTimer(it.tid,it.sec*1000);
}
catch( std::exception& ex )
{
mycrit << myname << "(askTimer): " << ex.what() << endl;
......@@ -294,10 +294,10 @@ void RRDServer::sysCommand( const UniSetTypes::SystemMessage* sm )
// -----------------------------------------------------------------------------
void RRDServer::sensorInfo( const UniSetTypes::SensorMessage* sm )
{
for( RRDList::iterator it=rrdlist.begin(); it!=rrdlist.end(); ++it )
for( auto &it: rrdlist )
{
DSMap::iterator s = it->dsmap.find(sm->id);
if( s!=it->dsmap.end() )
auto s = it.dsmap.find(sm->id);
if( s!=it.dsmap.end() )
s->second.value = sm->value;
// продолжаем искать по другим rrd, т.к. датчик может входить в несколько..
......@@ -306,25 +306,25 @@ void RRDServer::sensorInfo( const UniSetTypes::SensorMessage* sm )
// -----------------------------------------------------------------------------
void RRDServer::timerInfo( const UniSetTypes::TimerMessage* tm )
{
for( RRDList::iterator it=rrdlist.begin(); it!=rrdlist.end(); ++it )
for( auto &it: rrdlist )
{
if( it->tid == tm->id )
if( it.tid == tm->id )
{
ostringstream v;
v << time(0);
for( DSMap::iterator s=it->dsmap.begin(); s!=it->dsmap.end(); ++s )
v << ":" << s->second.value;
for( auto &s: it.dsmap )
v << ":" << s.second.value;
myinfo << myname << "(update): '" << it->filename << "' " << v.str() << endl;
myinfo << myname << "(update): '" << it.filename << "' " << v.str() << endl;
rrd_clear_error();
const char* argv = v.str().c_str();
if( rrd_update_r(it->filename.c_str(),NULL,1,&argv) < 0 )
if( rrd_update_r(it.filename.c_str(),NULL,1,&argv) < 0 )
{
ostringstream err;
err << myname << "(update): Can`t update RRD ('" << it->filename << "'): err: " << string(rrd_get_error());
err << myname << "(update): Can`t update RRD ('" << it.filename << "'): err: " << string(rrd_get_error());
mycrit << err.str() << endl;
}
......
......@@ -56,7 +56,7 @@ SharedMemory::SharedMemory( ObjectId id, const std::string& datafile, const std:
// ----------------------
buildHistoryList(cnode);
signal_change_value().connect(sigc::mem_fun(*this, &SharedMemory::updateHistory));
for( History::iterator i=hist.begin(); i!=hist.end(); ++i )
for( auto i=hist.begin(); i!=hist.end(); ++i )
histmap[i->fuse_id].push_back(i);
// ----------------------
restorer = NULL;
......@@ -239,17 +239,17 @@ bool SharedMemory::activateObject()
res = IONotifyController_LT::activateObject();
// инициализируем указатели
for( HeartBeatList::iterator it=hlist.begin(); it!=hlist.end(); ++it )
for( auto &it: hlist )
{
it->ioit = myioEnd();
it.ioit = myioEnd();
}
itPulsar = myioEnd();
for( History::iterator it=hist.begin(); it!=hist.end(); ++it )
for( auto &it: hist )
{
for( HistoryList::iterator hit=it->hlst.begin(); hit!=it->hlst.end(); ++hit )
hit->ioit = myioEnd();
for( auto& hit: it.hlst )
hit.ioit = myioEnd();
}
activated = 1;
......@@ -260,7 +260,7 @@ bool SharedMemory::activateObject()
}
// ------------------------------------------------------------------------------------------
CORBA::Boolean SharedMemory::exist()
{
{
// return activated;
return workready;
}
......@@ -283,36 +283,36 @@ void SharedMemory::checkHeartBeat()
bool wdtpingOK = true;
for( HeartBeatList::iterator it=hlist.begin(); it!=hlist.end(); ++it )
for( auto &it: hlist )
{
try
{
long val = localGetValue(it->ioit,it->a_sid);
long val = localGetValue(it.ioit,it.a_sid);
val --;
if( val < -1 )
val = -1;
localSetValue(it->ioit,it->a_sid,val,getId());
localSetValue(it.ioit,it.a_sid,val,getId());
localSetValue(it->ioit,it->d_sid,( val >= 0 ? true:false),getId());
localSetValue(it.ioit,it.d_sid,( val >= 0 ? true:false),getId());
// проверяем нужна ли "перезагрузка" по данному датчику
if( wdt && it->ptReboot.getInterval() )
if( wdt && it.ptReboot.getInterval() )
{
if( val > 0 )
it->timer_running = false;
it.timer_running = false;
else
{
if( !it->timer_running )
if( !it.timer_running )
{
it->timer_running = true;
it->ptReboot.setTiming(it->reboot_msec);
it.timer_running = true;
it.ptReboot.setTiming(it.reboot_msec);
}
else if( it->ptReboot.checkTime() )
else if( it.ptReboot.checkTime() )
wdtpingOK = false;
}
}
}
catch(Exception& ex)
catch( Exception& ex )
{
dcrit << myname << "(checkHeartBeat): " << ex << endl;
}
......@@ -328,11 +328,11 @@ void SharedMemory::checkHeartBeat()
// ------------------------------------------------------------------------------------------
bool SharedMemory::readItem( const UniXML& xml, UniXML_iterator& it, xmlNode* sec )
{
for( ReadSlotList::iterator r=lstRSlot.begin(); r!=lstRSlot.end(); ++r )
for( auto &r: lstRSlot )
{
try
{
(*r)(xml,it,sec);
{
(r)(xml,it,sec);
}
catch(...){}
}
......@@ -476,14 +476,14 @@ void SharedMemory::sendEvent( UniSetTypes::SystemMessage& sm )
{
TransportMessage tm(sm.transport_msg());
for( EventList::iterator it=elst.begin(); it!=elst.end(); ++it )
for( auto &it: elst )
{
bool ok = false;
for( unsigned int i=0; i<2; i++ )
{
try
{
ui.send((*it),tm);
ui.send(it,tm);
ok = true;
break;
}
......@@ -491,8 +491,8 @@ void SharedMemory::sendEvent( UniSetTypes::SystemMessage& sm )
}
if(!ok)
dcrit << myname << "(sendEvent): Объект " << (*it) << " НЕДОСТУПЕН" << endl;
}
dcrit << myname << "(sendEvent): Объект " << it << " НЕДОСТУПЕН" << endl;
}
}
// -----------------------------------------------------------------------------
void SharedMemory::addReadItem( Restorer_XML::ReaderSlot sl )
......@@ -591,9 +591,9 @@ void SharedMemory::buildHistoryList( xmlNode* cnode )
// -----------------------------------------------------------------------------
void SharedMemory::checkHistoryFilter( UniXML_iterator& xit )
{
for( History::iterator it=hist.begin(); it!=hist.end(); ++it )
for( auto &it: hist )
{
if( xit.getProp(it->filter).empty() )
if( xit.getProp(it.filter).empty() )
continue;
HistoryItem ai;
......@@ -601,8 +601,8 @@ void SharedMemory::checkHistoryFilter( UniXML_iterator& xit )
if( !xit.getProp("id").empty() )
{
ai.id = xit.getIntProp("id");
ai.init( it->size, xit.getIntProp("default") );
it->hlst.push_back(ai);
ai.init( it.size, xit.getIntProp("default") );
it.hlst.push_back(ai);
continue;
}
......@@ -613,8 +613,8 @@ void SharedMemory::checkHistoryFilter( UniXML_iterator& xit )
continue;
}
ai.init( it->size, xit.getIntProp("default") );
it->hlst.push_back(ai);
ai.init( it.size, xit.getIntProp("default") );
it.hlst.push_back(ai);
}
}
// -----------------------------------------------------------------------------
......@@ -630,18 +630,18 @@ void SharedMemory::saveHistory()
// if( dlog.is_info() )
// dlog.info() << myname << "(saveHistory): ..." << endl;
for( History::iterator it=hist.begin(); it!=hist.end(); ++it )
for( auto &it: hist )
{
for( HistoryList::iterator hit=it->hlst.begin(); hit!=it->hlst.end(); ++hit )
for( auto &hit: it.hlst )
{
if( hit->ioit != myioEnd() )
hit->add( localGetValue( hit->ioit, hit->ioit->second.si.id ), it->size );
if( hit.ioit != myioEnd() )
hit.add( localGetValue( hit.ioit, hit.ioit->second.si.id ), it.size );
else
{
try
{
hit->add( localGetValue( hit->ioit, hit->id ), it->size );
hit.add( localGetValue( hit.ioit, hit.id ), it.size );
continue;
}
catch(...){}
......@@ -655,7 +655,7 @@ void SharedMemory::updateHistory( IOStateList::iterator& s_it, IOController* )
if( hist.empty() )
return;
HistoryFuseMap::iterator i = histmap.find(s_it->second.si.id);
auto i = histmap.find(s_it->second.si.id);
if( i == histmap.end() )
return;
......@@ -674,14 +674,14 @@ void SharedMemory::updateHistory( IOStateList::iterator& s_it, IOController* )
<< " value=" << value
<< endl;
for( HistoryItList::iterator it1=i->second.begin(); it1!=i->second.end(); ++it1 )
for( auto &it1: i->second )
{
History::iterator it( (*it1) );
History::iterator it = it1;
if( s_it->second.type == UniversalIO::DI ||
s_it->second.type == UniversalIO::DO )
{
bool st = (bool)value;
bool st = (bool)value;
if( it->fuse_invert )
st^=true;
......
......@@ -337,12 +337,12 @@ sender2(0)
// -----------------------------------------------------------------------------
UNetExchange::~UNetExchange()
{
for( ReceiverList::iterator it=recvlist.begin(); it!=recvlist.end(); ++it )
for( auto &it: recvlist )
{
if( it->r1 )
delete it->r1;
if( it->r2 )
delete it->r2;
if( it.r1 )
delete it.r1;
if( it.r2 )
delete it.r2;
}
delete sender;
......@@ -353,9 +353,9 @@ UNetExchange::~UNetExchange()
bool UNetExchange::checkExistUNetHost( const std::string& addr, ost::tpport_t port )
{
ost::IPV4Address a1(addr.c_str());
for( ReceiverList::iterator it=recvlist.begin(); it!=recvlist.end(); ++it )
for( auto &it: recvlist )
{
if( it->r1->getAddress() == a1.getAddress() && it->r1->getPort() == port )
if( it.r1->getAddress() == a1.getAddress() && it.r1->getPort() == port )
return true;
}
......@@ -364,12 +364,12 @@ bool UNetExchange::checkExistUNetHost( const std::string& addr, ost::tpport_t po
// -----------------------------------------------------------------------------
void UNetExchange::startReceivers()
{
for( ReceiverList::iterator it=recvlist.begin(); it!=recvlist.end(); ++it )
for( auto &it: recvlist )
{
if( it->r1 )
it->r1->start();
if( it->r2 )
it->r2->start();
if( it.r1 )
it.r1->start();
if( it.r2 )
it.r2->start();
}
}
// -----------------------------------------------------------------------------
......@@ -418,8 +418,8 @@ void UNetExchange::step()
}
}
for( ReceiverList::iterator it=recvlist.begin(); it!=recvlist.end(); ++it )
it->step(shm, myname);
for( auto &it: recvlist )
it.step(shm, myname);
}
// -----------------------------------------------------------------------------
......@@ -590,18 +590,18 @@ void UNetExchange::sigterm( int signo )
{
dinfo << myname << ": ********* SIGTERM(" << signo <<") ********" << endl;
activated = 0;
for( ReceiverList::iterator it=recvlist.begin(); it!=recvlist.end(); ++it )
for( auto &it: recvlist )
{
try
{
if( it->r1 )
it->r1->stop();
if( it.r1 )
it.r1->stop();
}
catch(...){}
try
{
if( it->r2 )
it->r2->stop();
if( it.r2 )
it.r2->stop();
}
catch(...){}
}
......@@ -630,8 +630,8 @@ void UNetExchange::initIterators()
if( sender2 )
sender2->initIterators();
for( ReceiverList::iterator it=recvlist.begin(); it!=recvlist.end(); ++it )
it->initIterators(shm);
for( auto &it: recvlist )
it.initIterators(shm);
}
// -----------------------------------------------------------------------------
void UNetExchange::help_print( int argc, const char* argv[] )
......@@ -682,31 +682,31 @@ void UNetExchange::receiverEvent( UNetReceiver* r, UNetReceiver::Event ev )
if( ev != UNetReceiver::evTimeout )
return;
for( ReceiverList::iterator it=recvlist.begin(); it!=recvlist.end(); ++it )
for( auto &it: recvlist )
{
if( it->r1 == r )
if( it.r1 == r )
{
// если нет второго канала
// то и переключать некуда
if( !it->r2 )
if( !it.r2 )
return;
// пропала связь по первому каналу...
// переключаемся на второй
it->r1->setLockUpdate(true);
it->r2->setLockUpdate(false);
it.r1->setLockUpdate(true);
it.r2->setLockUpdate(false);
dinfo << myname << "(event): " << r->getName()
<< ": timeout for channel1.. select channel 2" << endl;
return;
}
if( it->r2 == r )
if( it.r2 == r )
{
// пропала связь по второму каналу...
// переключаемся на первый
it->r1->setLockUpdate(false);
it->r2->setLockUpdate(true);
it.r1->setLockUpdate(false);
it.r2->setLockUpdate(true);
dinfo << myname << "(event): " << r->getName()
<< ": timeout for channel2.. select channel 1" << endl;
......
......@@ -490,11 +490,11 @@ bool UNetReceiver::recv()
// -----------------------------------------------------------------------------
void UNetReceiver::initIterators()
{
for( ItemVec::iterator it=d_icache.begin(); it!=d_icache.end(); ++it )
shm->initIterator(it->ioit);
for( auto &it: d_icache )
shm->initIterator(it.ioit);
for( ItemVec::iterator it=a_icache.begin(); it!=a_icache.end(); ++it )
shm->initIterator(it->ioit);
for( auto &it: a_icache )
shm->initIterator(it.ioit);
}
// -----------------------------------------------------------------------------
void UNetReceiver::initDCache( UniSetUDP::UDPMessage& pack, bool force )
......
......@@ -84,7 +84,7 @@ UNetSender::~UNetSender()
// -----------------------------------------------------------------------------
void UNetSender::updateFromSM()
{
DMap::iterator it=dlist.begin();
auto it=dlist.begin();
for( ; it!=dlist.end(); ++it )
{
long value = shm->localGetValue(it->ioit,it->id);
......@@ -98,7 +98,7 @@ void UNetSender::updateSensor( UniSetTypes::ObjectId id, long value )
return;
// cerr << myname << ": UPDATE SENSOR id=" << id << " value=" << value << endl;
DMap::iterator it=dlist.begin();
auto it=dlist.begin();
for( ; it!=dlist.end(); ++it )
{
if( it->id == id )
......@@ -318,14 +318,14 @@ std::ostream& operator<<( std::ostream& os, UNetSender::UItem& p )
// -----------------------------------------------------------------------------
void UNetSender::initIterators()
{
DMap::iterator it=dlist.begin();
auto it=dlist.begin();
for( ; it!=dlist.end(); ++it )
shm->initIterator(it->ioit);
}
// -----------------------------------------------------------------------------
void UNetSender::askSensors( UniversalIO::UIOCommand cmd )
{
DMap::iterator it=dlist.begin();
auto it=dlist.begin();
for( ; it!=dlist.end(); ++it )
shm->askSensor(it->id,cmd);
}
......
......@@ -145,18 +145,18 @@ void UniExchange::execute()
while(1)
{
for( NetNodeList::iterator it=nlst.begin(); it!=nlst.end(); ++it )
for( auto &it: nlst )
{
bool ok = false;
try
{
dinfo << myname << ": connect to id=" << it->id << " node=" << it->node << endl;
dinfo << myname << ": connect to id=" << it.id << " node=" << it.node << endl;
IOController_i::ShortMapSeq_var sseq = ui.getSensors( it->id, it->node );
IOController_i::ShortMapSeq_var sseq = ui.getSensors( it.id, it.node );
ok = true;
dinfo << myname << " update sensors from id=" << it->id << " node=" << it->node << endl;
it->update(sseq,shm);
dinfo << myname << " update sensors from id=" << it.id << " node=" << it.node << endl;
it.update(sseq,shm);
}
catch( Exception& ex )
{
......@@ -166,23 +166,23 @@ void UniExchange::execute()
{
dwarn << myname << "(execute): catch ..." << endl;
}
if( it->sidConnection != DefaultObjectId )
if( it.sidConnection != DefaultObjectId )
{
try
{
shm->localSetValue(it->conn_it,it->sidConnection,ok,getId());
shm->localSetValue(it.conn_it,it.sidConnection,ok,getId());
}
catch(...)
{
dcrit << myname << "(execute): sensor not avalible "
<< conf->oind->getNameById( it->sidConnection)
<< conf->oind->getNameById(it.sidConnection)
<< endl;
}
}
if( !ok )
dinfo << myname << ": ****** cannot connect with node=" << it->node << endl;
dinfo << myname << ": ****** cannot connect with node=" << it.node << endl;
}
if( ptUpdate.checkTime() )
......@@ -190,7 +190,7 @@ void UniExchange::execute()
updateLocalData();
ptUpdate.reset();
}
msleep(polltime);
}
}
......@@ -249,14 +249,14 @@ IOController_i::ShortMapSeq* UniExchange::getSensors()
res->length( mymap.size() );
int i=0;
for( SList::iterator it=mymap.begin(); it!=mymap.end(); ++it )
for( auto &it: mymap )
{
IOController_i::ShortMap m;
{
uniset_rwmutex_rlock lock(it->val_lock);
m.id = it->id;
m.value = it->val;
m.type = it->type;
uniset_rwmutex_rlock lock(it.val_lock);
m.id = it.id;
m.value = it.val;
m.type = it.type;
}
(*res)[i++] = m;
}
......@@ -266,12 +266,12 @@ IOController_i::ShortMapSeq* UniExchange::getSensors()
// --------------------------------------------------------------------------
void UniExchange::updateLocalData()
{
for( SList::iterator it=mymap.begin(); it!=mymap.end(); ++it )
for( auto &it: mymap )
{
try
{
uniset_rwmutex_wrlock lock(it->val_lock);
it->val = shm->localGetValue( it->ioit, it->id );
uniset_rwmutex_wrlock lock(it.val_lock);
it.val = shm->localGetValue( it.ioit, it.id );
}
catch( Exception& ex )
{
......@@ -282,14 +282,14 @@ void UniExchange::updateLocalData()
dwarn << "(update): catch ..." << endl;
}
}
init_ok = true;
}
// --------------------------------------------------------------------------
void UniExchange::initIterators()
{
for( SList::iterator it=mymap.begin(); it!=mymap.end(); ++it )
shm->initIterator(it->ioit);
for( auto &it: mymap )
shm->initIterator(it.ioit);
}
// --------------------------------------------------------------------------
void UniExchange::askSensors( UniversalIO::UIOCommand cmd )
......
......@@ -219,8 +219,8 @@ void Calibration::build( const string& name, const string& confile, xmlNode* roo
std::sort(pvec.begin(),pvec.end());
PartsVec::iterator beg = pvec.begin();
PartsVec::iterator end = pvec.end();
auto beg = pvec.begin();
auto end = pvec.end();
if( pvec.size() > 0 )
{
......@@ -248,7 +248,7 @@ static Calibration::PartsVec::iterator find_range( long raw, Calibration::PartsV
if( end->checkX(raw) )
return end;
Calibration::PartsVec::iterator it = beg + std::distance(beg,end)/2;
auto it = beg + std::distance(beg,end)/2;
if( raw < it->left_x() )
return find_range(raw,beg,it);
......@@ -271,16 +271,16 @@ long Calibration::getValue( long raw, bool crop_raw )
if( szCache ) // > 0
{
for( ValueCache::iterator c=cache.begin(); c!=cache.end(); ++c )
for( auto &c: cache )
{
if( c->raw == raw )
if( c.raw == raw )
{
--numCallToCache;
c->cnt++;
c.cnt++;
if( numCallToCache )
return c->val;
return c.val;
long val = c->val; // после сортировки итератор станет недействительным, поэтому запоминаем..
long val = c.val; // после сортировки итератор станет недействительным, поэтому запоминаем..
sort(cache.begin(),cache.end());
numCallToCache = numCacheResort;
return val;
......@@ -288,7 +288,7 @@ long Calibration::getValue( long raw, bool crop_raw )
}
}
PartsVec::iterator fit = find_range(raw, pvec.begin(), pvec.end());
auto fit = find_range(raw, pvec.begin(), pvec.end());
if( fit == pvec.end() )
{
......@@ -333,9 +333,9 @@ void Calibration::insertToCache( const long raw, const long val )
// ----------------------------------------------------------------------------
long Calibration::getRawValue( long cal, bool range )
{
for( PartsVec::iterator it=pvec.begin(); it!=pvec.end(); ++it )
for( auto &it: pvec )
{
TypeOfValue q = it->getX(cal);
TypeOfValue q = it.getX(cal);
if( q != outOfRange )
return tRound(q);
}
......@@ -355,10 +355,10 @@ long Calibration::getRawValue( long cal, bool range )
std::ostream& operator<<( std::ostream& os, Calibration& c )
{
os << "*******************" << endl;
for( Calibration::PartsVec::iterator it=c.pvec.begin(); it!=c.pvec.end(); ++it )
for( auto &it: c.pvec )
{
os << "[" << it->leftPoint().x << " : " << it->rightPoint().x << " ] --> ["
<< it->leftPoint().y << " : " << it->rightPoint().y << " ]"
os << "[" << it.leftPoint().x << " : " << it.rightPoint().x << " ] --> ["
<< it.leftPoint().y << " : " << it.rightPoint().y << " ]"
<< endl;
}
os << "*******************" << endl;
......@@ -368,10 +368,10 @@ std::ostream& operator<<( std::ostream& os, Calibration& c )
std::ostream& operator<<( std::ostream& os, Calibration* c )
{
os << "*******************" << endl;
for( Calibration::PartsVec::iterator it=c->pvec.begin(); it!=c->pvec.end(); ++it )
for( auto &it: c->pvec )
{
os << "[" << it->leftPoint().x << " : " << it->rightPoint().x << " ] --> ["
<< it->leftPoint().y << " : " << it->rightPoint().y << " ]"
os << "[" << it.leftPoint().x << " : " << it.rightPoint().x << " ] --> ["
<< it.leftPoint().y << " : " << it.rightPoint().y << " ]"
<< endl;
}
os << "*******************" << endl;
......
......@@ -54,7 +54,7 @@ void DigitalFilter::setSettings( unsigned int bufsize, double T, double lsq,
{
// удаляем лишние (первые) элементы
int sub = buf.size() - maxsize;
for( unsigned int i=0; i<sub; i++ )
for( int i=0; i<sub; i++ )
buf.pop_front();
}
buf.resize(maxsize);
......@@ -82,17 +82,17 @@ double DigitalFilter::firstLevel()
{
// считаем среднее арифметическое
M=0;
for( FIFOBuffer::iterator i=buf.begin(); i!=buf.end(); ++i )
M = M + (*i);
for( auto &i: buf )
M = M + i;
M = M/buf.size();
// считаем среднеквадратичное отклонение
S=0;
double r=0;
for( FIFOBuffer::iterator i=buf.begin(); i!=buf.end(); ++i )
for( auto &i: buf )
{
r = M-(*i);
r = M - i;
S = S + r*r;
}
......@@ -105,12 +105,12 @@ double DigitalFilter::firstLevel()
// Находим среднее арифметическое без учета элементов, отклонение которых вдвое превышает среднеквадратичное
int n = 0;
double val = 0; // Конечное среднее значение
for( FIFOBuffer::iterator i=buf.begin(); i!=buf.end(); ++i )
for( auto &i: buf )
{
if( fabs(M-(*i)) > S*2 )
if( fabs(M-i) > S*2 )
{
val = val + (*i);
n = n + 1;
val += i;
n++;
}
}
......@@ -182,10 +182,10 @@ int DigitalFilter::currentRC()
std::ostream& operator<<(std::ostream& os, const DigitalFilter& d )
{
os << "(" << d.buf.size() << ")[";
for( DigitalFilter::FIFOBuffer::const_iterator i=d.buf.begin(); i!=d.buf.end(); ++i )
{
os << " " << setw(5) << (*i);
}
for( auto &i: d.buf )
os << " " << setw(5) << i;
os << " ]";
return os;
}
......@@ -202,14 +202,7 @@ int DigitalFilter::median( int newval )
add(newval);
// FIFOBuffer::iterator it = buf.begin();
// for( unsigned int i=0; i<maxsize && it!=buf.end(); i++,it++ )
// mvec[i] = (*it);
// copy(buf.begin(),buf.end(),mvec.begin());
mvec.assign(buf.begin(),buf.end());
sort(mvec.begin(),mvec.end());
return mvec[maxsize/2];
......@@ -227,7 +220,7 @@ int DigitalFilter::leastsqr( int newval )
add(newval);
// Цифровая фильтрация
FIFOBuffer::const_iterator it = buf.begin();
auto it = buf.begin();
for( unsigned int i=0; i<maxsize; i++,it++ )
ls += *it * w[i];
......@@ -258,11 +251,12 @@ int DigitalFilter::filterIIR( int newval )
}
else
{
double aver=0;
double aver = 0;
add(newval);
for( FIFOBuffer::iterator i = buf.begin(); i != buf.end(); ++i )
aver += *i;
for( auto &i: buf )
aver += i;
aver /= maxsize;
prev = lroundf((coeff_prev * prev + coeff_new * aver)/(coeff_prev + coeff_new));
}
......
......@@ -379,7 +379,7 @@ bool send_param( ModbusRTUMaster* mb, DataMap& dmap, ModbusRTU::ModbusAddr addr,
return false;
}
for( DataMap::iterator it=dmap.begin(); it!=dmap.end(); ++it )
for( auto it=dmap.begin(); it!=dmap.end(); ++it )
{
// ModbusRTU::WriteOutputMessage msg(addr,it->first);
// cout << "send reg=" << ModbusRTU::dat2str(it->first)
......@@ -387,7 +387,7 @@ bool send_param( ModbusRTUMaster* mb, DataMap& dmap, ModbusRTU::ModbusAddr addr,
int reg = it->first;
// bool ok = false;
for( DataList::iterator it1=it->second.begin(); it1!=it->second.end(); ++it1, reg++ )
for( auto it1=it->second.begin(); it1!=it->second.end(); ++it1, reg++ )
{
const ModbusRTU::ModbusData *last = skip + sizeof(skip)/sizeof(skip[0]);
if( std::find(skip, last, reg) != last)
......
SUBDIR=SMemoryTest
noinst_PROGRAMS = calibration
noinst_PROGRAMS = calibration digitalfilter
calibration_SOURCES = calibration.cc
calibration_LDADD = $(top_builddir)/lib/libUniSet2.la $(top_builddir)/extensions/lib/libUniSet2Extensions.la
calibration_CPPFLAGS = -I$(top_builddir)/include -I$(top_builddir)/extensions/include
calibration_SOURCES = calibration.cc
calibration_LDADD = $(top_builddir)/lib/libUniSet2.la $(top_builddir)/extensions/lib/libUniSet2Extensions.la
calibration_CPPFLAGS = -I$(top_builddir)/include -I$(top_builddir)/extensions/include
digitalfilter_SOURCES = digitalfilter.cc
digitalfilter_LDADD = $(top_builddir)/lib/libUniSet2.la $(top_builddir)/extensions/lib/libUniSet2Extensions.la
digitalfilter_CPPFLAGS = -I$(top_builddir)/include -I$(top_builddir)/extensions/include
......@@ -103,8 +103,8 @@ void TestProc::timerInfo( const TimerMessage *tm )
cerr << endl;
cerr << "======= TEST LOG PRINT ======" << endl;
cerr << "LOGLEVEL: [" << (int)(*lit) << "] " << (*lit) << endl;
for( std::vector<Debug::type>::iterator it=loglevels.begin(); it!=loglevels.end(); ++it )
mylog[*it] << myname << ": test log print..." << endl;
for( auto &it: loglevels )
mylog[it] << myname << ": test log print..." << endl;
cerr << "======= END LOG PRINT ======" << endl;
}
......
......@@ -68,11 +68,11 @@ int main( int argc, const char** argv )
}
catch( Exception& ex )
{
cerr << "(unetexchange): " << ex << std::endl;
cerr << "(main): " << ex << std::endl;
}
catch(...)
{
cerr << "(unetexchange): catch ..." << std::endl;
cerr << "(main): catch ..." << std::endl;
}
return 1;
......
#include <iostream>
#include <vector>
#include <iomanip>
#include "Exceptions.h"
#include "Extensions.h"
#include "DigitalFilter.h"
using namespace std;
using namespace UniSetTypes;
using namespace UniSetExtensions;
int main( int argc, const char** argv )
{
try
{
DigitalFilter df;
DigitalFilter df_m;
vector<long> dat={0,234,356,344,234,320,250,250,250,250,250,250,250,251,252,251,252,252,250};
for( auto v: dat )
{
df.add(v);
cout << "[" << setw(4) << v << "]: "
<< " filter1: " << setw(4) << df.current1()
<< " filterRC: " << setw(4) << df.currentRC()
<< " median: " << setw(4) << df_m.median(v)
<< endl;
}
return 0;
}
catch( Exception& ex )
{
cerr << "(main): " << ex << std::endl;
}
catch(...)
{
cerr << "(main): catch ..." << std::endl;
}
return 1;
}
......@@ -89,7 +89,7 @@ class UniSetManager:
*/
const UniSetObject* itemO( const UniSetTypes::ObjectId id );
// Функции для аботы со списками подчиненных объектов
inline UniSetManagerList::const_iterator beginMList()
{
......
......@@ -2575,14 +2575,14 @@ ModbusMessage MEIMessageRetRDI::transport_msg()
mm.data[5] = objNum;
int ind = 6;
for( RDIObjectList::iterator it = dlist.begin(); it!=dlist.end() && ind <= MAXLENPACKET; ++it )
for( auto it = dlist.begin(); it!=dlist.end() && ind <= MAXLENPACKET; ++it )
{
mm.data[ind++] = it->id;
int dlen = it->val.size(); // !! не копируем завершающий символ
mm.data[ind++] = dlen;
memcpy(&(mm.data[ind]), it->val.data(), dlen );
ind += dlen;
}
}
// пересчитываем CRC по перевёрнутым данным
ModbusData crc = checkCRC( (ModbusByte*)(&mm), szModbusHeader+ind );
......@@ -2617,8 +2617,8 @@ std::ostream& ModbusRTU::operator<<(std::ostream& os, MEIMessageRetRDI& m )
if( !m.dlist.empty() )
{
os << endl;
for( RDIObjectList::iterator it=m.dlist.begin(); it!=m.dlist.end(); ++it )
os << " " << rdi2str(it->id) << " : " << it->val << endl;
for( auto &it: m.dlist )
os << " " << rdi2str(it.id) << " : " << it.val << endl;
}
return os;
......@@ -2633,8 +2633,8 @@ std::ostream& ModbusRTU::operator<<(std::ostream& os,RDIObjectList& dlist )
{
if( !dlist.empty() )
{
for( RDIObjectList::iterator it=dlist.begin(); it!=dlist.end(); ++it )
os << " " << rdi2str(it->id) << " : " << it->val << endl;
for( auto &it: dlist )
os << " " << rdi2str(it.id) << " : " << it.val << endl;
}
return os;
......
......@@ -1032,7 +1032,7 @@ ObjectPtr UInterface::CacheOfResolve::resolve( const ObjectId id, const ObjectId
{
UniSetTypes::uniset_rwmutex_rlock l(cmutex);
CacheMap::iterator it = mcache.find( key(id,node) );
auto it = mcache.find( key(id,node) );
if( it == mcache.end() )
throw UniSetTypes::NameNotFound();
......@@ -1054,7 +1054,7 @@ void UInterface::CacheOfResolve::cache( const ObjectId id, const ObjectId node,
UniSetTypes::KeyType k( key(id,node) );
CacheMap::iterator it = mcache.find(k);
auto it = mcache.find(k);
if( it == mcache.end() )
mcache.insert(CacheMap::value_type(k,Info(ptr)));
else
......@@ -1070,7 +1070,7 @@ bool UInterface::CacheOfResolve::clean()
uinfo << "UI: clean cache...."<< endl;
for( CacheMap::iterator it=mcache.begin(); it!=mcache.end();)
for( auto it=mcache.begin(); it!=mcache.end();)
{
if( it->second.ncall <= minCallCount )
mcache.erase(it++);
......@@ -1088,7 +1088,7 @@ bool UInterface::CacheOfResolve::clean()
void UInterface::CacheOfResolve::erase( const UniSetTypes::ObjectId id, const UniSetTypes::ObjectId node ) const
{
UniSetTypes::uniset_rwmutex_wrlock l(cmutex);
CacheMap::iterator it = mcache.find( key(id,node) );
auto it = mcache.find( key(id,node) );
if( it != mcache.end() )
mcache.erase(it);
}
......
......@@ -53,7 +53,7 @@ ObjectIndex_Array::ObjectIndex_Array( const ObjectInfo *objectInfo ):
// -----------------------------------------------------------------------------------------
ObjectId ObjectIndex_Array::getIdByName( const string& name )
{
MapObjectKey::iterator it = mok.find(name);
auto it = mok.find(name);
if( it != mok.end() )
return it->second;
......@@ -119,7 +119,7 @@ const ObjectInfo* ObjectIndex_Array::getObjectInfo( const ObjectId id )
// -----------------------------------------------------------------------------------------
const ObjectInfo* ObjectIndex_Array::getObjectInfo( const std::string& name )
{
MapObjectKey::iterator it = mok.find(name);
auto it = mok.find(name);
if( it != mok.end() )
return &(objectInfo[it->second]);
......
......@@ -52,7 +52,7 @@ ObjectIndex_XML::~ObjectIndex_XML()
// -----------------------------------------------------------------------------------------
ObjectId ObjectIndex_XML::getIdByName( const string& name )
{
MapObjectKey::iterator it = mok.find(name);
auto it = mok.find(name);
if( it != mok.end() )
return it->second;
......@@ -83,7 +83,7 @@ std::ostream& operator<<(std::ostream& os, ObjectIndex_XML& oi )
std::ostream& ObjectIndex_XML::printMap( std::ostream& os )
{
cout << "size: " << omap.size() << endl;
for( vector<ObjectInfo>::iterator it=omap.begin(); it!=omap.end(); ++it )
for( auto it=omap.begin(); it!=omap.end(); ++it )
{
if( it->repName == NULL )
continue;
......@@ -282,7 +282,7 @@ const ObjectInfo* ObjectIndex_XML::getObjectInfo( const ObjectId id )
// ------------------------------------------------------------------------------------------
const ObjectInfo* ObjectIndex_XML::getObjectInfo( const std::string& name )
{
MapObjectKey::iterator it = mok.find(name);
auto it = mok.find(name);
if( it != mok.end() )
return &(omap[it->second]);
......
......@@ -30,7 +30,7 @@ ObjectIndex_idXML::~ObjectIndex_idXML()
// -----------------------------------------------------------------------------------------
ObjectId ObjectIndex_idXML::getIdByName( const string& name )
{
MapObjectKey::iterator it = mok.find(name);
auto it = mok.find(name);
if( it != mok.end() )
return it->second;
......@@ -39,7 +39,7 @@ ObjectId ObjectIndex_idXML::getIdByName( const string& name )
// -----------------------------------------------------------------------------------------
string ObjectIndex_idXML::getMapName( const ObjectId id )
{
MapObjects::iterator it = omap.find(id);
auto it = omap.find(id);
if( it!=omap.end() )
return it->second.repName;
......@@ -48,7 +48,7 @@ string ObjectIndex_idXML::getMapName( const ObjectId id )
// -----------------------------------------------------------------------------------------
string ObjectIndex_idXML::getTextName( const ObjectId id )
{
MapObjects::iterator it = omap.find(id);
auto it = omap.find(id);
if( it!=omap.end() )
return it->second.textName;
......@@ -63,7 +63,7 @@ std::ostream& operator<<(std::ostream& os, ObjectIndex_idXML& oi )
std::ostream& ObjectIndex_idXML::printMap( std::ostream& os )
{
os << "size: " << omap.size() << endl;
for( MapObjects::iterator it=omap.begin(); it!=omap.end(); ++it )
for( auto it=omap.begin(); it!=omap.end(); ++it )
{
if( it->second.repName == NULL )
continue;
......@@ -216,7 +216,7 @@ void ObjectIndex_idXML::read_nodes( UniXML& xml, const std::string& sec )
// ------------------------------------------------------------------------------------------
const ObjectInfo* ObjectIndex_idXML::getObjectInfo( const ObjectId id )
{
MapObjects::iterator it = omap.find(id);
auto it = omap.find(id);
if( it!=omap.end() )
return &(it->second);
......@@ -225,7 +225,7 @@ const ObjectInfo* ObjectIndex_idXML::getObjectInfo( const ObjectId id )
// ------------------------------------------------------------------------------------------
const ObjectInfo* ObjectIndex_idXML::getObjectInfo( const std::string& name )
{
MapObjectKey::iterator it = mok.find(name);
auto it = mok.find(name);
if( it != mok.end() )
return getObjectInfo(it->second);
......
......@@ -198,7 +198,7 @@ void ObjectRepository::unregistration(const string& name, const string& section)
// Удаляем запись об объекте
ctx->unbind(oName);
return;
}
}
catch(const CosNaming::NamingContext::NotFound &nf)
{
err << "ObjectRepository(unregistrartion): не найден объект ->" << name;
......
......@@ -176,11 +176,9 @@ bool ObjectRepositoryFactory::createContext(const char *cname, CosNaming::Naming
/*!
\note Функция не вывести список, если не сможет получить доступ к секции
*/
void ObjectRepositoryFactory::printSection(const string& fullName)
void ObjectRepositoryFactory::printSection( const string& fullName )
{
ListObjectName ls;
ListObjectName::const_iterator li;
try
{
list(fullName.c_str(),&ls);
......@@ -193,15 +191,11 @@ void ObjectRepositoryFactory::printSection(const string& fullName)
cout << "printSection: cath exceptions ORepFailed..."<< endl;
return ;
}
cout << fullName << "(" << ls.size() <<"):" << endl;
for( li=ls.begin();li!=ls.end();++li )
{
string ob(*li);
cout << ob << endl;
}
for( auto v: ls )
cout << v << endl;
}
// -----------------------------------------------------------------------------------------------------------
......
......@@ -54,14 +54,14 @@ void ProxyManager::attachObject( PassiveObject* po, UniSetTypes::ObjectId id )
return;
}
PObjectMap::iterator it = omap.find(id);
auto it = omap.find(id);
if( it==omap.end() )
omap.insert(PObjectMap::value_type(id,po));
}
// -------------------------------------------------------------------------
void ProxyManager::detachObject( UniSetTypes::ObjectId id )
{
PObjectMap::iterator it = omap.find(id);
auto it = omap.find(id);
if( it!=omap.end() )
omap.erase(it);
}
......@@ -73,20 +73,20 @@ bool ProxyManager::activateObject()
return false;
// Регистрируемся от имени объектов
for( PObjectMap::const_iterator it=omap.begin();it!=omap.end();++it )
for( auto &it: omap )
{
try
{
for( unsigned int i=0; i<2; i++ )
{
{
try
{
uinfo << myname << "(registered): попытка "
<< i+1 << " регистриую (id=" << it->first << ") "
<< " (pname=" << it->second->getName() << ") "
<< conf->oind->getNameById(it->first) << endl;
<< i+1 << " регистриую (id=" << it.first << ") "
<< " (pname=" << it.second->getName() << ") "
<< conf->oind->getNameById(it.first) << endl;
ui.registered(it->first, getRef(),true);
ui.registered(it.first, getRef(),true);
break;
}
catch( UniSetTypes::ObjectNameAlready& ex )
......@@ -94,7 +94,7 @@ bool ProxyManager::activateObject()
ucrit << myname << "(registered): СПЕРВА РАЗРЕГИСТРИРУЮ (ObjectNameAlready)" << endl;
try
{
ui.unregister(it->first);
ui.unregister(it.first);
}
catch(Exception & ex)
{
......@@ -141,7 +141,7 @@ void ProxyManager::processingMessage( UniSetTypes::VoidMessage *msg )
default:
{
PObjectMap::iterator it = omap.find(msg->consumer);
auto it = omap.find(msg->consumer);
if( it!=omap.end() )
it->second->processingMessage(msg);
else
......@@ -159,11 +159,11 @@ void ProxyManager::processingMessage( UniSetTypes::VoidMessage *msg )
// -------------------------------------------------------------------------
void ProxyManager::allMessage( UniSetTypes::VoidMessage* msg )
{
for( PObjectMap::const_iterator it=omap.begin();it!=omap.end();++it )
for( auto &o: omap )
{
try
{
it->second->processingMessage(msg);
o.second->processingMessage(msg);
}
catch( Exception& ex )
{
......
......@@ -325,8 +325,7 @@ void UniSetActivator::work()
// ------------------------------------------------------------------------------------------
void UniSetActivator::getinfo()
{
for( UniSetManagerList::const_iterator it= beginMList();
it!= endMList(); ++it )
for( auto it=beginMList(); it!=endMList(); ++it )
{
MInfo mi;
mi.mnr = (*it);
......@@ -334,8 +333,7 @@ void UniSetActivator::getinfo()
lstMInfo.push_back(mi);
}
for( ObjectsList::const_iterator it= beginOList();
it!= endOList(); ++it )
for( auto it=beginOList(); it!= endOList(); ++it )
{
OInfo oi;
oi.obj = (*it);
......
......@@ -149,7 +149,7 @@ bool UniSetManager::addObject( UniSetObject *obj )
{
{ //lock
uniset_rwmutex_wrlock lock(olistMutex);
ObjectsList::iterator li=find(olist.begin(),olist.end(), obj);
auto li=find(olist.begin(),olist.end(), obj);
if( li==olist.end() )
{
uinfo << myname << "(activator): добавляем объект "<< obj->getName()<< endl;
......@@ -164,7 +164,7 @@ bool UniSetManager::removeObject(UniSetObject* obj)
{
{ //lock
uniset_rwmutex_wrlock lock(olistMutex);
ObjectsList::iterator li=find(olist.begin(),olist.end(), obj);
auto li=find(olist.begin(),olist.end(), obj);
if( li!=olist.end() )
{
uinfo << myname << "(activator): удаляем объект "<< obj->getName()<< endl;
......@@ -210,26 +210,26 @@ void UniSetManager::managers(OManagerCommand cmd)
<< mlist.size() << " cmd=" << cmd << endl;
{ //lock
uniset_rwmutex_rlock lock(mlistMutex);
for( UniSetManagerList::iterator li=mlist.begin();li!=mlist.end();++li )
for( auto &li: mlist )
{
try
{
switch(cmd)
{
case initial:
(*li)->initPOA(this);
li->initPOA(this);
break;
case activ:
(*li)->activate();
li->activate();
break;
case deactiv:
(*li)->disactivate();
li->disactivate();
break;
case term:
(*li)->sigterm(sig);
li->sigterm(sig);
break;
default:
......@@ -239,7 +239,7 @@ void UniSetManager::managers(OManagerCommand cmd)
catch( Exception& ex )
{
ucrit << myname << "(managers): " << ex << endl
<< " Не смог зарегистрировать (разрегистрировать) объект -->"<< (*li)->getName() << endl;
<< " Не смог зарегистрировать (разрегистрировать) объект -->"<< li->getName() << endl;
}
catch( CORBA::SystemException& ex )
{
......@@ -270,26 +270,26 @@ void UniSetManager::objects(OManagerCommand cmd)
{ //lock
uniset_rwmutex_rlock lock(olistMutex);
for (ObjectsList::iterator li=olist.begin();li!=olist.end();++li)
for( auto &li: olist )
{
try
{
switch(cmd)
{
case initial:
(*li)->init(this);
li->init(this);
break;
case activ:
(*li)->activate();
li->activate();
break;
case deactiv:
(*li)->disactivate();
li->disactivate();
break;
case term:
(*li)->sigterm(sig);
li->sigterm(sig);
break;
default:
......@@ -299,7 +299,7 @@ void UniSetManager::objects(OManagerCommand cmd)
catch( Exception& ex )
{
ucrit << myname << "(objects): " << ex << endl;
ucrit << myname << "(objects): не смог зарегистрировать (разрегистрировать) объект -->"<< (*li)->getName() << endl;
ucrit << myname << "(objects): не смог зарегистрировать (разрегистрировать) объект -->"<< li->getName() << endl;
}
catch(CORBA::SystemException& ex)
{
......@@ -309,7 +309,7 @@ void UniSetManager::objects(OManagerCommand cmd)
{
ucrit << myname << "(objects): Caught CORBA::Exception. "
<< ex._name()
<< " (" << (*li)->getName() << ")" << endl;
<< " (" << li->getName() << ")" << endl;
}
catch( omniORB::fatalException& fe )
{
......@@ -382,7 +382,7 @@ bool UniSetManager::addManager( UniSetManager *child )
uniset_rwmutex_wrlock lock(mlistMutex);
// Проверка на совпадение
UniSetManagerList::iterator it= find(mlist.begin(),mlist.end(),child);
auto it= find(mlist.begin(),mlist.end(),child);
if(it == mlist.end() )
{
mlist.push_back( child );
......@@ -410,15 +410,15 @@ bool UniSetManager::removeManager( UniSetManager* child )
const UniSetManager* UniSetManager::itemM(const ObjectId id)
{
{ //lock
uniset_rwmutex_rlock lock(mlistMutex);
for( UniSetManagerList::iterator li=mlist.begin(); li!=mlist.end();++li )
for( auto &li: mlist )
{
if ( (*li)->getId()==id )
return (*li);
if ( li->getId()==id )
return li;
}
} // unlock
} // unlock
return 0;
}
......@@ -429,12 +429,12 @@ const UniSetObject* UniSetManager::itemO(const ObjectId id)
{
{ //lock
uniset_rwmutex_rlock lock(olistMutex);
for (ObjectsList::iterator li=olist.begin(); li!=olist.end();++li)
for( auto &li: olist )
{
if ( (*li)->getId()==id )
return (*li);
if ( li->getId()==id )
return li;
}
} // unlock
} // unlock
return 0;
}
......@@ -468,8 +468,7 @@ int UniSetManager::getObjectsInfo( UniSetManager* mngr, SimpleInfoSeq* seq,
if( ind > uplimit )
return ind;
for( ObjectsList::const_iterator it= mngr->beginOList();
it!=mngr->endOList(); ++it )
for( auto it=mngr->beginOList(); it!=mngr->endOList(); ++it )
{
try
{
......@@ -494,8 +493,7 @@ int UniSetManager::getObjectsInfo( UniSetManager* mngr, SimpleInfoSeq* seq,
return ind;
// а далее у его менеджеров (рекурсивно)
for( UniSetManagerList::const_iterator it=mngr->beginMList();
it!=mngr->endMList(); ++it )
for( auto it=mngr->beginMList(); it!=mngr->endMList(); ++it )
{
ind = getObjectsInfo((*it),seq,ind,uplimit);
if( ind > uplimit )
......
......@@ -491,7 +491,7 @@ void UniSetObject::cleanMsgQueue( MessagesQueue& q )
{
m = q.top();
q.pop();
switch( m.type )
{
case Message::SensorInfo:
......@@ -540,48 +540,34 @@ void UniSetObject::cleanMsgQueue( MessagesQueue& q )
break;
}
}
}
ucrit << myname << "(cleanMsgQueue): ******** cleanup RESULT ********" << endl;
for( map<UniSetTypes::ObjectId,tmpConsumerInfo>::iterator it0 = consumermap.begin();
it0!=consumermap.end(); ++it0 )
for( auto &c: consumermap )
{
ucrit << myname << "(cleanMsgQueue): CONSUMER=" << it0->first << endl;
ucrit << myname << "(cleanMsgQueue): after clean SensorMessage: " << it0->second.smap.size() << endl;
ucrit << myname << "(cleanMsgQueue): after clean TimerMessage: " << it0->second.tmap.size() << endl;
ucrit << myname << "(cleanMsgQueue): after clean SystemMessage: " << it0->second.sysmap.size() << endl;
ucrit << myname << "(cleanMsgQueue): after clean ConfirmMessage: " << it0->second.cmap.size() << endl;
ucrit << myname << "(cleanMsgQueue): after clean other: " << it0->second.lstOther.size() << endl;
ucrit << myname << "(cleanMsgQueue): CONSUMER=" << c.first << endl;
ucrit << myname << "(cleanMsgQueue): after clean SensorMessage: " << c.second.smap.size() << endl;
ucrit << myname << "(cleanMsgQueue): after clean TimerMessage: " << c.second.tmap.size() << endl;
ucrit << myname << "(cleanMsgQueue): after clean SystemMessage: " << c.second.sysmap.size() << endl;
ucrit << myname << "(cleanMsgQueue): after clean ConfirmMessage: " << c.second.cmap.size() << endl;
ucrit << myname << "(cleanMsgQueue): after clean other: " << c.second.lstOther.size() << endl;
// теперь ОСТАВШИЕСЯ запихиваем обратно в очередь...
map<UniSetTypes::KeyType,VoidMessage>::iterator it=it0->second.smap.begin();
for( ; it!=it0->second.smap.end(); ++it )
{
q.push(it->second);
}
for( auto &v: c.second.smap )
q.push(v.second);
map<int,VoidMessage>::iterator it1=it0->second.tmap.begin();
for( ; it1!=it0->second.tmap.end(); ++it1 )
{
q.push(it1->second);
}
for( auto &v: c.second.tmap )
q.push(v.second);
map<int,VoidMessage>::iterator it2=it0->second.sysmap.begin();
for( ; it2!=it0->second.sysmap.end(); ++it2 )
{
q.push(it2->second);
}
for( auto &v: c.second.sysmap )
q.push(v.second);
map<CInfo,VoidMessage>::iterator it5=it0->second.cmap.begin();
for( ; it5!=it0->second.cmap.end(); ++it5 )
{
q.push(it5->second);
}
for( auto &v: c.second.cmap )
q.push(v.second);
list<VoidMessage>::iterator it6=it0->second.lstOther.begin();
for( ; it6!=it0->second.lstOther.end(); ++it6 )
q.push(*it6);
for( auto &v: c.second.lstOther )
q.push(v);
}
ucrit << myname
......
......@@ -52,7 +52,7 @@ using namespace UniSetTypes;
if( ret < calMax )
return calMax;
}
return ret;
}
// -------------------------------------------------------------------------
......@@ -85,7 +85,7 @@ using namespace UniSetTypes;
if( ret < calMax )
return calMax;
}
return ret;
}
......@@ -115,7 +115,7 @@ using namespace UniSetTypes;
void UniSetTypes::IDList::add( ObjectId id )
{
for( list<ObjectId>::iterator it=lst.begin(); it!=lst.end(); ++it )
for( auto it=lst.begin(); it!=lst.end(); ++it )
{
if( (*it) == id )
return;
......@@ -126,7 +126,7 @@ using namespace UniSetTypes;
void UniSetTypes::IDList::del( ObjectId id )
{
for( list<ObjectId>::iterator it=lst.begin(); it!=lst.end(); ++it )
for( auto it=lst.begin(); it!=lst.end(); ++it )
{
if( (*it) == id )
{
......@@ -145,7 +145,7 @@ using namespace UniSetTypes;
{
if( lst.empty() )
return UniSetTypes::DefaultObjectId;
return (*lst.begin());
}
......@@ -156,9 +156,9 @@ using namespace UniSetTypes;
IDSeq* seq = new IDSeq();
seq->length(lst.size());
int i=0;
for( list<ObjectId>::iterator it=lst.begin(); it!=lst.end(); ++it,i++ )
for( auto it=lst.begin(); it!=lst.end(); ++it,i++ )
(*seq)[i] = (*it);
return seq;
}
// -------------------------------------------------------------------------
......@@ -195,7 +195,7 @@ using namespace UniSetTypes;
}
}
while( pos!=string::npos );
return l;
}
// -------------------------------------------------------------------------
......@@ -222,9 +222,9 @@ using namespace UniSetTypes;
// ------------------------------------------------------------------------------------------
bool UniSetTypes::is_digit( const std::string& s )
{
for( std::string::const_iterator it=s.begin(); it!=s.end(); ++it )
for( auto c: s )
{
if( !isdigit(*it) )
if( !isdigit(c) )
return false;
}
......@@ -236,12 +236,12 @@ using namespace UniSetTypes;
{
std::list<UniSetTypes::ParamSInfo> res;
std::list<std::string> l = UniSetTypes::explode_str(str,',');
for( std::list<std::string>::iterator it=l.begin(); it!=l.end(); ++it )
auto lst = UniSetTypes::explode_str(str,',');
for( auto it: lst )
{
UniSetTypes::ParamSInfo item;
std::list<std::string> p = UniSetTypes::explode_str((*it),'=');
auto p = UniSetTypes::explode_str(it,'=');
std::string s = "";
if( p.size() == 1 )
{
......@@ -250,17 +250,17 @@ using namespace UniSetTypes;
}
else if( p.size() == 2 )
{
s = *(p.begin());
s = *(p.begin());
item.val = uni_atoi(*(++p.begin()));
}
else
{
cerr << "WARNING: parse error for '" << (*it) << "'. IGNORE..." << endl;
cerr << "WARNING: parse error for '" << it << "'. IGNORE..." << endl;
continue;
}
}
item.fname = s;
std::list<std::string> t = UniSetTypes::explode_str(s,'@');
auto t = UniSetTypes::explode_str(s,'@');
if( t.size() == 1 )
{
std::string s_id = *(t.begin());
......@@ -278,7 +278,7 @@ using namespace UniSetTypes;
item.si.id = uni_atoi(s_id);
else
item.si.id = conf->getSensorID(s_id);
if( is_digit(s_node.c_str()) )
item.si.node = uni_atoi(s_node);
else
......@@ -292,7 +292,7 @@ using namespace UniSetTypes;
res.push_back(item);
}
return res;
}
// --------------------------------------------------------------------------------------
......
......@@ -80,11 +80,11 @@ bool IOController::disactivateObject()
void IOController::sensorsUnregistration()
{
// Разрегистрируем аналоговые датчики
for( IOStateList::iterator li = ioList.begin(); li!=ioList.end(); ++li)
for( const auto &li : ioList )
{
try
{
ioUnRegistration( li->second.si.id );
ioUnRegistration( li.second.si.id );
}
catch( Exception& ex )
{
......@@ -97,7 +97,7 @@ void IOController::sensorsUnregistration()
void IOController::activateInit()
{
// Разрегистрируем аналоговые датчики
for( IOStateList::iterator li = ioList.begin(); li != ioList.end(); ++li )
for( auto li=ioList.begin(); li!=ioList.end(); ++li )
{
try
{
......@@ -106,7 +106,7 @@ void IOController::activateInit()
// Проверка зависимостей
if( s.d_si.id != DefaultObjectId )
{
IOStateList::iterator d_it = myiofind(s.d_si.id);
auto d_it = myiofind(s.d_si.id);
if( d_it != ioEnd() )
s.checkDepend(d_it, this);
}
......@@ -123,7 +123,7 @@ void IOController::activateInit()
// ------------------------------------------------------------------------------------------
CORBA::Long IOController::getValue( UniSetTypes::ObjectId sid )
{
IOStateList::iterator li(ioList.end());
auto li = ioList.end();
return localGetValue(li,sid);
}
// ------------------------------------------------------------------------------------------
......@@ -152,7 +152,7 @@ long IOController::localGetValue( IOController::IOStateList::iterator& li, const
// ------------------------------------------------------------------------------------------
void IOController::setUndefinedState(UniSetTypes::ObjectId sid, CORBA::Boolean undefined, UniSetTypes::ObjectId sup_id )
{
IOController::IOStateList::iterator li(ioList.end());
auto li = ioList.end();
localSetUndefinedState( li,undefined, sid );
}
// -----------------------------------------------------------------------------
......@@ -227,7 +227,7 @@ void IOController::fastSetValue( UniSetTypes::ObjectId sid, CORBA::Long value, U
{
try
{
IOController::IOStateList::iterator li(ioList.end());
auto li = ioList.end();
localSetValue( li, sid, value, sup_id );
}
catch(...){}
......@@ -235,7 +235,7 @@ void IOController::fastSetValue( UniSetTypes::ObjectId sid, CORBA::Long value, U
// ------------------------------------------------------------------------------------------
void IOController::setValue( UniSetTypes::ObjectId sid, CORBA::Long value, UniSetTypes::ObjectId sup_id )
{
IOController::IOStateList::iterator li(ioList.end());
auto li = ioList.end();
localSetValue( li, sid, value, sup_id );
}
// ------------------------------------------------------------------------------------------
......@@ -322,7 +322,7 @@ void IOController::localSetValue( IOController::IOStateList::iterator& li,
// ------------------------------------------------------------------------------------------
IOType IOController::getIOType( UniSetTypes::ObjectId sid )
{
IOStateList::iterator ali = ioList.find(sid);
auto ali = ioList.find(sid);
if( ali!=ioList.end() )
return ali->second.type;
......@@ -346,7 +346,7 @@ void IOController::ioRegistration( const USensorInfo& ainf, bool force )
uniset_rwmutex_wrlock lock(ioMutex);
if( !force )
{
IOStateList::iterator li = ioList.find(ainf.si.id);
auto li = ioList.find(ainf.si.id);
if( li!=ioList.end() )
{
ostringstream err;
......@@ -441,7 +441,7 @@ void IOController::dumpToDB()
{ // lock
// uniset_mutex_lock lock(ioMutex, 100);
for( IOStateList::iterator li = ioList.begin(); li!=ioList.end(); ++li )
for( auto li = ioList.begin(); li!=ioList.end(); ++li )
{
uniset_rwmutex_rlock lock(li->second.val_lock);
SensorMessage sm;
......@@ -468,10 +468,10 @@ IOController_i::SensorInfoSeq* IOController::getSensorsMap()
res->length( ioList.size());
unsigned int i=0;
for( IOStateList::iterator it=ioList.begin(); it!=ioList.end(); ++it)
for( auto &it: ioList )
{
uniset_rwmutex_rlock lock(it->second.val_lock);
(*res)[i] = it->second;
uniset_rwmutex_rlock lock(it.second.val_lock);
(*res)[i] = it.second;
i++;
}
......@@ -480,7 +480,7 @@ IOController_i::SensorInfoSeq* IOController::getSensorsMap()
// --------------------------------------------------------------------------------------------------------------
UniSetTypes::Message::Priority IOController::getPriority( const UniSetTypes::ObjectId sid )
{
IOStateList::iterator it = ioList.find(sid);
auto it = ioList.find(sid);
if( it!=ioList.end() )
return (UniSetTypes::Message::Priority)it->second.priority;
......@@ -489,7 +489,7 @@ UniSetTypes::Message::Priority IOController::getPriority( const UniSetTypes::Obj
// --------------------------------------------------------------------------------------------------------------
IOController_i::SensorIOInfo IOController::getSensorIOInfo( const UniSetTypes::ObjectId sid )
{
IOStateList::iterator it = ioList.find(sid);
auto it = ioList.find(sid);
if( it!=ioList.end() )
{
uniset_rwmutex_rlock lock(it->second.val_lock);
......@@ -508,7 +508,7 @@ IOController_i::SensorIOInfo IOController::getSensorIOInfo( const UniSetTypes::O
// --------------------------------------------------------------------------------------------------------------
CORBA::Long IOController::getRawValue( UniSetTypes::ObjectId sid )
{
IOStateList::iterator it = ioList.find(sid);
auto it = ioList.find(sid);
if( it==ioList.end() )
{
ostringstream err;
......@@ -536,7 +536,7 @@ void IOController::calibrate( UniSetTypes::ObjectId sid,
const IOController_i::CalibrateInfo& ci,
UniSetTypes::ObjectId adminId )
{
IOStateList::iterator it = ioList.find(sid);
auto it = ioList.find(sid);
if( it==ioList.end() )
{
ostringstream err;
......@@ -552,7 +552,7 @@ void IOController::calibrate( UniSetTypes::ObjectId sid,
// --------------------------------------------------------------------------------------------------------------
IOController_i::CalibrateInfo IOController::getCalibrateInfo( UniSetTypes::ObjectId sid )
{
IOStateList::iterator it = ioList.find(sid);
auto it = ioList.find(sid);
if( it==ioList.end() )
{
ostringstream err;
......@@ -607,9 +607,9 @@ const IOController::USensorInfo&
bool IOController::checkIOFilters( const USensorInfo& ai, CORBA::Long& newvalue,
UniSetTypes::ObjectId sup_id )
{
for( IOFilterSlotList::iterator it=iofilters.begin(); it!=iofilters.end(); ++it )
for( auto &it: iofilters )
{
if( (*it)(ai,newvalue,sup_id) == false )
if( it(ai,newvalue,sup_id) == false )
return false;
}
return true;
......@@ -621,8 +621,7 @@ IOController::IOFilterSlotList::iterator IOController::addIOFilter( IOFilterSlot
if( push_front == false )
{
iofilters.push_back(sl);
IOFilterSlotList::iterator it(iofilters.end());
return --it;
return --iofilters.end();
}
iofilters.push_front(sl);
......@@ -656,9 +655,9 @@ IOController_i::SensorInfoSeq* IOController::getSensorSeq( const IDSeq& lst )
IOController_i::SensorInfoSeq* res = new IOController_i::SensorInfoSeq();
res->length(size);
for( unsigned int i=0; i<size; i++ )
for( auto i=0; i<size; i++ )
{
IOStateList::iterator it = ioList.find(lst[i]);
auto it = ioList.find(lst[i]);
if( it!=ioList.end() )
{
uniset_rwmutex_rlock lock(it->second.val_lock);
......@@ -686,7 +685,7 @@ IDSeq* IOController::setOutputSeq(const IOController_i::OutSeq& lst, ObjectId su
ObjectId sid = lst[i].si.id;
{
IOStateList::iterator it = ioList.find(sid);
auto it = ioList.find(sid);
if( it!=ioList.end() )
{
localSetValue(it,sid,lst[i].value, sup_id);
......@@ -703,7 +702,7 @@ IDSeq* IOController::setOutputSeq(const IOController_i::OutSeq& lst, ObjectId su
// -----------------------------------------------------------------------------
IOController_i::ShortIOInfo IOController::getChangedTime( UniSetTypes::ObjectId sid )
{
IOStateList::iterator ait = ioList.find(sid);
auto ait = ioList.find(sid);
if( ait!=ioList.end() )
{
IOController_i::ShortIOInfo i;
......@@ -731,14 +730,14 @@ IOController_i::ShortMapSeq* IOController::getSensors()
res->length( ioList.size() );
int i=0;
for( IOStateList::iterator it=ioList.begin(); it!=ioList.end(); ++it)
for( auto &it: ioList )
{
IOController_i::ShortMap m;
{
uniset_rwmutex_rlock lock(it->second.val_lock);
m.id = it->second.si.id;
m.value = it->second.value;
m.type = it->second.type;
uniset_rwmutex_rlock lock(it.second.val_lock);
m.id = it.second.si.id;
m.value = it.second.value;
m.type = it.second.type;
}
(*res)[i++] = m;
}
......@@ -748,7 +747,7 @@ IOController_i::ShortMapSeq* IOController::getSensors()
// -----------------------------------------------------------------------------
IOController::ChangeSignal IOController::signal_change_value( UniSetTypes::ObjectId sid )
{
IOStateList::iterator it = ioList.find(sid);
auto it = ioList.find(sid);
if( it==ioList.end() )
{
ostringstream err;
......@@ -770,7 +769,7 @@ IOController::ChangeSignal IOController::signal_change_value()
// -----------------------------------------------------------------------------
IOController::ChangeUndefinedStateSignal IOController::signal_change_undefined_state( UniSetTypes::ObjectId sid )
{
IOStateList::iterator it = ioList.find(sid);
auto it = ioList.find(sid);
if( it==ioList.end() )
{
ostringstream err;
......
......@@ -102,7 +102,7 @@ bool IONotifyController::addConsumer( ConsumerListInfo& lst, const ConsumerInfo&
{
uniset_rwmutex_wrlock l(lst.mut);
for( ConsumerList::const_iterator it=lst.clst.begin(); it!=lst.clst.end(); ++it )
for( auto it=lst.clst.begin(); it!=lst.clst.end(); ++it )
{
if( it->id==ci.id && it->node==ci.node )
return false;
......@@ -128,7 +128,7 @@ bool IONotifyController::addConsumer( ConsumerListInfo& lst, const ConsumerInfo&
bool IONotifyController::removeConsumer( ConsumerListInfo& lst, const ConsumerInfo& cons )
{
uniset_rwmutex_wrlock l(lst.mut);
for( ConsumerList::iterator li=lst.clst.begin();li!=lst.clst.end(); ++li )
for( auto li=lst.clst.begin();li!=lst.clst.end(); ++li )
{
if( li->id==cons.id && li->node==cons.node )
{
......@@ -154,7 +154,7 @@ void IONotifyController::askSensor(const UniSetTypes::ObjectId sid,
<< conf->oind->getNameById(sid) << endl;
// если такого аналогового датчика нет, здесь сработает исключение...
IOStateList::iterator li = myioEnd();
auto li = myioEnd();
localGetValue(li,sid);
{ // lock
......@@ -212,7 +212,7 @@ void IONotifyController::ask( AskMap& askLst, const UniSetTypes::ObjectId sid,
const UniSetTypes::ConsumerInfo& cons, UniversalIO::UIOCommand cmd)
{
// поиск датчика в списке
AskMap::iterator askIterator = askLst.find(sid);
auto askIterator = askLst.find(sid);
switch (cmd)
{
......@@ -357,7 +357,7 @@ void IONotifyController::localSetValue( IOController::IOStateList::iterator& li,
{
uniset_rwmutex_rlock lock(askIOMutex);
AskMap::iterator it = askIOList.find(sid);
auto it = askIOList.find(sid);
if( it!=askIOList.end() )
send(it->second, sm);
}
......@@ -380,7 +380,7 @@ void IONotifyController::send( ConsumerListInfo& lst, UniSetTypes::SensorMessage
TransportMessage tmsg;
uniset_rwmutex_wrlock l(lst.mut);
for( ConsumerList::iterator li=lst.clst.begin(); li!=lst.clst.end(); ++li )
for( auto li=lst.clst.begin(); li!=lst.clst.end(); ++li )
{
for( int i=0; i<2; i++ ) // на каждый объект по две поптыки
{
......@@ -519,14 +519,14 @@ void IONotifyController::askThreshold(UniSetTypes::ObjectId sid, const UniSetTyp
throw IONotifyController_i::BadRange();
// если такого дискретного датчика нет сдесь сработает исключение...
IOStateList::iterator li = myioEnd();
auto li = myioEnd();
CORBA::Long val = localGetValue(li,sid);
{ // lock
uniset_rwmutex_wrlock lock(trshMutex);
// поиск датчика в списке
AskThresholdMap::iterator it = askTMap.find(sid);
auto it = askTMap.find(sid);
ThresholdInfoExt ti(tid,lowLimit,hiLimit,invert);
ti.sit = myioEnd();
......@@ -664,7 +664,7 @@ void IONotifyController::askThreshold(UniSetTypes::ObjectId sid, const UniSetTyp
// --------------------------------------------------------------------------------------------------------------
bool IONotifyController::addThreshold( ThresholdExtList& lst, ThresholdInfoExt& ti, const UniSetTypes::ConsumerInfo& ci )
{
for( ThresholdExtList::iterator it=lst.begin(); it!=lst.end(); ++it)
for( auto it=lst.begin(); it!=lst.end(); ++it)
{
if( ti==(*it) )
{
......@@ -694,7 +694,7 @@ bool IONotifyController::addThreshold( ThresholdExtList& lst, ThresholdInfoExt&
// --------------------------------------------------------------------------------------------------------------
bool IONotifyController::removeThreshold( ThresholdExtList& lst, ThresholdInfoExt& ti, const UniSetTypes::ConsumerInfo& ci )
{
for( ThresholdExtList::iterator it=lst.begin(); it!=lst.end(); ++it)
for( auto it=lst.begin(); it!=lst.end(); ++it)
{
if( ti == (*it) )
{
......@@ -720,7 +720,7 @@ void IONotifyController::checkThreshold( IOStateList::iterator& li,
bool send_msg )
{
// поиск списка порогов
AskThresholdMap::iterator lst = askTMap.end();
auto lst = askTMap.end();
{
uniset_rwmutex_rlock lock(trshMutex);
......@@ -760,7 +760,7 @@ void IONotifyController::checkThreshold( IOStateList::iterator& li,
{
uniset_rwmutex_rlock l(lst->second.mut);
for( ThresholdExtList::iterator it=lst->second.list.begin(); it!=lst->second.list.end(); ++it )
for( auto it=lst->second.list.begin(); it!=lst->second.list.end(); ++it )
{
// Используем здесь sm.value чтобы не делать ещё раз lock на li->second.value
......@@ -826,11 +826,11 @@ IONotifyController::ThresholdExtList::iterator IONotifyController::findThreshold
{ // lock
uniset_rwmutex_rlock lock(trshMutex);
// поиск списка порогов
AskThresholdMap::iterator lst = askTMap.find(sid);
auto lst = askTMap.find(sid);
if( lst!=askTMap.end() )
{
for( ThresholdExtList::iterator it=lst->second.list.begin(); it!=lst->second.list.end(); ++it)
for( auto it=lst->second.list.begin(); it!=lst->second.list.end(); ++it)
{
if( it->id == tid )
return it;
......@@ -845,7 +845,7 @@ IONotifyController_i::ThresholdInfo IONotifyController::getThresholdInfo( UniSet
{
uniset_rwmutex_rlock lock(trshMutex);
AskThresholdMap::iterator it = askTMap.find(sid);
auto it = askTMap.find(sid);
if( it == askTMap.end() )
{
ostringstream err;
......@@ -856,7 +856,7 @@ IONotifyController_i::ThresholdInfo IONotifyController::getThresholdInfo( UniSet
throw IOController_i::NameNotFound(err.str().c_str());
}
for( ThresholdExtList::const_iterator it2= it->second.list.begin(); it2!=it->second.list.end(); ++it2 )
for( auto it2= it->second.list.begin(); it2!=it->second.list.end(); ++it2 )
{
if( it2->id == tid )
return IONotifyController_i::ThresholdInfo( *it2 );
......@@ -874,7 +874,7 @@ IONotifyController_i::ThresholdList* IONotifyController::getThresholds( UniSetTy
{
uniset_rwmutex_rlock lock(trshMutex);
AskThresholdMap::iterator it = askTMap.find(sid);
auto it = askTMap.find(sid);
if( it == askTMap.end() )
{
ostringstream err;
......@@ -903,7 +903,7 @@ IONotifyController_i::ThresholdList* IONotifyController::getThresholds( UniSetTy
res->tlist.length( it->second.list.size() );
unsigned int k=0;
for( ThresholdExtList::const_iterator it2= it->second.list.begin(); it2!=it->second.list.end(); ++it2 )
for( auto it2= it->second.list.begin(); it2!=it->second.list.end(); ++it2 )
{
res->tlist[k].id = it2->id;
res->tlist[k].hilimit = it2->hilimit;
......@@ -927,7 +927,7 @@ IONotifyController_i::ThresholdsListSeq* IONotifyController::getThresholdsList()
if( !askTMap.empty() )
{
unsigned int i=0;
for( AskThresholdMap::iterator it=askTMap.begin(); it!=askTMap.end(); ++it )
for( auto it=askTMap.begin(); it!=askTMap.end(); ++it )
{
try
{
......@@ -946,7 +946,7 @@ IONotifyController_i::ThresholdsListSeq* IONotifyController::getThresholdsList()
(*res)[i].tlist.length( it->second.list.size() );
unsigned int k=0;
for( ThresholdExtList::const_iterator it2= it->second.list.begin(); it2!=it->second.list.end(); ++it2 )
for( auto it2=it->second.list.begin(); it2!=it->second.list.end(); ++it2 )
{
(*res)[i].tlist[k].id = it2->id;
(*res)[i].tlist[k].hilimit = it2->hilimit;
......@@ -993,7 +993,7 @@ void IONotifyController::onChangeUndefinedState( IOStateList::iterator& lit, IOC
{ // lock
uniset_rwmutex_rlock lock(askIOMutex);
AskMap::iterator it1 = askIOList.find(it.si.id);
auto it1 = askIOList.find(it.si.id);
if( it1!=askIOList.end() )
send(it1->second, sm);
} // unlock
......
......@@ -117,8 +117,8 @@ void NCRestorer::addthresholdlist( IONotifyController* ic, SInfo& inf, IONotifyC
}
// default init iterators
for( IONotifyController::ThresholdExtList::iterator it=lst.begin(); it!=lst.end(); ++it )
it->sit = ic->myioEnd();
for( auto &it: lst )
it.sit = ic->myioEnd();
ic->askTMap[inf.si.id].si = inf.si;
ic->askTMap[inf.si.id].type = inf.type;
......@@ -146,7 +146,7 @@ NCRestorer::SInfo& NCRestorer::SInfo::operator=( IOController_i::SensorIOInfo& i
// ------------------------------------------------------------------------------------------
void NCRestorer::init_depends_signals( IONotifyController* ic )
{
for( IOController::IOStateList::iterator it=ic->ioList.begin(); it!=ic->ioList.end(); ++it )
for( auto it=ic->ioList.begin(); it!=ic->ioList.end(); ++it )
{
// обновляем итераторы...
it->second.it = it;
......
......@@ -284,22 +284,22 @@ void Configuration::initConfiguration( int argc, const char* const* argv )
new_argv[i] = strdup(argv[i]);
// формируем новые, используя i в качестве индекса
for( UniSetTypes::ListOfNode::iterator it=lnodes.begin(); it!=lnodes.end(); ++it )
for( auto &it: lnodes )
{
new_argv[i] = "-ORBInitRef";
string name(oind->getNodeName(it->id));
string name(oind->getNodeName(it.id));
ostringstream param;
param << this << name;
name = param.str();
param << "=corbaname::" << it->host << ":" << it->port;
param << "=corbaname::" << it.host << ":" << it.port;
new_argv[i+1] = strdup(param.str().c_str());
uinfo << "(Configuration): внесли параметр " << param.str() << endl;
i+=2;
ostringstream uri;
uri << "corbaname::" << it->host << ":" << it->port;
uri << "corbaname::" << it.host << ":" << it.port;
if( !omni::omniInitialReferences::setFromArgs(name.c_str(), uri.str().c_str()) )
cerr << "**********************!!!! FAILED ADD name=" << name << " uri=" << uri.str() << endl;
......
......@@ -74,14 +74,14 @@ timeout_t LT_Object::checkTimers( UniSetObject* obj )
{ // lock
uniset_rwmutex_wrlock lock(lstMutex);
sleepTime = UniSetTimer::WaitUpTime;
for( TimersList::iterator li=tlst.begin(); li!=tlst.end(); ++li )
for( auto li=tlst.begin(); li!=tlst.end(); ++li )
{
if( li->tmr.checkTime() )
{
// помещаем себе в очередь сообщение
TransportMessage tm = TimerMessage(li->id, li->priority, obj->getId()).transport_msg();
obj->push(tm);
// Проверка на количество заданных тактов
if( !li->curTick )
{
......@@ -138,7 +138,7 @@ timeout_t LT_Object::askTimer( UniSetTypes::TimerId timerid, timeout_t timeMS, c
// поищем а может уж такой есть
if( !tlst.empty() )
{
for( TimersList::iterator li=tlst.begin(); li!=tlst.end(); ++li )
for( auto li=tlst.begin(); li!=tlst.end(); ++li )
{
if( li->id == timerid )
{
......
......@@ -46,15 +46,15 @@ void SMonitor::sysCommand( const SystemMessage *sm )
{
case SystemMessage::StartUp:
{
for( MyIDList::iterator it=lst.begin(); it!=lst.end(); it++ )
for( auto &it: lst )
{
if( it->si.node == DefaultObjectId )
it->si.node = conf->getLocalNode();
if( it.si.node == DefaultObjectId )
it.si.node = conf->getLocalNode();
try
{
if( it->si.id != DefaultObjectId )
ui.askRemoteSensor(it->si.id,UniversalIO::UIONotify,it->si.node);
if( it.si.id != DefaultObjectId )
ui.askRemoteSensor(it.si.id,UniversalIO::UIONotify,it.si.node);
}
catch(Exception& ex)
{
......
......@@ -30,7 +30,7 @@ ui_CPPFLAGS = -I$(top_builddir)/include
umutex_SOURCES = umutex.cc
umutex_LDADD = $(top_builddir)/lib/libUniSet2.la $(COMCPP_LIBS)
umutex_CPPFLAGS = -I$(top_builddir)/include $(COMCPP_CFLAGS)
umutex_CPPFLAGS = -S -O2 -I$(top_builddir)/include $(COMCPP_CFLAGS)
conftest_SOURCES = conftest.cc
conftest_LDADD = $(top_builddir)/lib/libUniSet2.la
......
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