Commit 3844a82c authored by Pavel Vainerman's avatar Pavel Vainerman

(2.0): Оптимизация: везде где можно заменил const string --> const string&

parent 07d7b048
...@@ -23,7 +23,7 @@ std::ostream& operator<<( std::ostream& os, IOControl::IOInfo& inf ) ...@@ -23,7 +23,7 @@ std::ostream& operator<<( std::ostream& os, IOControl::IOInfo& inf )
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID, IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID,
SharedMemory* ic, int numcards, const std::string prefix_ ): SharedMemory* ic, int numcards, const std::string& prefix_ ):
UniSetObject(id), UniSetObject(id),
polltime(150), polltime(150),
cards(11), cards(11),
...@@ -1147,7 +1147,7 @@ void IOControl::check_testlamp() ...@@ -1147,7 +1147,7 @@ void IOControl::check_testlamp()
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
IOControl* IOControl::init_iocontrol( int argc, const char* const* argv, IOControl* IOControl::init_iocontrol( int argc, const char* const* argv,
UniSetTypes::ObjectId icID, SharedMemory* ic, UniSetTypes::ObjectId icID, SharedMemory* ic,
const std::string prefix ) const std::string& prefix )
{ {
string name = conf->getArgParam("--"+prefix+"-name","IOControl1"); string name = conf->getArgParam("--"+prefix+"-name","IOControl1");
if( name.empty() ) if( name.empty() )
......
...@@ -195,13 +195,13 @@ class IOControl: ...@@ -195,13 +195,13 @@ class IOControl:
public UniSetObject public UniSetObject
{ {
public: public:
IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID, SharedMemory* ic=0, int numcards=2, const std::string prefix="io" ); IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID, SharedMemory* ic=0, int numcards=2, const std::string& prefix="io" );
virtual ~IOControl(); virtual ~IOControl();
/*! глобальная функция для инициализации объекта */ /*! глобальная функция для инициализации объекта */
static IOControl* init_iocontrol( int argc, const char* const* argv, static IOControl* init_iocontrol( int argc, const char* const* argv,
UniSetTypes::ObjectId icID, SharedMemory* ic=0, UniSetTypes::ObjectId icID, SharedMemory* ic=0,
const std::string prefix="io" ); const std::string& prefix="io" );
/*! глобальная функция для вывода help-а */ /*! глобальная функция для вывода help-а */
static void help_print( int argc, const char* const* argv ); static void help_print( int argc, const char* const* argv );
...@@ -303,7 +303,7 @@ class IOControl: ...@@ -303,7 +303,7 @@ class IOControl:
void waitSM(); void waitSM();
bool checkCards( const std::string func="" ); bool checkCards( const std::string& func="" );
// std::string myname; // std::string myname;
xmlNode* cnode; /*!< xml-узел в настроечном файле */ xmlNode* cnode; /*!< xml-узел в настроечном файле */
......
...@@ -28,7 +28,7 @@ class MBExchange: ...@@ -28,7 +28,7 @@ class MBExchange:
{ {
public: public:
MBExchange( UniSetTypes::ObjectId objId, UniSetTypes::ObjectId shmID, SharedMemory* ic=0, MBExchange( UniSetTypes::ObjectId objId, UniSetTypes::ObjectId shmID, SharedMemory* ic=0,
const std::string prefix="mb" ); const std::string& prefix="mb" );
virtual ~MBExchange(); virtual ~MBExchange();
/*! глобальная функция для вывода help-а */ /*! глобальная функция для вывода help-а */
......
...@@ -10,8 +10,8 @@ using namespace std; ...@@ -10,8 +10,8 @@ using namespace std;
using namespace UniSetTypes; using namespace UniSetTypes;
using namespace UniSetExtensions; using namespace UniSetExtensions;
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
MBTCPMaster::MBTCPMaster( UniSetTypes::ObjectId objId, UniSetTypes::ObjectId shmId, MBTCPMaster::MBTCPMaster( UniSetTypes::ObjectId objId, UniSetTypes::ObjectId shmId,
SharedMemory* ic, const std::string prefix ): SharedMemory* ic, const std::string& prefix ):
MBExchange(objId,shmId,ic,prefix), MBExchange(objId,shmId,ic,prefix),
force_disconnect(true), force_disconnect(true),
mbtcp(0), mbtcp(0),
...@@ -84,7 +84,7 @@ ModbusClient* MBTCPMaster::initMB( bool reopen ) ...@@ -84,7 +84,7 @@ ModbusClient* MBTCPMaster::initMB( bool reopen )
{ {
if( !reopen ) if( !reopen )
return mbtcp; return mbtcp;
delete mbtcp; delete mbtcp;
mb = 0; mb = 0;
mbtcp = 0; mbtcp = 0;
...@@ -94,7 +94,7 @@ ModbusClient* MBTCPMaster::initMB( bool reopen ) ...@@ -94,7 +94,7 @@ ModbusClient* MBTCPMaster::initMB( bool reopen )
{ {
ost::Thread::setException(ost::Thread::throwException); ost::Thread::setException(ost::Thread::throwException);
mbtcp = new ModbusTCPMaster(); mbtcp = new ModbusTCPMaster();
ost::InetAddress ia(iaddr.c_str()); ost::InetAddress ia(iaddr.c_str());
mbtcp->connect(ia,port); mbtcp->connect(ia,port);
mbtcp->setForceDisconnect(force_disconnect); mbtcp->setForceDisconnect(force_disconnect);
...@@ -103,12 +103,12 @@ ModbusClient* MBTCPMaster::initMB( bool reopen ) ...@@ -103,12 +103,12 @@ ModbusClient* MBTCPMaster::initMB( bool reopen )
mbtcp->setTimeout(recv_timeout); mbtcp->setTimeout(recv_timeout);
mbtcp->setSleepPause(sleepPause_usec); mbtcp->setSleepPause(sleepPause_usec);
mbtcp->setAfterSendPause(aftersend_pause); mbtcp->setAfterSendPause(aftersend_pause);
if( dlog.is_info() ) if( dlog.is_info() )
dlog.info() << myname << "(init): ipaddr=" << iaddr << " port=" << port << endl; dlog.info() << myname << "(init): ipaddr=" << iaddr << " port=" << port << endl;
if( dlog.debugging(Debug::LEVEL9) ) if( dlog.debugging(Debug::LEVEL9) )
mbtcp->setLog(dlog); mbtcp->setLog(dlog);
} }
...@@ -175,9 +175,9 @@ void MBTCPMaster::help_print( int argc, const char* const* argv ) ...@@ -175,9 +175,9 @@ void MBTCPMaster::help_print( int argc, const char* const* argv )
cout << "--prefix-persistent-connection 0,1 - Не закрывать соединение на каждом цикле опроса" << endl; cout << "--prefix-persistent-connection 0,1 - Не закрывать соединение на каждом цикле опроса" << endl;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
MBTCPMaster* MBTCPMaster::init_mbmaster( int argc, const char* const* argv, MBTCPMaster* MBTCPMaster::init_mbmaster( int argc, const char* const* argv,
UniSetTypes::ObjectId icID, SharedMemory* ic, UniSetTypes::ObjectId icID, SharedMemory* ic,
const std::string prefix ) const std::string& prefix )
{ {
string name = conf->getArgParam("--" + prefix + "-name","MBTCPMaster1"); string name = conf->getArgParam("--" + prefix + "-name","MBTCPMaster1");
if( name.empty() ) if( name.empty() )
...@@ -191,7 +191,7 @@ MBTCPMaster* MBTCPMaster::init_mbmaster( int argc, const char* const* argv, ...@@ -191,7 +191,7 @@ MBTCPMaster* MBTCPMaster::init_mbmaster( int argc, const char* const* argv,
if( ID == UniSetTypes::DefaultObjectId ) if( ID == UniSetTypes::DefaultObjectId )
{ {
if( dlog.debugging(Debug::CRIT) ) if( dlog.debugging(Debug::CRIT) )
dlog.crit() << "(MBTCPMaster): идентификатор '" << name dlog.crit() << "(MBTCPMaster): идентификатор '" << name
<< "' не найден в конф. файле!" << "' не найден в конф. файле!"
<< " в секции " << conf->getObjectsSection() << endl; << " в секции " << conf->getObjectsSection() << endl;
return 0; return 0;
......
...@@ -193,13 +193,13 @@ class MBTCPMaster: ...@@ -193,13 +193,13 @@ class MBTCPMaster:
{ {
public: public:
MBTCPMaster( UniSetTypes::ObjectId objId, UniSetTypes::ObjectId shmID, SharedMemory* ic=0, MBTCPMaster( UniSetTypes::ObjectId objId, UniSetTypes::ObjectId shmID, SharedMemory* ic=0,
const std::string prefix="mbtcp" ); const std::string& prefix="mbtcp" );
virtual ~MBTCPMaster(); virtual ~MBTCPMaster();
/*! глобальная функция для инициализации объекта */ /*! глобальная функция для инициализации объекта */
static MBTCPMaster* init_mbmaster( int argc, const char* const* argv, static MBTCPMaster* init_mbmaster( int argc, const char* const* argv,
UniSetTypes::ObjectId shmID, SharedMemory* ic=0, UniSetTypes::ObjectId shmID, SharedMemory* ic=0,
const std::string prefix="mbtcp" ); const std::string& prefix="mbtcp" );
/*! глобальная функция для вывода help-а */ /*! глобальная функция для вывода help-а */
static void help_print( int argc, const char* const* argv ); static void help_print( int argc, const char* const* argv );
......
...@@ -10,8 +10,8 @@ using namespace std; ...@@ -10,8 +10,8 @@ using namespace std;
using namespace UniSetTypes; using namespace UniSetTypes;
using namespace UniSetExtensions; using namespace UniSetExtensions;
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
MBTCPMultiMaster::MBTCPMultiMaster( UniSetTypes::ObjectId objId, UniSetTypes::ObjectId shmId, MBTCPMultiMaster::MBTCPMultiMaster( UniSetTypes::ObjectId objId, UniSetTypes::ObjectId shmId,
SharedMemory* ic, const std::string prefix ): SharedMemory* ic, const std::string& prefix ):
MBExchange(objId,shmId,ic,prefix), MBExchange(objId,shmId,ic,prefix),
force_disconnect(true), force_disconnect(true),
pollThread(0), pollThread(0),
...@@ -134,7 +134,7 @@ checkThread(0) ...@@ -134,7 +134,7 @@ checkThread(0)
dlog.crit() << err.str() << endl; dlog.crit() << err.str() << endl;
throw UniSetTypes::SystemError(err.str()); throw UniSetTypes::SystemError(err.str());
} }
mblist.sort(); mblist.sort();
mbi = mblist.rbegin(); mbi = mblist.rbegin();
...@@ -178,7 +178,7 @@ ModbusClient* MBTCPMultiMaster::initMB( bool reopen ) ...@@ -178,7 +178,7 @@ ModbusClient* MBTCPMultiMaster::initMB( bool reopen )
if( checktime <=0 ) if( checktime <=0 )
{ {
mbi++; mbi++;
if( mbi == mblist.rend() ) if( mbi == mblist.rend() )
mbi = mblist.rbegin(); mbi = mblist.rbegin();
mbi->init(); mbi->init();
...@@ -250,7 +250,7 @@ bool MBTCPMultiMaster::MBSlaveInfo::init() ...@@ -250,7 +250,7 @@ bool MBTCPMultiMaster::MBSlaveInfo::init()
if( mbtcp->isConnection() && dlog.is_info() ) if( mbtcp->isConnection() && dlog.is_info() )
dlog.info() << "(init): " << myname << " connect OK" << endl; dlog.info() << "(init): " << myname << " connect OK" << endl;
initOK = true; initOK = true;
} }
return mbtcp->isConnection(); return mbtcp->isConnection();
...@@ -337,7 +337,7 @@ void MBTCPMultiMaster::check_thread() ...@@ -337,7 +337,7 @@ void MBTCPMultiMaster::check_thread()
catch(...){} catch(...){}
{ {
uniset_rwmutex_wrlock l(tcpMutex); uniset_rwmutex_wrlock l(tcpMutex);
it->respond = r; it->respond = r;
} }
...@@ -375,9 +375,9 @@ void MBTCPMultiMaster::help_print( int argc, const char* const* argv ) ...@@ -375,9 +375,9 @@ void MBTCPMultiMaster::help_print( int argc, const char* const* argv )
cout << " Переключение на следующий канал зависит от '--prefix-timeout'" << endl; cout << " Переключение на следующий канал зависит от '--prefix-timeout'" << endl;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
MBTCPMultiMaster* MBTCPMultiMaster::init_mbmaster( int argc, const char* const* argv, MBTCPMultiMaster* MBTCPMultiMaster::init_mbmaster( int argc, const char* const* argv,
UniSetTypes::ObjectId icID, SharedMemory* ic, UniSetTypes::ObjectId icID, SharedMemory* ic,
const std::string prefix ) const std::string& prefix )
{ {
string name = conf->getArgParam("--" + prefix + "-name","MBTCPMultiMaster1"); string name = conf->getArgParam("--" + prefix + "-name","MBTCPMultiMaster1");
if( name.empty() ) if( name.empty() )
...@@ -389,7 +389,7 @@ MBTCPMultiMaster* MBTCPMultiMaster::init_mbmaster( int argc, const char* const* ...@@ -389,7 +389,7 @@ MBTCPMultiMaster* MBTCPMultiMaster::init_mbmaster( int argc, const char* const*
ObjectId ID = conf->getObjectID(name); ObjectId ID = conf->getObjectID(name);
if( ID == UniSetTypes::DefaultObjectId ) if( ID == UniSetTypes::DefaultObjectId )
{ {
dlog.crit() << "(MBTCPMultiMaster): идентификатор '" << name dlog.crit() << "(MBTCPMultiMaster): идентификатор '" << name
<< "' не найден в конф. файле!" << "' не найден в конф. файле!"
<< " в секции " << conf->getObjectsSection() << endl; << " в секции " << conf->getObjectsSection() << endl;
return 0; return 0;
......
...@@ -215,13 +215,13 @@ class MBTCPMultiMaster: ...@@ -215,13 +215,13 @@ class MBTCPMultiMaster:
{ {
public: public:
MBTCPMultiMaster( UniSetTypes::ObjectId objId, UniSetTypes::ObjectId shmID, SharedMemory* ic=0, MBTCPMultiMaster( UniSetTypes::ObjectId objId, UniSetTypes::ObjectId shmID, SharedMemory* ic=0,
const std::string prefix="mbtcp" ); const std::string& prefix="mbtcp" );
virtual ~MBTCPMultiMaster(); virtual ~MBTCPMultiMaster();
/*! глобальная функция для инициализации объекта */ /*! глобальная функция для инициализации объекта */
static MBTCPMultiMaster* init_mbmaster( int argc, const char* const* argv, static MBTCPMultiMaster* init_mbmaster( int argc, const char* const* argv,
UniSetTypes::ObjectId shmID, SharedMemory* ic=0, UniSetTypes::ObjectId shmID, SharedMemory* ic=0,
const std::string prefix="mbtcp" ); const std::string& prefix="mbtcp" );
/*! глобальная функция для вывода help-а */ /*! глобальная функция для вывода help-а */
static void help_print( int argc, const char* const* argv ); static void help_print( int argc, const char* const* argv );
......
...@@ -9,7 +9,7 @@ using namespace UniSetTypes; ...@@ -9,7 +9,7 @@ using namespace UniSetTypes;
using namespace UniSetExtensions; using namespace UniSetExtensions;
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
RTUExchange::RTUExchange( UniSetTypes::ObjectId objId, UniSetTypes::ObjectId shmId, SharedMemory* ic, RTUExchange::RTUExchange( UniSetTypes::ObjectId objId, UniSetTypes::ObjectId shmId, SharedMemory* ic,
const std::string prefix_ ): const std::string& prefix_ ):
MBExchange(objId,shmId,ic,prefix_), MBExchange(objId,shmId,ic,prefix_),
mbrtu(0), mbrtu(0),
defSpeed(ComPort::ComSpeed38400), defSpeed(ComPort::ComSpeed38400),
...@@ -329,7 +329,7 @@ void RTUExchange::poll() ...@@ -329,7 +329,7 @@ void RTUExchange::poll()
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
RTUExchange* RTUExchange::init_rtuexchange( int argc, const char* const* argv, UniSetTypes::ObjectId icID, RTUExchange* RTUExchange::init_rtuexchange( int argc, const char* const* argv, UniSetTypes::ObjectId icID,
SharedMemory* ic, const std::string prefix ) SharedMemory* ic, const std::string& prefix )
{ {
string name = conf->getArgParam("--" + prefix + "-name","RTUExchange1"); string name = conf->getArgParam("--" + prefix + "-name","RTUExchange1");
if( name.empty() ) if( name.empty() )
......
...@@ -14,13 +14,13 @@ class RTUExchange: ...@@ -14,13 +14,13 @@ class RTUExchange:
{ {
public: public:
RTUExchange( UniSetTypes::ObjectId objId, UniSetTypes::ObjectId shmID, RTUExchange( UniSetTypes::ObjectId objId, UniSetTypes::ObjectId shmID,
SharedMemory* ic=0, const std::string prefix="rs" ); SharedMemory* ic=0, const std::string& prefix="rs" );
virtual ~RTUExchange(); virtual ~RTUExchange();
/*! глобальная функция для инициализации объекта */ /*! глобальная функция для инициализации объекта */
static RTUExchange* init_rtuexchange( int argc, const char* const* argv, static RTUExchange* init_rtuexchange( int argc, const char* const* argv,
UniSetTypes::ObjectId shmID, SharedMemory* ic=0, UniSetTypes::ObjectId shmID, SharedMemory* ic=0,
const std::string prefix="rs" ); const std::string& prefix="rs" );
/*! глобальная функция для вывода help-а */ /*! глобальная функция для вывода help-а */
static void help_print( int argc, const char* const* argv ); static void help_print( int argc, const char* const* argv );
......
...@@ -12,7 +12,7 @@ using namespace UniSetTypes; ...@@ -12,7 +12,7 @@ using namespace UniSetTypes;
using namespace UniSetExtensions; using namespace UniSetExtensions;
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
RRDServer::RRDServer( UniSetTypes::ObjectId objId, xmlNode* cnode, UniSetTypes::ObjectId shmId, SharedMemory* ic, RRDServer::RRDServer( UniSetTypes::ObjectId objId, xmlNode* cnode, UniSetTypes::ObjectId shmId, SharedMemory* ic,
const string prefix, DebugStream& log ): const string& prefix, DebugStream& log ):
UObject_SK(objId,cnode), UObject_SK(objId,cnode),
shm( new SMInterface(shmId,&ui,objId,ic) ), shm( new SMInterface(shmId,&ui,objId,ic) ),
prefix(prefix) prefix(prefix)
...@@ -59,9 +59,9 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID ) ...@@ -59,9 +59,9 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID )
bool overwrite = it.getPIntProp("overwrite",0); bool overwrite = it.getPIntProp("overwrite",0);
if( RRDServer::dlog.is_info() ) if( RRDServer::dlog.is_info() )
RRDServer::dlog.info() << myname << "(init): add rrd: file='" << fname RRDServer::dlog.info() << myname << "(init): add rrd: file='" << fname
<< " " << ff << "='" << fv << " " << ff << "='" << fv
<< "' create='" << cf << "'" << "' create='" << cf << "'"
<< " step=" << rrdstep << " step=" << rrdstep
<< endl; << endl;
...@@ -188,7 +188,7 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID ) ...@@ -188,7 +188,7 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID )
if( !overwrite && file_exist(fname) ) if( !overwrite && file_exist(fname) )
{ {
if( RRDServer::dlog.is_info() ) if( RRDServer::dlog.is_info() )
RRDServer::dlog.info() << myname << "(init): ignore create file='" << fname RRDServer::dlog.info() << myname << "(init): ignore create file='" << fname
<< "'. File exist... overwrite=0." << endl; << "'. File exist... overwrite=0." << endl;
} }
else else
...@@ -214,11 +214,11 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID ) ...@@ -214,11 +214,11 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID )
rrdlist.push_back(rrd); rrdlist.push_back(rrd);
} }
/* catch( Exception& ex ) /* catch( Exception& ex )
{ {
RRDServer::dlog.crit() << myname << "(init) " << ex << std::endl; RRDServer::dlog.crit() << myname << "(init) " << ex << std::endl;
} }
catch( ... ) catch( ... )
{ {
RRDServer::dlog.crit() << myname << "(init): catch ..." << std::endl; RRDServer::dlog.crit() << myname << "(init): catch ..." << std::endl;
} }
*/ */
...@@ -228,14 +228,14 @@ void RRDServer::help_print( int argc, const char* const* argv ) ...@@ -228,14 +228,14 @@ void RRDServer::help_print( int argc, const char* const* argv )
{ {
cout << " Default prefix='rrd'" << endl; cout << " Default prefix='rrd'" << endl;
cout << "--prefix-name - ID for rrdstorage. Default: RRDServer1. " << endl; cout << "--prefix-name - ID for rrdstorage. Default: RRDServer1. " << endl;
cout << "--prefix-confnode - configuration section name. Default: <NAME name='NAME'...> " << endl; cout << "--prefix-confnode - configuration section name. Default: <NAME name='NAME'...> " << endl;
cout << "--prefix-heartbeat-id name - ID for heartbeat sensor." << endl; cout << "--prefix-heartbeat-id name - ID for heartbeat sensor." << endl;
cout << "--prefix-heartbeat-max val - max value for heartbeat sensor." << endl; cout << "--prefix-heartbeat-max val - max value for heartbeat sensor." << endl;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
RRDServer* RRDServer::init_rrdstorage( int argc, const char* const* argv, RRDServer* RRDServer::init_rrdstorage( int argc, const char* const* argv,
UniSetTypes::ObjectId icID, SharedMemory* ic, UniSetTypes::ObjectId icID, SharedMemory* ic,
const std::string prefix ) const std::string& prefix )
{ {
string name = conf->getArgParam("--" + prefix + "-name","RRDServer"); string name = conf->getArgParam("--" + prefix + "-name","RRDServer");
if( name.empty() ) if( name.empty() )
...@@ -247,7 +247,7 @@ RRDServer* RRDServer::init_rrdstorage( int argc, const char* const* argv, ...@@ -247,7 +247,7 @@ RRDServer* RRDServer::init_rrdstorage( int argc, const char* const* argv,
ObjectId ID = conf->getObjectID(name); ObjectId ID = conf->getObjectID(name);
if( ID == UniSetTypes::DefaultObjectId ) if( ID == UniSetTypes::DefaultObjectId )
{ {
UniSetExtensions::dlog.crit() << "(RRDServer): Not found ID for '" << name UniSetExtensions::dlog.crit() << "(RRDServer): Not found ID for '" << name
<< " in '" << conf->getObjectsSection() << "' section" << endl; << " in '" << conf->getObjectsSection() << "' section" << endl;
return 0; return 0;
} }
...@@ -276,7 +276,7 @@ void RRDServer::askSensors( UniversalIO::UIOCommand cmd ) ...@@ -276,7 +276,7 @@ void RRDServer::askSensors( UniversalIO::UIOCommand cmd )
try try
{ {
shm->askSensor(s->first,cmd); shm->askSensor(s->first,cmd);
} }
catch( std::exception& ex ) catch( std::exception& ex )
{ {
if( RRDServer::dlog.is_crit() ) if( RRDServer::dlog.is_crit() )
...@@ -296,7 +296,7 @@ void RRDServer::sysCommand( UniSetTypes::SystemMessage* sm ) ...@@ -296,7 +296,7 @@ void RRDServer::sysCommand( UniSetTypes::SystemMessage* sm )
try try
{ {
askTimer(it->tid,it->sec*1000); askTimer(it->tid,it->sec*1000);
} }
catch( std::exception& ex ) catch( std::exception& ex )
{ {
if( RRDServer::dlog.is_crit() ) if( RRDServer::dlog.is_crit() )
......
...@@ -59,13 +59,13 @@ class RRDServer: ...@@ -59,13 +59,13 @@ class RRDServer:
{ {
public: public:
RRDServer( UniSetTypes::ObjectId objId, xmlNode* cnode, UniSetTypes::ObjectId shmID, SharedMemory* ic=0, RRDServer( UniSetTypes::ObjectId objId, xmlNode* cnode, UniSetTypes::ObjectId shmID, SharedMemory* ic=0,
const std::string prefix="rrd", DebugStream& log=UniSetExtensions::dlog ); const std::string& prefix="rrd", DebugStream& log=UniSetExtensions::dlog );
virtual ~RRDServer(); virtual ~RRDServer();
/*! глобальная функция для инициализации объекта */ /*! глобальная функция для инициализации объекта */
static RRDServer* init_rrdstorage( int argc, const char* const* argv, static RRDServer* init_rrdstorage( int argc, const char* const* argv,
UniSetTypes::ObjectId shmID, SharedMemory* ic=0, UniSetTypes::ObjectId shmID, SharedMemory* ic=0,
const std::string prefix="rrd" ); const std::string& prefix="rrd" );
/*! глобальная функция для вывода help-а */ /*! глобальная функция для вывода help-а */
static void help_print( int argc, const char* const* argv ); static void help_print( int argc, const char* const* argv );
......
...@@ -8,8 +8,8 @@ using namespace std; ...@@ -8,8 +8,8 @@ using namespace std;
using namespace UniSetTypes; using namespace UniSetTypes;
using namespace UniSetExtensions; using namespace UniSetExtensions;
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
UNetSender::UNetSender( const std::string s_host, const ost::tpport_t port, SMInterface* smi, UNetSender::UNetSender( const std::string& s_host, const ost::tpport_t port, SMInterface* smi,
const std::string s_f, const std::string s_val, SharedMemory* ic ): const std::string& s_f, const std::string& s_val, SharedMemory* ic ):
s_field(s_f), s_field(s_f),
s_fvalue(s_val), s_fvalue(s_val),
shm(smi), shm(smi),
......
...@@ -19,8 +19,8 @@ ...@@ -19,8 +19,8 @@
class UNetSender class UNetSender
{ {
public: public:
UNetSender( const std::string host, const ost::tpport_t port, SMInterface* smi, UNetSender( const std::string& host, const ost::tpport_t port, SMInterface* smi,
const std::string s_field="", const std::string s_fvalue="", SharedMemory* ic=0 ); const std::string& s_field="", const std::string& s_fvalue="", SharedMemory* ic=0 );
~UNetSender(); ~UNetSender();
......
...@@ -18,7 +18,7 @@ UniExchange::NetNodeInfo::NetNodeInfo(): ...@@ -18,7 +18,7 @@ UniExchange::NetNodeInfo::NetNodeInfo():
} }
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
UniExchange::UniExchange( UniSetTypes::ObjectId id, UniSetTypes::ObjectId shmID, UniExchange::UniExchange( UniSetTypes::ObjectId id, UniSetTypes::ObjectId shmID,
SharedMemory* ic, const std::string prefix ): SharedMemory* ic, const std::string& prefix ):
IOController(id), IOController(id),
shm(0), shm(0),
polltime(200), polltime(200),
...@@ -64,7 +64,7 @@ smReadyTimeout(15000) ...@@ -64,7 +64,7 @@ smReadyTimeout(15000)
for( ; it.getCurrent(); it.goNext() ) for( ; it.getCurrent(); it.goNext() )
{ {
UniSetTypes::ObjectId id; UniSetTypes::ObjectId id;
string n(it.getProp("id")); string n(it.getProp("id"));
if( !n.empty() ) if( !n.empty() )
id = it.getIntProp("id"); id = it.getIntProp("id");
...@@ -73,7 +73,7 @@ smReadyTimeout(15000) ...@@ -73,7 +73,7 @@ smReadyTimeout(15000)
id = conf->getControllerID( it.getProp("name") ); id = conf->getControllerID( it.getProp("name") );
n = it.getProp("name"); n = it.getProp("name");
} }
if( id == DefaultObjectId ) if( id == DefaultObjectId )
throw SystemError("(UniExchange): Uknown ID for " + n ); throw SystemError("(UniExchange): Uknown ID for " + n );
...@@ -90,7 +90,7 @@ smReadyTimeout(15000) ...@@ -90,7 +90,7 @@ smReadyTimeout(15000)
if( id == DefaultObjectId ) if( id == DefaultObjectId )
throw SystemError("(UniExchange): Uknown ID for node=" + n1 ); throw SystemError("(UniExchange): Uknown ID for node=" + n1 );
NetNodeInfo ni; NetNodeInfo ni;
ni.oref = CORBA::Object::_nil(); ni.oref = CORBA::Object::_nil();
ni.id = id; ni.id = id;
...@@ -101,7 +101,7 @@ smReadyTimeout(15000) ...@@ -101,7 +101,7 @@ smReadyTimeout(15000)
nlst.push_back(ni); nlst.push_back(ni);
} }
} }
if( shm->isLocalwork() ) if( shm->isLocalwork() )
{ {
readConfiguration(); readConfiguration();
...@@ -168,7 +168,7 @@ void UniExchange::execute() ...@@ -168,7 +168,7 @@ void UniExchange::execute()
{ {
dlog.info() << myname << "(execute): catch ..." << endl; dlog.info() << myname << "(execute): catch ..." << endl;
} }
if( it->sidConnection != DefaultObjectId ) if( it->sidConnection != DefaultObjectId )
{ {
try try
...@@ -179,8 +179,8 @@ void UniExchange::execute() ...@@ -179,8 +179,8 @@ void UniExchange::execute()
{ {
if( dlog.is_crit() ) if( dlog.is_crit() )
dlog.crit()<< myname << "(execute): sensor not avalible " dlog.crit()<< myname << "(execute): sensor not avalible "
<< conf->oind->getNameById( it->sidConnection) << conf->oind->getNameById( it->sidConnection)
<< endl; << endl;
} }
} }
...@@ -193,7 +193,7 @@ void UniExchange::execute() ...@@ -193,7 +193,7 @@ void UniExchange::execute()
updateLocalData(); updateLocalData();
ptUpdate.reset(); ptUpdate.reset();
} }
msleep(polltime); msleep(polltime);
} }
} }
...@@ -207,7 +207,7 @@ void UniExchange::NetNodeInfo::update( IOController_i::ShortMapSeq_var& map, SMI ...@@ -207,7 +207,7 @@ void UniExchange::NetNodeInfo::update( IOController_i::ShortMapSeq_var& map, SMI
// init new map... // init new map...
smap.resize(map->length()); smap.resize(map->length());
} }
int size = map->length(); int size = map->length();
for( int i=0; i<size; i++ ) for( int i=0; i<size; i++ )
{ {
...@@ -221,7 +221,7 @@ void UniExchange::NetNodeInfo::update( IOController_i::ShortMapSeq_var& map, SMI ...@@ -221,7 +221,7 @@ void UniExchange::NetNodeInfo::update( IOController_i::ShortMapSeq_var& map, SMI
} }
s->val = m->value; s->val = m->value;
try try
{ {
/* /*
...@@ -285,7 +285,7 @@ void UniExchange::updateLocalData() ...@@ -285,7 +285,7 @@ void UniExchange::updateLocalData()
dlog.warn() << "(update): catch ..." << endl; dlog.warn() << "(update): catch ..." << endl;
} }
} }
init_ok = true; init_ok = true;
} }
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
...@@ -346,12 +346,12 @@ void UniExchange::sysCommand( SystemMessage* sm ) ...@@ -346,12 +346,12 @@ void UniExchange::sysCommand( SystemMessage* sm )
askSensors(UniversalIO::UIONotify); askSensors(UniversalIO::UIONotify);
break; break;
} }
case SystemMessage::FoldUp: case SystemMessage::FoldUp:
case SystemMessage::Finish: case SystemMessage::Finish:
askSensors(UniversalIO::UIODontNotify); askSensors(UniversalIO::UIODontNotify);
break; break;
case SystemMessage::WatchDog: case SystemMessage::WatchDog:
askSensors(UniversalIO::UIONotify); askSensors(UniversalIO::UIONotify);
break; break;
...@@ -372,12 +372,12 @@ void UniExchange::sensorInfo( UniSetTypes::SensorMessage* sm ) ...@@ -372,12 +372,12 @@ void UniExchange::sensorInfo( UniSetTypes::SensorMessage* sm )
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void UniExchange::timerInfo( UniSetTypes::TimerMessage* tm ) void UniExchange::timerInfo( UniSetTypes::TimerMessage* tm )
{ {
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
UniExchange* UniExchange::init_exchange( int argc, const char* const* argv, UniExchange* UniExchange::init_exchange( int argc, const char* const* argv,
UniSetTypes::ObjectId icID, SharedMemory* ic, UniSetTypes::ObjectId icID, SharedMemory* ic,
const std::string prefix ) const std::string& prefix )
{ {
string p("--" + prefix + "-name"); string p("--" + prefix + "-name");
string nm(UniSetTypes::getArgParam(p,argc,argv,"UniExchange")); string nm(UniSetTypes::getArgParam(p,argc,argv,"UniExchange"));
...@@ -415,7 +415,7 @@ void UniExchange::readConfiguration() ...@@ -415,7 +415,7 @@ void UniExchange::readConfiguration()
if( UniSetTypes::check_filter(it,s_field,s_fvalue) ) if( UniSetTypes::check_filter(it,s_field,s_fvalue) )
initItem(it); initItem(it);
} }
// readconf_ok = true; // readconf_ok = true;
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
...@@ -440,11 +440,11 @@ bool UniExchange::initItem( UniXML_iterator& it ) ...@@ -440,11 +440,11 @@ bool UniExchange::initItem( UniXML_iterator& it )
if( i.id <=0 ) if( i.id <=0 )
i.id = DefaultObjectId; i.id = DefaultObjectId;
} }
if( i.id == DefaultObjectId ) if( i.id == DefaultObjectId )
{ {
if( dlog ) if( dlog )
dlog.crit() << myname << "(initItem): Unknown ID for " dlog.crit() << myname << "(initItem): Unknown ID for "
<< it.getProp("name") << endl; << it.getProp("name") << endl;
return false; return false;
} }
...@@ -453,7 +453,7 @@ bool UniExchange::initItem( UniXML_iterator& it ) ...@@ -453,7 +453,7 @@ bool UniExchange::initItem( UniXML_iterator& it )
if( i.type == UniversalIO::UnknownIOType ) if( i.type == UniversalIO::UnknownIOType )
{ {
if( dlog ) if( dlog )
dlog.crit() << myname << "(initItem): Unknown iotype= " dlog.crit() << myname << "(initItem): Unknown iotype= "
<< it.getProp("iotype") << " for " << it.getProp("name") << endl; << it.getProp("iotype") << " for " << it.getProp("name") << endl;
return false; return false;
} }
......
...@@ -11,14 +11,14 @@ ...@@ -11,14 +11,14 @@
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
/*! /*!
\page pageUniExchange Обмен между узлами на основе TCP/IP (UniNet). \page pageUniExchange Обмен между узлами на основе TCP/IP (UniNet).
\par Обмен построен на основе функций IOControl-ера получения списка дискретных \par Обмен построен на основе функций IOControl-ера получения списка дискретных
и аналоговых датчиков. Работает через удалённые CORBA-вызовы. и аналоговых датчиков. Работает через удалённые CORBA-вызовы.
\par Процесс считывает из конфигурационного файла список узлов которые необходимо \par Процесс считывает из конфигурационного файла список узлов которые необходимо
опрашивать (точнее список IOControl-еров), запускается поток обмена, в котором опрашивать (точнее список IOControl-еров), запускается поток обмена, в котором
эти узлы ПОСЛЕДОВАТЕЛЬНО опрашиваются.. эти узлы ПОСЛЕДОВАТЕЛЬНО опрашиваются..
\par Пример записи в конфигурационном файле для опроса пяти узлов... \par Пример записи в конфигурационном файле для опроса пяти узлов...
\code \code
<UniExchange name="UniExchange"> <UniExchange name="UniExchange">
...@@ -36,15 +36,15 @@ class UniExchange: ...@@ -36,15 +36,15 @@ class UniExchange:
public IOController public IOController
{ {
public: public:
UniExchange( UniSetTypes::ObjectId id, UniSetTypes::ObjectId shmID, UniExchange( UniSetTypes::ObjectId id, UniSetTypes::ObjectId shmID,
SharedMemory* ic=0, const std::string prefix="unet" ); SharedMemory* ic=0, const std::string& prefix="unet" );
virtual ~UniExchange(); virtual ~UniExchange();
void execute(); void execute();
static UniExchange* init_exchange( int argc, const char* const* argv, static UniExchange* init_exchange( int argc, const char* const* argv,
UniSetTypes::ObjectId shmID, SharedMemory* ic=0, UniSetTypes::ObjectId shmID, SharedMemory* ic=0,
const std::string prefix="unet" ); const std::string& prefix="unet" );
/*! глобальная функция для вывода help-а */ /*! глобальная функция для вывода help-а */
static void help_print( int argc, const char** argv ); static void help_print( int argc, const char** argv );
...@@ -64,7 +64,7 @@ class UniExchange: ...@@ -64,7 +64,7 @@ class UniExchange:
std::string s_field; std::string s_field;
std::string s_fvalue; std::string s_fvalue;
SMInterface* shm; SMInterface* shm;
struct SInfo struct SInfo
{ {
SInfo(): SInfo():
...@@ -79,13 +79,13 @@ class UniExchange: ...@@ -79,13 +79,13 @@ class UniExchange:
UniversalIO::IOType type; UniversalIO::IOType type;
UniSetTypes::uniset_rwmutex val_lock; UniSetTypes::uniset_rwmutex val_lock;
}; };
typedef std::vector<SInfo> SList; typedef std::vector<SInfo> SList;
struct NetNodeInfo struct NetNodeInfo
{ {
NetNodeInfo(); NetNodeInfo();
CORBA::Object_var oref; CORBA::Object_var oref;
IOController_i_var shm; IOController_i_var shm;
UniSetTypes::ObjectId id; UniSetTypes::ObjectId id;
...@@ -93,10 +93,10 @@ class UniExchange: ...@@ -93,10 +93,10 @@ class UniExchange:
UniSetTypes::ObjectId sidConnection; /*!< датчик связи */ UniSetTypes::ObjectId sidConnection; /*!< датчик связи */
IOController::IOStateList::iterator conn_it; IOController::IOStateList::iterator conn_it;
SList smap; SList smap;
void update(IOController_i::ShortMapSeq_var& map, SMInterface* shm ); void update(IOController_i::ShortMapSeq_var& map, SMInterface* shm );
}; };
typedef std::list<NetNodeInfo> NetNodeList; typedef std::list<NetNodeInfo> NetNodeList;
NetNodeList nlst; NetNodeList nlst;
...@@ -105,15 +105,15 @@ class UniExchange: ...@@ -105,15 +105,15 @@ class UniExchange:
bool initItem( UniXML_iterator& it ); bool initItem( UniXML_iterator& it );
void updateLocalData(); void updateLocalData();
void initIterators(); void initIterators();
int polltime; int polltime;
PassiveTimer ptUpdate; PassiveTimer ptUpdate;
bool init_ok; bool init_ok;
SList mymap; SList mymap;
size_t maxIndex; size_t maxIndex;
int smReadyTimeout; int smReadyTimeout;
private: private:
}; };
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
......
...@@ -25,7 +25,7 @@ class Calibration ...@@ -25,7 +25,7 @@ class Calibration
{ {
public: public:
Calibration(); Calibration();
Calibration( const std::string name, const std::string confile="calibration.xml" ); Calibration( const std::string& name, const std::string& confile="calibration.xml" );
Calibration( xmlNode* node ); Calibration( xmlNode* node );
~Calibration(); ~Calibration();
...@@ -75,7 +75,7 @@ class Calibration ...@@ -75,7 +75,7 @@ class Calibration
\param confile - файл содержащий данные \param confile - файл содержащий данные
\param node - если node!=0, то используется этот узел... \param node - если node!=0, то используется этот узел...
*/ */
void build( const std::string name, const std::string confile, xmlNode* node=0 ); void build( const std::string& name, const std::string& confile, xmlNode* node=0 );
/*! Тип для хранения текущего значения */ /*! Тип для хранения текущего значения */
......
...@@ -101,7 +101,7 @@ myname("") ...@@ -101,7 +101,7 @@ myname("")
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
Calibration::Calibration( const string name, const string confile ): Calibration::Calibration( const string& name, const string& confile ):
minRaw(0),maxRaw(0),minVal(0),maxVal(0),rightVal(0),leftVal(0),rightRaw(0),leftRaw(0), minRaw(0),maxRaw(0),minVal(0),maxVal(0),rightVal(0),leftVal(0),rightRaw(0),leftRaw(0),
myname(name) myname(name)
{ {
...@@ -121,7 +121,7 @@ Calibration::~Calibration() ...@@ -121,7 +121,7 @@ Calibration::~Calibration()
{ {
} }
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
void Calibration::build( const string name, const string confile, xmlNode* root ) void Calibration::build( const string& name, const string& confile, xmlNode* root )
{ {
UniXML xml; UniXML xml;
try try
......
...@@ -43,7 +43,7 @@ namespace UniSetTypes ...@@ -43,7 +43,7 @@ namespace UniSetTypes
LimitTimers():Exception("LimitTimers"){ printException(); } LimitTimers():Exception("LimitTimers"){ printException(); }
/*! Конструктор позволяющий вывести в сообщении об ошибке дополнительную информацию err */ /*! Конструктор позволяющий вывести в сообщении об ошибке дополнительную информацию err */
LimitTimers(const std::string err):Exception(err){ printException(); } LimitTimers(const std::string& err):Exception(err){ printException(); }
}; };
}; };
//@} //@}
......
...@@ -66,37 +66,37 @@ public: ...@@ -66,37 +66,37 @@ public:
TwoBits=3 TwoBits=3
}; };
ComPort( const std::string comDevice, bool nocreate=false ); ComPort( const std::string& comDevice, bool nocreate=false );
virtual ~ComPort(); virtual ~ComPort();
inline std::string getDevice(){ return dev; } inline std::string getDevice(){ return dev; }
void setSpeed( Speed s ); void setSpeed( Speed s );
void setSpeed( std::string speed ); void setSpeed( const std::string& speed );
inline Speed getSpeed(){ return speed; } inline Speed getSpeed(){ return speed; }
static Speed getSpeed( const std::string s ); static Speed getSpeed( const std::string& s );
static std::string getSpeed( Speed s ); static std::string getSpeed( Speed s );
void setParity(Parity); void setParity(Parity);
void setCharacterSize(CharacterSize); void setCharacterSize(CharacterSize);
void setStopBits(StopBits sBit); void setStopBits(StopBits sBit);
virtual void setTimeout(int timeout); virtual void setTimeout(int timeout);
void setWaiting(bool waiting); void setWaiting(bool waiting);
inline int getTimeout(){ return uTimeout*1000; } // msec inline int getTimeout(){ return uTimeout*1000; } // msec
virtual unsigned char receiveByte(); virtual unsigned char receiveByte();
virtual void sendByte(unsigned char x); virtual void sendByte(unsigned char x);
virtual int receiveBlock(unsigned char*msg,int len); virtual int receiveBlock(unsigned char*msg,int len);
virtual int sendBlock(unsigned char*msg,int len); virtual int sendBlock(unsigned char*msg,int len);
void setBlocking(bool blocking); void setBlocking(bool blocking);
virtual void cleanupChannel(); virtual void cleanupChannel();
virtual void reopen(); virtual void reopen();
protected: protected:
void openPort(); void openPort();
...@@ -109,9 +109,9 @@ protected: ...@@ -109,9 +109,9 @@ protected:
bool waiting; bool waiting;
Speed speed; Speed speed;
std::string dev; std::string dev;
virtual unsigned char m_receiveByte( bool wait ); virtual unsigned char m_receiveByte( bool wait );
private: private:
struct termios oldTermios; struct termios oldTermios;
}; };
......
...@@ -45,8 +45,8 @@ class SystemGuard; ...@@ -45,8 +45,8 @@ class SystemGuard;
namespace UniSetTypes namespace UniSetTypes
{ {
/*! /*!
Конфигуратор системы Конфигуратор системы
\note В случае обнаружения критической ошибки в настроечном файле файле. \note В случае обнаружения критической ошибки в настроечном файле файле.
Вырабатывает исключение и прекращает работу. Вырабатывает исключение и прекращает работу.
*/ */
class Configuration class Configuration
...@@ -55,30 +55,30 @@ namespace UniSetTypes ...@@ -55,30 +55,30 @@ namespace UniSetTypes
virtual ~Configuration(); virtual ~Configuration();
/*! конфигурирование xml-файлом ( предпочтительный способ ) */ /*! конфигурирование xml-файлом ( предпочтительный способ ) */
Configuration( int argc, const char* const* argv, const std::string xmlfile="" ); Configuration( int argc, const char* const* argv, const std::string& xmlfile="" );
/*! конфигурирование xml-файлом */ /*! конфигурирование xml-файлом */
Configuration( int argc, const char* const* argv, ObjectIndex* oind, const std::string xmlfile="" ); Configuration( int argc, const char* const* argv, ObjectIndex* oind, const std::string& xmlfile="" );
/*! устаревший вариант, для поддержки старых проектов */ /*! устаревший вариант, для поддержки старых проектов */
Configuration( int argc, const char* const* argv, Configuration( int argc, const char* const* argv,
const std::string fileConf, UniSetTypes::ObjectInfo* objectsMap ); const std::string& fileConf, UniSetTypes::ObjectInfo* objectsMap );
/// Получить значение полей с путём path /// Получить значение полей с путём path
std::string getField(const std::string path); std::string getField(const std::string& path);
/// Получить число из поле с путём path /// Получить число из поле с путём path
int getIntField(const std::string path); int getIntField(const std::string& path);
/// Получить число из поле с путём path (или def, если значение <= 0) /// Получить число из поле с путём path (или def, если значение <= 0)
int getPIntField(const std::string path, int def); int getPIntField(const std::string& path, int def);
xmlNode* findNode(xmlNode* node, const std::string searchnode, const std::string name = "" );
xmlNode* findNode(xmlNode* node, const std::string& searchnode, const std::string& name="" );
// Получить узел // Получить узел
xmlNode* getNode(const std::string& path); xmlNode* getNode(const std::string& path);
// Получить указанное свойство пути // Получить указанное свойство пути
std::string getProp(xmlNode*, const std::string name); std::string getProp(xmlNode*, const std::string& name);
int getIntProp(xmlNode*, const std::string name); int getIntProp(xmlNode*, const std::string& name);
int getPIntProp(xmlNode*, const std::string name, int def); int getPIntProp(xmlNode*, const std::string& name, int def);
// Получить указанное свойство по имени узла // Получить указанное свойство по имени узла
std::string getPropByNodeName(const std::string& nodename, const std::string& prop); std::string getPropByNodeName(const std::string& nodename, const std::string& prop);
...@@ -90,8 +90,8 @@ namespace UniSetTypes ...@@ -90,8 +90,8 @@ namespace UniSetTypes
inline ObjectId getDBServer() const { return localDBServer; } /*!< получение идентификатора DBServer-а */ inline ObjectId getDBServer() const { return localDBServer; } /*!< получение идентификатора DBServer-а */
inline ObjectId getLocalNode() const { return localNode; } /*!< получение идентификатора локального узла */ inline ObjectId getLocalNode() const { return localNode; } /*!< получение идентификатора локального узла */
inline std::string getLocalNodeName() const { return localNodeName; } /*!< получение название локального узла */ inline std::string getLocalNodeName() const { return localNodeName; } /*!< получение название локального узла */
inline const std::string getNSName() const { return NSName; } inline const std::string getNSName() const { return NSName; }
// repository // repository
inline std::string getRootSection() const { return secRoot; } inline std::string getRootSection() const { return secRoot; }
inline std::string getSensorsSection() const { return secSensors; } inline std::string getSensorsSection() const { return secSensors; }
...@@ -106,18 +106,18 @@ namespace UniSetTypes ...@@ -106,18 +106,18 @@ namespace UniSetTypes
xmlNode* getXMLNodesSection(); xmlNode* getXMLNodesSection();
xmlNode* getXMLObjectNode( UniSetTypes::ObjectId ); xmlNode* getXMLObjectNode( UniSetTypes::ObjectId );
UniversalIO::IOType getIOType( UniSetTypes::ObjectId ); UniversalIO::IOType getIOType( UniSetTypes::ObjectId );
UniversalIO::IOType getIOType( const std::string name ); UniversalIO::IOType getIOType( const std::string& name );
// net // net
inline unsigned int getCountOfNet() const { return countOfNet; } inline unsigned int getCountOfNet() const { return countOfNet; }
inline unsigned int getRepeatTimeout() const { return repeatTimeout; } inline unsigned int getRepeatTimeout() const { return repeatTimeout; }
inline unsigned int getRepeatCount() const { return repeatCount; } inline unsigned int getRepeatCount() const { return repeatCount; }
UniSetTypes::ObjectId getSensorID( const std::string name ); UniSetTypes::ObjectId getSensorID( const std::string& name );
UniSetTypes::ObjectId getControllerID( const std::string name ); UniSetTypes::ObjectId getControllerID( const std::string& name );
UniSetTypes::ObjectId getObjectID( const std::string name ); UniSetTypes::ObjectId getObjectID( const std::string& name );
UniSetTypes::ObjectId getServiceID( const std::string name ); UniSetTypes::ObjectId getServiceID( const std::string& name );
UniSetTypes::ObjectId getNodeID( const std::string name, const std::string alias="" ); UniSetTypes::ObjectId getNodeID( const std::string& name, const std::string& alias="" );
inline const std::string getConfFileName() const { return fileConfName; } inline const std::string getConfFileName() const { return fileConfName; }
inline std::string getImagesDir() const { return imagesDir; } // временно inline std::string getImagesDir() const { return imagesDir; } // временно
...@@ -135,14 +135,14 @@ namespace UniSetTypes ...@@ -135,14 +135,14 @@ namespace UniSetTypes
inline bool isLocalIOR(){ return localIOR; } inline bool isLocalIOR(){ return localIOR; }
inline bool isTransientIOR(){ return transientIOR; } inline bool isTransientIOR(){ return transientIOR; }
/*! получить значение указанного параметра, или значение по умолчанию */ /*! получить значение указанного параметра, или значение по умолчанию */
std::string getArgParam(const std::string name, const std::string defval=""); std::string getArgParam(const std::string& name, const std::string& defval="");
/*! получить числовое значение параметра, если не число, то 0. Если параметра нет, используется значение defval */ /*! получить числовое значение параметра, если не число, то 0. Если параметра нет, используется значение defval */
int getArgInt(const std::string name, const std::string defval=""); int getArgInt(const std::string& name, const std::string& defval="");
/*! получить числовое значение параметра, но если оно не положительное, вернуть defval */ /*! получить числовое значение параметра, но если оно не положительное, вернуть defval */
int getArgPInt(const std::string name, int defval); int getArgPInt(const std::string& name, int defval);
int getArgPInt(const std::string name, const std::string strdefval, int defval); int getArgPInt(const std::string& name, const std::string& strdefval, int defval);
xmlNode* initDebug( DebugStream& deb, const std::string& nodename ); xmlNode* initDebug( DebugStream& deb, const std::string& nodename );
...@@ -155,10 +155,10 @@ namespace UniSetTypes ...@@ -155,10 +155,10 @@ namespace UniSetTypes
{ {
return lnodes.end(); return lnodes.end();
} }
/*! интерфейс к карте объектов */ /*! интерфейс к карте объектов */
ObjectIndex* oind; ObjectIndex* oind;
/*! интерфейс к работе с локальнымми ior-файлами */ /*! интерфейс к работе с локальнымми ior-файлами */
IORFile iorfile; IORFile iorfile;
...@@ -172,18 +172,18 @@ namespace UniSetTypes ...@@ -172,18 +172,18 @@ namespace UniSetTypes
Configuration(); Configuration();
virtual void initConfiguration(int argc, const char* const* argv); virtual void initConfiguration(int argc, const char* const* argv);
void createNodesList(); void createNodesList();
virtual void initNode( UniSetTypes::NodeInfo& ninfo, UniXML_iterator& it); virtual void initNode( UniSetTypes::NodeInfo& ninfo, UniXML_iterator& it);
void initRepSections(); void initRepSections();
std::string getRepSectionName(const std::string sec, xmlNode* secnode=0 ); std::string getRepSectionName(const std::string& sec, xmlNode* secnode=0 );
void setConfFileName(const std::string fn=""); void setConfFileName( const std::string& fn="" );
void initParameters(); void initParameters();
void setLocalNode( std::string nodename ); void setLocalNode( const std::string& nodename );
std::string getPort(const std::string port=""); std::string getPort( const std::string& port="" );
friend class ::SystemGuard; friend class ::SystemGuard;
// friend bool SystemGuard::pingNode(); // friend bool SystemGuard::pingNode();
std::string rootDir; std::string rootDir;
...@@ -193,7 +193,7 @@ namespace UniSetTypes ...@@ -193,7 +193,7 @@ namespace UniSetTypes
const char* const* _argv; const char* const* _argv;
CORBA::ORB_var orb; CORBA::ORB_var orb;
CORBA::PolicyList policyList; CORBA::PolicyList policyList;
std::string NSName; /*!< имя сервиса именования на ланной машине (обычно "NameService") */ std::string NSName; /*!< имя сервиса именования на ланной машине (обычно "NameService") */
unsigned int countOfNet; /*!< количество резервных каналов */ unsigned int countOfNet; /*!< количество резервных каналов */
unsigned int repeatCount; /*!< количество попыток получить доступ к удаленному объекту unsigned int repeatCount; /*!< количество попыток получить доступ к удаленному объекту
...@@ -207,7 +207,7 @@ namespace UniSetTypes ...@@ -207,7 +207,7 @@ namespace UniSetTypes
std::string secRoot; std::string secRoot;
std::string secSensors; std::string secSensors;
std::string secObjects; std::string secObjects;
std::string secControlles; std::string secControlles;
std::string secServices; std::string secServices;
// xml // xml
...@@ -219,7 +219,7 @@ namespace UniSetTypes ...@@ -219,7 +219,7 @@ namespace UniSetTypes
ObjectId localDBServer; ObjectId localDBServer;
ObjectId localNode; ObjectId localNode;
std::string localNodeName; std::string localNodeName;
std::string fileConfName; std::string fileConfName;
std::string imagesDir; std::string imagesDir;
...@@ -232,22 +232,22 @@ namespace UniSetTypes ...@@ -232,22 +232,22 @@ namespace UniSetTypes
std::string lockDir; std::string lockDir;
bool localIOR; bool localIOR;
bool transientIOR; bool transientIOR;
int heartbeat_msec; int heartbeat_msec;
}; };
/*! Глобальный указатель на конфигуратор */ /*! Глобальный указатель на конфигуратор */
extern Configuration* conf; extern Configuration* conf;
/*! Глобальный объект для вывода логов */ /*! Глобальный объект для вывода логов */
extern DebugStream ulog; extern DebugStream ulog;
// Инициализация UniSetTypes::conf. // Инициализация UniSetTypes::conf.
// ( учитываются параметры командной строки --confile и --id-from-config ) // ( учитываются параметры командной строки --confile и --id-from-config )
void uniset_init( int argc, const char* const* argv, const std::string& xmlfile="configure.xml" ); void uniset_init( int argc, const char* const* argv, const std::string& xmlfile="configure.xml" );
} // end of UniSetTypes namespace } // end of UniSetTypes namespace
#endif // Configuration_H_ #endif // Configuration_H_
...@@ -112,10 +112,10 @@ public: ...@@ -112,10 +112,10 @@ public:
} }
/// Sets the debugstreams' logfile to f. /// Sets the debugstreams' logfile to f.
void logFile(const std::string f); void logFile( const std::string& f );
inline std::string getLogFile(){ return fname; } inline std::string getLogFile(){ return fname; }
/// Returns true if t is part of the current debug level. /// Returns true if t is part of the current debug level.
inline bool debugging(Debug::type t = Debug::ANY) const inline bool debugging(Debug::type t = Debug::ANY) const
{ return (dt & t); } { return (dt & t); }
...@@ -138,13 +138,13 @@ public: ...@@ -138,13 +138,13 @@ public:
return debug(t); return debug(t);
} }
/** /**
Вывод продолжения логов (без даты и времени) Вывод продолжения логов (без даты и времени)
*/ */
inline std::ostream& to_end(Debug::type t) inline std::ostream& to_end(Debug::type t)
{ return this->operator()(t); } { return this->operator()(t); }
/** /**
Вывод продолжения логов (без даты и времени) "log()" Вывод продолжения логов (без даты и времени) "log()"
*/ */
std::ostream& operator()(Debug::type t); std::ostream& operator()(Debug::type t);
...@@ -189,11 +189,11 @@ public: ...@@ -189,11 +189,11 @@ public:
std::ostream& printDate(Debug::type t, char brk='/'); std::ostream& printDate(Debug::type t, char brk='/');
std::ostream& printTime(Debug::type t, char brk=':'); std::ostream& printTime(Debug::type t, char brk=':');
std::ostream& printDateTime(Debug::type t); std::ostream& printDateTime(Debug::type t);
std::ostream& pos(int x, int y); std::ostream& pos(int x, int y);
const DebugStream &operator=(const DebugStream& r); const DebugStream &operator=(const DebugStream& r);
private: private:
/// The current debug level /// The current debug level
Debug::type dt; Debug::type dt;
...@@ -205,7 +205,7 @@ private: ...@@ -205,7 +205,7 @@ private:
debugstream_internal * internal; debugstream_internal * internal;
bool show_datetime; bool show_datetime;
std::string fname; std::string fname;
}; };
#endif #endif
...@@ -87,7 +87,7 @@ class OutOfRange: public Exception ...@@ -87,7 +87,7 @@ class OutOfRange: public Exception
{ {
public: public:
OutOfRange():Exception("OutOfRange"){} OutOfRange():Exception("OutOfRange"){}
OutOfRange(const std::string err):Exception(err){} OutOfRange(const std::string& err):Exception(err){}
}; };
...@@ -107,7 +107,7 @@ public: ...@@ -107,7 +107,7 @@ public:
LimitWaitingPTimers():Exception("LimitWaitingPassiveTimers"){} LimitWaitingPTimers():Exception("LimitWaitingPassiveTimers"){}
/*! Конструктор, позволяющий вывести в сообщении об ошибке дополнительную информацию err */ /*! Конструктор, позволяющий вывести в сообщении об ошибке дополнительную информацию err */
LimitWaitingPTimers(const std::string err):Exception(err){} LimitWaitingPTimers(const std::string& err):Exception(err){}
}; };
...@@ -121,7 +121,7 @@ public: ...@@ -121,7 +121,7 @@ public:
ORepFailed():Exception("ORepFailed"){} ORepFailed():Exception("ORepFailed"){}
/*! Конструктор, позволяющий вывести в сообщении об ошибке дополнительную информацию err */ /*! Конструктор, позволяющий вывести в сообщении об ошибке дополнительную информацию err */
ORepFailed(const std::string err):Exception(err){} ORepFailed(const std::string& err):Exception(err){}
}; };
...@@ -134,7 +134,7 @@ public: ...@@ -134,7 +134,7 @@ public:
SystemError():Exception("SystemError"){} SystemError():Exception("SystemError"){}
/*! Конструктор, позволяющий вывести в сообщении об ошибке дополнительную информацию err */ /*! Конструктор, позволяющий вывести в сообщении об ошибке дополнительную информацию err */
SystemError(const std::string err):Exception(err){} SystemError(const std::string& err):Exception(err){}
}; };
class CRCError: public Exception class CRCError: public Exception
...@@ -153,7 +153,7 @@ public: ...@@ -153,7 +153,7 @@ public:
CommFailed():Exception("CommFailed"){} CommFailed():Exception("CommFailed"){}
/*! Конструктор, позволяющий вывести в сообщении об ошибке дополнительную информацию err */ /*! Конструктор, позволяющий вывести в сообщении об ошибке дополнительную информацию err */
CommFailed(const std::string err):Exception(err){} CommFailed(const std::string& err):Exception(err){}
}; };
...@@ -167,7 +167,7 @@ class TimeOut: public CommFailed ...@@ -167,7 +167,7 @@ class TimeOut: public CommFailed
TimeOut():CommFailed("TimeOut") {} TimeOut():CommFailed("TimeOut") {}
/*! Конструктор, позволяющий вывести в сообщении об ошибке дополнительную информацию err */ /*! Конструктор, позволяющий вывести в сообщении об ошибке дополнительную информацию err */
TimeOut(const std::string err):CommFailed(err){} TimeOut(const std::string& err):CommFailed(err){}
}; };
...@@ -178,7 +178,7 @@ class ResolveNameError: public ORepFailed ...@@ -178,7 +178,7 @@ class ResolveNameError: public ORepFailed
{ {
public: public:
ResolveNameError():ORepFailed("ResolveNameError"){} ResolveNameError():ORepFailed("ResolveNameError"){}
ResolveNameError(const std::string err):ORepFailed(err){} ResolveNameError(const std::string& err):ORepFailed(err){}
}; };
...@@ -186,7 +186,7 @@ class NSResolveError: public ORepFailed ...@@ -186,7 +186,7 @@ class NSResolveError: public ORepFailed
{ {
public: public:
NSResolveError():ORepFailed("NSResolveError"){} NSResolveError():ORepFailed("NSResolveError"){}
NSResolveError(const std::string err):ORepFailed(err){} NSResolveError(const std::string& err):ORepFailed(err){}
}; };
...@@ -200,7 +200,7 @@ public: ...@@ -200,7 +200,7 @@ public:
ObjectNameAlready():ResolveNameError("ObjectNameAlready"){} ObjectNameAlready():ResolveNameError("ObjectNameAlready"){}
/*! Конструктор, позволяющий вывести в сообщении об ошибке дополнительную информацию err */ /*! Конструктор, позволяющий вывести в сообщении об ошибке дополнительную информацию err */
ObjectNameAlready(const std::string err):ResolveNameError(err){} ObjectNameAlready(const std::string& err):ResolveNameError(err){}
}; };
/*! /*!
...@@ -213,7 +213,7 @@ class IOBadParam: public Exception ...@@ -213,7 +213,7 @@ class IOBadParam: public Exception
IOBadParam():Exception("IOBadParam"){} IOBadParam():Exception("IOBadParam"){}
/*! Конструктор, позволяющий вывести в сообщении об ошибке дополнительную информацию err */ /*! Конструктор, позволяющий вывести в сообщении об ошибке дополнительную информацию err */
IOBadParam(const std::string err):Exception(err){} IOBadParam(const std::string& err):Exception(err){}
}; };
/*! /*!
...@@ -224,7 +224,7 @@ class InvalidObjectName: public ResolveNameError ...@@ -224,7 +224,7 @@ class InvalidObjectName: public ResolveNameError
{ {
public: public:
InvalidObjectName():ResolveNameError("InvalidObjectName"){} InvalidObjectName():ResolveNameError("InvalidObjectName"){}
InvalidObjectName(const std::string err):ResolveNameError(err){} InvalidObjectName(const std::string& err):ResolveNameError(err){}
}; };
/*! Исключение, вырабатываемое в случае если не удалось установить обработчик сигнала */ /*! Исключение, вырабатываемое в случае если не удалось установить обработчик сигнала */
...@@ -232,14 +232,14 @@ class NotSetSignal: public Exception ...@@ -232,14 +232,14 @@ class NotSetSignal: public Exception
{ {
public: public:
NotSetSignal():Exception("NotSetSignal"){} NotSetSignal():Exception("NotSetSignal"){}
NotSetSignal(const std::string err):Exception(err){} NotSetSignal(const std::string& err):Exception(err){}
}; };
class NameNotFound: public ResolveNameError class NameNotFound: public ResolveNameError
{ {
public: public:
NameNotFound():ResolveNameError("NameNotFound"){} NameNotFound():ResolveNameError("NameNotFound"){}
NameNotFound(const std::string err):ResolveNameError(err){} NameNotFound(const std::string& err):ResolveNameError(err){}
}; };
//@} //@}
......
...@@ -40,14 +40,14 @@ class IOController: ...@@ -40,14 +40,14 @@ class IOController:
public POA_IOController_i public POA_IOController_i
{ {
public: public:
IOController(const std::string name, const std::string section); IOController(const std::string& name, const std::string& section);
IOController(UniSetTypes::ObjectId id); IOController(UniSetTypes::ObjectId id);
~IOController(); ~IOController();
virtual UniSetTypes::ObjectType getType(){ return UniSetTypes::getObjectType("IOController"); } virtual UniSetTypes::ObjectType getType(){ return UniSetTypes::getObjectType("IOController"); }
virtual CORBA::Long getValue( const IOController_i::SensorInfo& si ); virtual CORBA::Long getValue( const IOController_i::SensorInfo& si );
// -------------------- !!!!!!!!! --------------------------------- // -------------------- !!!!!!!!! ---------------------------------
// Реализуются конкретным i/o контроллером // Реализуются конкретным i/o контроллером
...@@ -59,8 +59,8 @@ class IOController: ...@@ -59,8 +59,8 @@ class IOController:
UniSetTypes::ObjectId sup_id = UniSetTypes::DefaultObjectId ); UniSetTypes::ObjectId sup_id = UniSetTypes::DefaultObjectId );
// ---------------------------------------------------------------- // ----------------------------------------------------------------
virtual void setUndefinedState(const IOController_i::SensorInfo& si, virtual void setUndefinedState(const IOController_i::SensorInfo& si,
CORBA::Boolean undefined, CORBA::Boolean undefined,
UniSetTypes::ObjectId sup_id = UniSetTypes::DefaultObjectId ); UniSetTypes::ObjectId sup_id = UniSetTypes::DefaultObjectId );
...@@ -74,13 +74,13 @@ class IOController: ...@@ -74,13 +74,13 @@ class IOController:
virtual IOController_i::SensorIOInfo getSensorIOInfo(const IOController_i::SensorInfo& si); virtual IOController_i::SensorIOInfo getSensorIOInfo(const IOController_i::SensorInfo& si);
virtual CORBA::Long getRawValue(const IOController_i::SensorInfo& si); virtual CORBA::Long getRawValue(const IOController_i::SensorInfo& si);
virtual void calibrate(const IOController_i::SensorInfo& si, virtual void calibrate(const IOController_i::SensorInfo& si,
const IOController_i::CalibrateInfo& ci, const IOController_i::CalibrateInfo& ci,
UniSetTypes::ObjectId adminId ); UniSetTypes::ObjectId adminId );
IOController_i::CalibrateInfo getCalibrateInfo(const IOController_i::SensorInfo& si); IOController_i::CalibrateInfo getCalibrateInfo(const IOController_i::SensorInfo& si);
inline IOController_i::SensorInfo SensorInfo(UniSetTypes::ObjectId id, inline IOController_i::SensorInfo SensorInfo(UniSetTypes::ObjectId id,
UniSetTypes::ObjectId node=UniSetTypes::conf->getLocalNode()) UniSetTypes::ObjectId node=UniSetTypes::conf->getLocalNode())
{ {
IOController_i::SensorInfo si; IOController_i::SensorInfo si;
...@@ -89,9 +89,9 @@ class IOController: ...@@ -89,9 +89,9 @@ class IOController:
return si; return si;
}; };
UniSetTypes::Message::Priority getPriority(const IOController_i::SensorInfo& si, UniSetTypes::Message::Priority getPriority(const IOController_i::SensorInfo& si,
UniversalIO::IOType type); UniversalIO::IOType type);
virtual IOController_i::ShortIOInfo getChangedTime(const IOController_i::SensorInfo& si); virtual IOController_i::ShortIOInfo getChangedTime(const IOController_i::SensorInfo& si);
virtual IOController_i::ShortMapSeq* getSensors(); virtual IOController_i::ShortMapSeq* getSensors();
...@@ -106,7 +106,7 @@ class IOController: ...@@ -106,7 +106,7 @@ class IOController:
/*! /*!
// \warning В сигнале напрямую передаётся итератор (т.е. по сути указатель на внутреннюю структуру!) // \warning В сигнале напрямую передаётся итератор (т.е. по сути указатель на внутреннюю структуру!)
// Это не очень хорошо, с точки зрения "архитектуры", но оптимальнее по быстродействию! // Это не очень хорошо, с точки зрения "архитектуры", но оптимальнее по быстродействию!
// необходимо в обработчике не забывать использовать uniset_rwmutex_wrlock(val_lock) или uniset_rwmutex_rlock(val_lock) // необходимо в обработчике не забывать использовать uniset_rwmutex_wrlock(val_lock) или uniset_rwmutex_rlock(val_lock)
*/ */
typedef sigc::signal<void, IOStateList::iterator&, IOController*> ChangeSignal; typedef sigc::signal<void, IOStateList::iterator&, IOController*> ChangeSignal;
typedef sigc::signal<void, IOStateList::iterator&, IOController*> ChangeUndefinedStateSignal; typedef sigc::signal<void, IOStateList::iterator&, IOController*> ChangeUndefinedStateSignal;
...@@ -150,12 +150,12 @@ class IOController: ...@@ -150,12 +150,12 @@ class IOController:
// Дополнительные (вспомогательные поля) // Дополнительные (вспомогательные поля)
UniSetTypes::uniset_rwmutex val_lock; /*!< флаг блокирующий работу со значением */ UniSetTypes::uniset_rwmutex val_lock; /*!< флаг блокирующий работу со значением */
IOStateList::iterator it; IOStateList::iterator it;
void* any; /*!< расширение для возможности хранения своей информации */ void* any; /*!< расширение для возможности хранения своей информации */
// сигнал для реализации механизма зависимостией.. // сигнал для реализации механизма зависимостией..
// (все зависимые датчики подключаются к нему (см. NCRestorer::init_depends_signals) // (все зависимые датчики подключаются к нему (см. NCRestorer::init_depends_signals)
ChangeSignal sigChange; ChangeSignal sigChange;
ChangeUndefinedStateSignal sigUndefChange; ChangeUndefinedStateSignal sigUndefChange;
...@@ -178,9 +178,9 @@ class IOController: ...@@ -178,9 +178,9 @@ class IOController:
CORBA::Long value, UniSetTypes::ObjectId sup_id ); CORBA::Long value, UniSetTypes::ObjectId sup_id );
virtual long localGetValue( IOStateList::iterator& it, const IOController_i::SensorInfo& si ); virtual long localGetValue( IOStateList::iterator& it, const IOController_i::SensorInfo& si );
/*! функция выставления признака неопределённого состояния для аналоговых датчиков
/*! функция выставления признака неопределённого состояния для аналоговых датчиков
// для дискретных датчиков необходимости для подобной функции нет. // для дискретных датчиков необходимости для подобной функции нет.
// см. логику выставления в функции localSaveState // см. логику выставления в функции localSaveState
*/ */
...@@ -199,7 +199,7 @@ class IOController: ...@@ -199,7 +199,7 @@ class IOController:
virtual void sensorsRegistration(){}; virtual void sensorsRegistration(){};
/*! удаление из репозитория датчиков за информацию о которых отвечает данный IOController */ /*! удаление из репозитория датчиков за информацию о которых отвечает данный IOController */
virtual void sensorsUnregistration(); virtual void sensorsUnregistration();
typedef sigc::signal<void, IOStateList::iterator&, IOController*> InitSignal; typedef sigc::signal<void, IOStateList::iterator&, IOController*> InitSignal;
// signal по изменению определённого датчика // signal по изменению определённого датчика
inline InitSignal signal_init(){ return sigInit; } inline InitSignal signal_init(){ return sigInit; }
...@@ -211,12 +211,12 @@ class IOController: ...@@ -211,12 +211,12 @@ class IOController:
/*! разрегистрация датчика */ /*! разрегистрация датчика */
void ioUnRegistration( const IOController_i::SensorInfo& si ); void ioUnRegistration( const IOController_i::SensorInfo& si );
UniSetTypes::Message::Priority getMessagePriority(UniSetTypes::KeyType k, UniversalIO::IOType type); UniSetTypes::Message::Priority getMessagePriority(UniSetTypes::KeyType k, UniversalIO::IOType type);
// ------------------------------ // ------------------------------
inline IOController_i::SensorIOInfo inline IOController_i::SensorIOInfo
SensorIOInfo(long v, UniversalIO::IOType t, const IOController_i::SensorInfo& si, SensorIOInfo(long v, UniversalIO::IOType t, const IOController_i::SensorInfo& si,
UniSetTypes::Message::Priority p = UniSetTypes::Message::Medium, UniSetTypes::Message::Priority p = UniSetTypes::Message::Medium,
long defval=0, IOController_i::CalibrateInfo* ci=0 ) long defval=0, IOController_i::CalibrateInfo* ci=0 )
{ {
...@@ -238,16 +238,16 @@ class IOController: ...@@ -238,16 +238,16 @@ class IOController:
ai.ci.maxCal = 0; ai.ci.maxCal = 0;
ai.ci.precision = 0; ai.ci.precision = 0;
} }
return ai; return ai;
}; };
//! сохранение информации об изменении состояния датчика //! сохранение информации об изменении состояния датчика
virtual void logging(UniSetTypes::SensorMessage& sm); virtual void logging(UniSetTypes::SensorMessage& sm);
//! сохранение состояния всех датчиков в БД //! сохранение состояния всех датчиков в БД
virtual void dumpToDB(); virtual void dumpToDB();
IOController(); IOController();
// доступ к списку c изменением только для своих // доступ к списку c изменением только для своих
IOStateList::iterator myioBegin(); IOStateList::iterator myioBegin();
...@@ -255,7 +255,7 @@ class IOController: ...@@ -255,7 +255,7 @@ class IOController:
IOStateList::iterator myiofind(UniSetTypes::KeyType k); IOStateList::iterator myiofind(UniSetTypes::KeyType k);
// -------------------------- // --------------------------
// ФИЛЬТРОВАНИЕ // ФИЛЬТРОВАНИЕ
// //
typedef sigc::slot<bool,const USensorInfo&, CORBA::Long, UniSetTypes::ObjectId> IOFilterSlot; typedef sigc::slot<bool,const USensorInfo&, CORBA::Long, UniSetTypes::ObjectId> IOFilterSlot;
typedef std::list<IOFilterSlot> IOFilterSlotList; typedef std::list<IOFilterSlot> IOFilterSlotList;
...@@ -263,8 +263,8 @@ class IOController: ...@@ -263,8 +263,8 @@ class IOController:
Фильтрующая функция должна возвращать: Фильтрующая функция должна возвращать:
TRUE - если значение 'нормальное' TRUE - если значение 'нормальное'
FALSE - если значение не подходит (отбрасывается) FALSE - если значение не подходит (отбрасывается)
Пример использования: Пример использования:
addIOFilter( sigc::mem_fun(my,&MyClass::my_filter) ); addIOFilter( sigc::mem_fun(my,&MyClass::my_filter) );
*/ */
IOFilterSlotList::iterator addIOFilter( IOFilterSlot sl, bool push_front=false ); IOFilterSlotList::iterator addIOFilter( IOFilterSlot sl, bool push_front=false );
...@@ -276,16 +276,16 @@ class IOController: ...@@ -276,16 +276,16 @@ class IOController:
inline bool iofiltersEmpty(){ return iofilters.empty(); } inline bool iofiltersEmpty(){ return iofilters.empty(); }
inline int iodiltersSize(){ return iofilters.size(); } inline int iodiltersSize(){ return iofilters.size(); }
private: private:
friend class NCRestorer; friend class NCRestorer;
ChangeSignal sigAnyChange; ChangeSignal sigAnyChange;
ChangeSignal sigAnyUndefChange; ChangeSignal sigAnyUndefChange;
InitSignal sigInit; InitSignal sigInit;
IOStateList ioList; /*!< список с текущим состоянием аналоговых входов/выходов */ IOStateList ioList; /*!< список с текущим состоянием аналоговых входов/выходов */
UniSetTypes::uniset_rwmutex ioMutex; /*!< замок для блокирования совместного доступа к ioList */ UniSetTypes::uniset_rwmutex ioMutex; /*!< замок для блокирования совместного доступа к ioList */
bool isPingDBServer; // флаг связи с DBServer-ом bool isPingDBServer; // флаг связи с DBServer-ом
IOFilterSlotList iofilters; /*!< список фильтров для аналоговых значений */ IOFilterSlotList iofilters; /*!< список фильтров для аналоговых значений */
......
...@@ -88,9 +88,9 @@ class NCRestorer; ...@@ -88,9 +88,9 @@ class NCRestorer;
\endcode \endcode
"Статический" способ заказа гарантирует, что при перезапуске "Статический" способ заказа гарантирует, что при перезапуске
\b IONC список заказчиков будет восстановлен по конфигурационному файлу. \b IONC список заказчиков будет восстановлен по конфигурационному файлу.
\section sec_NC_Thresholds Пороговые датчики \section sec_NC_Thresholds Пороговые датчики
\section sec_NC_Depends Механизм зависимостей между датчиками \section sec_NC_Depends Механизм зависимостей между датчиками
Механизм зависимостей позволяет задать зависимость одного датчика, от другого. Механизм зависимостей позволяет задать зависимость одного датчика, от другого.
Например пока "разрешающий" датчик не равен "1", у зависимого держится значение "0". Например пока "разрешающий" датчик не равен "1", у зависимого держится значение "0".
...@@ -119,9 +119,9 @@ class NCRestorer; ...@@ -119,9 +119,9 @@ class NCRestorer;
* \todo Сделать логирование выходов * \todo Сделать логирование выходов
\section AskSensors Заказ датчиков \section AskSensors Заказ датчиков
.... ....
ConsumerMaxAttempts - максимальное число неудачных ConsumerMaxAttempts - максимальное число неудачных
попыток послать сообщение "заказчику". Настраивается в попыток послать сообщение "заказчику". Настраивается в
конфигурационном файле. По умолчанию = 5. конфигурационном файле. По умолчанию = 5.
*/ */
...@@ -130,8 +130,8 @@ class IONotifyController: ...@@ -130,8 +130,8 @@ class IONotifyController:
public POA_IONotifyController_i public POA_IONotifyController_i
{ {
public: public:
IONotifyController(const std::string name, const std::string section, NCRestorer* dumper=0); IONotifyController(const std::string& name, const std::string& section, NCRestorer* dumper=0);
IONotifyController(UniSetTypes::ObjectId id, NCRestorer* dumper=0); IONotifyController(UniSetTypes::ObjectId id, NCRestorer* dumper=0);
virtual ~IONotifyController(); virtual ~IONotifyController();
...@@ -139,23 +139,23 @@ class IONotifyController: ...@@ -139,23 +139,23 @@ class IONotifyController:
virtual UniSetTypes::ObjectType getType(){ return UniSetTypes::getObjectType("IONotifyController"); } virtual UniSetTypes::ObjectType getType(){ return UniSetTypes::getObjectType("IONotifyController"); }
virtual void askSensor(const IOController_i::SensorInfo& si, const UniSetTypes::ConsumerInfo& ci, UniversalIO::UIOCommand cmd); virtual void askSensor(const IOController_i::SensorInfo& si, const UniSetTypes::ConsumerInfo& ci, UniversalIO::UIOCommand cmd);
virtual void askThreshold(const IOController_i::SensorInfo& si, const UniSetTypes::ConsumerInfo& ci, virtual void askThreshold(const IOController_i::SensorInfo& si, const UniSetTypes::ConsumerInfo& ci,
UniSetTypes::ThresholdId tid, UniSetTypes::ThresholdId tid,
CORBA::Long lowLimit, CORBA::Long hiLimit, CORBA::Boolean invert, CORBA::Long lowLimit, CORBA::Long hiLimit, CORBA::Boolean invert,
UniversalIO::UIOCommand cmd ); UniversalIO::UIOCommand cmd );
virtual IONotifyController_i::ThresholdInfo getThresholdInfo( const IOController_i::SensorInfo& si, UniSetTypes::ThresholdId tid ); virtual IONotifyController_i::ThresholdInfo getThresholdInfo( const IOController_i::SensorInfo& si, UniSetTypes::ThresholdId tid );
virtual IONotifyController_i::ThresholdList* getThresholds(const IOController_i::SensorInfo& si ); virtual IONotifyController_i::ThresholdList* getThresholds(const IOController_i::SensorInfo& si );
virtual IONotifyController_i::ThresholdsListSeq* getThresholdsList(); virtual IONotifyController_i::ThresholdsListSeq* getThresholdsList();
virtual UniSetTypes::IDSeq* askSensorsSeq(const UniSetTypes::IDSeq& lst, virtual UniSetTypes::IDSeq* askSensorsSeq(const UniSetTypes::IDSeq& lst,
const UniSetTypes::ConsumerInfo& ci, UniversalIO::UIOCommand cmd); const UniSetTypes::ConsumerInfo& ci, UniversalIO::UIOCommand cmd);
// -------------------------------------------- // --------------------------------------------
// функция для работы напрямую черех iterator (оптимизация) // функция для работы напрямую черех iterator (оптимизация)
virtual void localSetValue( IOController::IOStateList::iterator& it, virtual void localSetValue( IOController::IOStateList::iterator& it,
const IOController_i::SensorInfo& si, const IOController_i::SensorInfo& si,
CORBA::Long value, UniSetTypes::ObjectId sup_id ); CORBA::Long value, UniSetTypes::ObjectId sup_id );
...@@ -195,17 +195,17 @@ class IONotifyController: ...@@ -195,17 +195,17 @@ class IONotifyController:
/*! идентификатор дискретного датчика связанного с данным порогом */ /*! идентификатор дискретного датчика связанного с данным порогом */
UniSetTypes::ObjectId sid; UniSetTypes::ObjectId sid;
/*! итератор в списке датчиков (для оптимально-быстрого доступа) */ /*! итератор в списке датчиков (для оптимально-быстрого доступа) */
IOController::IOStateList::iterator sit; IOController::IOStateList::iterator sit;
/*! инверсная логика */ /*! инверсная логика */
bool invert; bool invert;
inline bool operator== ( const ThresholdInfo& r ) const inline bool operator== ( const ThresholdInfo& r ) const
{ {
return ((id == r.id) && return ((id == r.id) &&
(hilimit == r.hilimit) && (hilimit == r.hilimit) &&
(lowlimit == r.lowlimit) && (lowlimit == r.lowlimit) &&
(invert == r.invert) ); (invert == r.invert) );
} }
...@@ -223,25 +223,25 @@ class IONotifyController: ...@@ -223,25 +223,25 @@ class IONotifyController:
return r; return r;
} }
}; };
typedef std::list<ThresholdInfoExt> ThresholdExtList; typedef std::list<ThresholdInfoExt> ThresholdExtList;
/*! массив пар датчик->список потребителей */ /*! массив пар датчик->список потребителей */
typedef std::map<UniSetTypes::KeyType,ConsumerList> AskMap; typedef std::map<UniSetTypes::KeyType,ConsumerList> AskMap;
struct ThresholdsListInfo struct ThresholdsListInfo
{ {
ThresholdsListInfo(){} ThresholdsListInfo(){}
ThresholdsListInfo( IOController_i::SensorInfo& si, ThresholdExtList& list, ThresholdsListInfo( IOController_i::SensorInfo& si, ThresholdExtList& list,
UniversalIO::IOType t=UniversalIO::AI ): UniversalIO::IOType t=UniversalIO::AI ):
si(si),type(t),list(list){} si(si),type(t),list(list){}
IOController_i::SensorInfo si; IOController_i::SensorInfo si;
IOStateList::iterator ait; IOStateList::iterator ait;
UniversalIO::IOType type; UniversalIO::IOType type;
ThresholdExtList list; ThresholdExtList list;
}; };
/*! массив пар [датчик,список порогов] */ /*! массив пар [датчик,список порогов] */
typedef std::map<UniSetTypes::KeyType,ThresholdsListInfo> AskThresholdMap; typedef std::map<UniSetTypes::KeyType,ThresholdsListInfo> AskThresholdMap;
...@@ -257,16 +257,16 @@ class IONotifyController: ...@@ -257,16 +257,16 @@ class IONotifyController:
virtual void send(ConsumerList& lst, UniSetTypes::SensorMessage& sm); virtual void send(ConsumerList& lst, UniSetTypes::SensorMessage& sm);
//! проверка срабатывания пороговых датчиков //! проверка срабатывания пороговых датчиков
virtual void checkThreshold( IOStateList::iterator& li, virtual void checkThreshold( IOStateList::iterator& li,
const IOController_i::SensorInfo& si, bool send=true ); const IOController_i::SensorInfo& si, bool send=true );
//! поиск информации о пороговом датчике //! поиск информации о пороговом датчике
ThresholdExtList::iterator findThreshold( UniSetTypes::KeyType k, UniSetTypes::ThresholdId tid ); ThresholdExtList::iterator findThreshold( UniSetTypes::KeyType k, UniSetTypes::ThresholdId tid );
//! сохранение информации об изменении состояния датчика в базу //! сохранение информации об изменении состояния датчика в базу
virtual void loggingInfo(UniSetTypes::SensorMessage& sm); virtual void loggingInfo(UniSetTypes::SensorMessage& sm);
/*! сохранение списка заказчиков /*! сохранение списка заказчиков
По умолчанию делает dump, если объявлен dumper. По умолчанию делает dump, если объявлен dumper.
*/ */
virtual void dumpOrdersList(const IOController_i::SensorInfo& si, const IONotifyController::ConsumerList& lst); virtual void dumpOrdersList(const IOController_i::SensorInfo& si, const IONotifyController::ConsumerList& lst);
...@@ -292,10 +292,10 @@ class IONotifyController: ...@@ -292,10 +292,10 @@ class IONotifyController:
//---------------------- //----------------------
bool addConsumer(ConsumerList& lst, const UniSetTypes::ConsumerInfo& cons ); //!< добавить потребителя сообщения bool addConsumer(ConsumerList& lst, const UniSetTypes::ConsumerInfo& cons ); //!< добавить потребителя сообщения
bool removeConsumer(ConsumerList& lst, const UniSetTypes::ConsumerInfo& cons ); //!< удалить потребителя сообщения bool removeConsumer(ConsumerList& lst, const UniSetTypes::ConsumerInfo& cons ); //!< удалить потребителя сообщения
//! обработка заказа //! обработка заказа
void ask(AskMap& askLst, const IOController_i::SensorInfo& si, void ask(AskMap& askLst, const IOController_i::SensorInfo& si,
const UniSetTypes::ConsumerInfo& ci, UniversalIO::UIOCommand cmd); const UniSetTypes::ConsumerInfo& ci, UniversalIO::UIOCommand cmd);
/*! добавить новый порог для датчика */ /*! добавить новый порог для датчика */
bool addThreshold(ThresholdExtList& lst, ThresholdInfoExt& ti, const UniSetTypes::ConsumerInfo& cons); bool addThreshold(ThresholdExtList& lst, ThresholdInfoExt& ti, const UniSetTypes::ConsumerInfo& cons);
...@@ -305,14 +305,15 @@ class IONotifyController: ...@@ -305,14 +305,15 @@ class IONotifyController:
AskMap askIOList; /*!< список потребителей по аналоговым датчикам */ AskMap askIOList; /*!< список потребителей по аналоговым датчикам */
AskThresholdMap askTMap; /*!< список порогов по аналоговым датчикам */ AskThresholdMap askTMap; /*!< список порогов по аналоговым датчикам */
/*! замок для блокирования совместного доступа к cписку потребителей датчиков */ /*! замок для блокирования совместного доступа к cписку потребителей датчиков */
UniSetTypes::uniset_rwmutex askIOMutex; UniSetTypes::uniset_rwmutex askIOMutex;
/*! замок для блокирования совместного доступа к cписку потребителей пороговых датчиков */ /*! замок для блокирования совместного доступа к cписку потребителей пороговых датчиков */
UniSetTypes::uniset_rwmutex trshMutex; UniSetTypes::uniset_rwmutex trshMutex;
int maxAttemtps; /*! timeout for consumer */ int maxAttemtps; /*! timeout for consumer */
}; };
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
#endif #endif
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
...@@ -38,11 +38,11 @@ class IORFile ...@@ -38,11 +38,11 @@ class IORFile
IORFile(); IORFile();
std::string getIOR( const ObjectId id, const ObjectId node ); std::string getIOR( const ObjectId id, const ObjectId node );
void setIOR( const ObjectId id, const ObjectId node, const std::string sior ); void setIOR( const ObjectId id, const ObjectId node, const std::string& sior );
void unlinkIOR( const ObjectId id, const ObjectId node ); void unlinkIOR( const ObjectId id, const ObjectId node );
protected: protected:
std::string genFName( const ObjectId id, const ObjectId node); std::string genFName( const ObjectId id, const ObjectId node );
private: private:
}; };
......
...@@ -83,12 +83,12 @@ class Restorer_XML ...@@ -83,12 +83,12 @@ class Restorer_XML
/*! Установить фильтр на чтение списка датчиков /*! Установить фильтр на чтение списка датчиков
\note Функцию необходимо вызывать до вызова read(...) \note Функцию необходимо вызывать до вызова read(...)
*/ */
void setItemFilter( const std::string filterField, const std::string filterValue="" ); void setItemFilter( const std::string& filterField, const std::string& filterValue="" );
/*! Установить фильтр на чтение списка заказчиков (по каждому датчику) /*! Установить фильтр на чтение списка заказчиков (по каждому датчику)
\note Функцию необходимо вызывать до вызова read(...) \note Функцию необходимо вызывать до вызова read(...)
*/ */
void setConsumerFilter( const std::string filterField, const std::string filterValue="" ); void setConsumerFilter( const std::string& filterField, const std::string& filterValue="" );
/*! универсальная функция получения информации о заказчике (id и node) /*! универсальная функция получения информации о заказчике (id и node)
...@@ -108,7 +108,7 @@ class Restorer_XML ...@@ -108,7 +108,7 @@ class Restorer_XML
/*! Функция поиска по текущему уровню (без рекурсии для дочерних узлов) */ /*! Функция поиска по текущему уровню (без рекурсии для дочерних узлов) */
static xmlNode* find_node( UniXML& xml, xmlNode* root, const std::string& nodename, const std::string nm="" ); static xmlNode* find_node( UniXML& xml, xmlNode* root, const std::string& nodename, const std::string& nm="" );
protected: protected:
......
...@@ -35,7 +35,7 @@ class SViewer ...@@ -35,7 +35,7 @@ class SViewer
{ {
public: public:
SViewer(const std::string ControllersSection, bool isShort=true); SViewer(const std::string& ControllersSection, bool isShort=true);
virtual ~SViewer(); virtual ~SViewer();
void view(); void view();
...@@ -45,7 +45,7 @@ class SViewer ...@@ -45,7 +45,7 @@ class SViewer
friend class SViewer_glade; friend class SViewer_glade;
void on_SViewer_destroy(); void on_SViewer_destroy();
void readSection(const std::string sec, const std::string secRoot); void readSection(const std::string& sec, const std::string& secRoot);
void getInfo(UniSetTypes::ObjectId id); void getInfo(UniSetTypes::ObjectId id);
virtual void updateSensors( IOController_i::SensorInfoSeq_var& amap, UniSetTypes::ObjectId oid ); virtual void updateSensors( IOController_i::SensorInfoSeq_var& amap, UniSetTypes::ObjectId oid );
......
...@@ -196,11 +196,11 @@ class UInterface ...@@ -196,11 +196,11 @@ class UInterface
// Работа с ID, Name // Работа с ID, Name
/*! получение идентификатора объекта по имени */ /*! получение идентификатора объекта по имени */
inline UniSetTypes::ObjectId getIdByName(const char* name) inline UniSetTypes::ObjectId getIdByName( const char* name )
{ {
return oind->getIdByName(name); return oind->getIdByName(name);
} }
inline UniSetTypes::ObjectId getIdByName(const string name) inline UniSetTypes::ObjectId getIdByName( const std::string& name )
{ {
return getIdByName(name.c_str()); return getIdByName(name.c_str());
} }
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
/*! \file /*! \file
* \author Pavel Vainerman * \author Pavel Vainerman
* \brief базовые типы и вспомогательные функции библиотеки UniSet * \brief базовые типы и вспомогательные функции библиотеки UniSet
*/ */
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
#ifndef UniSetTypes_H_ #ifndef UniSetTypes_H_
...@@ -56,15 +56,15 @@ namespace UniSetTypes ...@@ -56,15 +56,15 @@ namespace UniSetTypes
const ThresholdId DefaultTimerId = -1; /*!< идентификатор таймера по умолчанию */ const ThresholdId DefaultTimerId = -1; /*!< идентификатор таймера по умолчанию */
typedef long KeyType; /*!< уникальный ключ объекта */ typedef long KeyType; /*!< уникальный ключ объекта */
/*! генератор уникального положительного ключа /*! генератор уникального положительного ключа
* Уникальность гарантируется только для пары значений * Уникальность гарантируется только для пары значений
* id и node. * id и node.
* \warning что тут у нас с переполнением.. * \warning что тут у нас с переполнением..
* \warning Уникальность генерируемого ключа еще не проверялась, * \warning Уникальность генерируемого ключа еще не проверялась,
но нареканий по использованию тоже не было :) но нареканий по использованию тоже не было :)
* \todo Желательно продумать что-нибудь с использованием хэш. * \todo Желательно продумать что-нибудь с использованием хэш.
*/ */
inline static KeyType key( const UniSetTypes::ObjectId id, const UniSetTypes::ObjectId node ) inline static KeyType key( const UniSetTypes::ObjectId id, const UniSetTypes::ObjectId node )
{ {
return KeyType((id*node)+(id+2*node)); return KeyType((id*node)+(id+2*node));
...@@ -84,7 +84,7 @@ namespace UniSetTypes ...@@ -84,7 +84,7 @@ namespace UniSetTypes
/*! Функция делает ObjectType из const char * (переводит const-строку в обычную, что плохо, но мы обещаем не писать в неё :) ) */ /*! Функция делает ObjectType из const char * (переводит const-строку в обычную, что плохо, но мы обещаем не писать в неё :) ) */
inline static UniSetTypes::ObjectType getObjectType(const char * name) { const void *t = name; return (UniSetTypes::ObjectType)t; } inline static UniSetTypes::ObjectType getObjectType(const char * name) { const void *t = name; return (UniSetTypes::ObjectType)t; }
UniversalIO::IOType getIOType( const std::string s ); UniversalIO::IOType getIOType( const std::string& s );
std::ostream& operator<<( std::ostream& os, const UniversalIO::IOType t ); std::ostream& operator<<( std::ostream& os, const UniversalIO::IOType t );
/*! Команды для управления лампочками */ /*! Команды для управления лампочками */
...@@ -101,26 +101,26 @@ namespace UniSetTypes ...@@ -101,26 +101,26 @@ namespace UniSetTypes
class IDList class IDList
{ {
public: public:
IDList(); IDList();
~IDList(); ~IDList();
void add( ObjectId id ); void add( ObjectId id );
void del( ObjectId id ); void del( ObjectId id );
inline int size(){ return lst.size(); } inline int size(){ return lst.size(); }
inline bool empty(){ return lst.empty(); } inline bool empty(){ return lst.empty(); }
std::list<ObjectId> getList(); std::list<ObjectId> getList();
// за освобождение выделеной памяти // за освобождение выделеной памяти
// отвечает вызывающий! // отвечает вызывающий!
IDSeq* getIDSeq(); IDSeq* getIDSeq();
// //
ObjectId getFirst(); ObjectId getFirst();
ObjectId node; // узел, на котором находятся датчики ObjectId node; // узел, на котором находятся датчики
private: private:
std::list<ObjectId> lst; std::list<ObjectId> lst;
}; };
...@@ -136,13 +136,13 @@ namespace UniSetTypes ...@@ -136,13 +136,13 @@ namespace UniSetTypes
char* repName; /*!< текстовое имя для регистрации в репозитории */ char* repName; /*!< текстовое имя для регистрации в репозитории */
char* textName; /*!< текстовое имя */ char* textName; /*!< текстовое имя */
void* data; void* data;
inline bool operator < ( const ObjectInfo& o ) const inline bool operator < ( const ObjectInfo& o ) const
{ {
return (id < o.id); return (id < o.id);
} }
}; };
typedef std::list<NodeInfo> ListOfNode; typedef std::list<NodeInfo> ListOfNode;
/*! Запрещенные для использования в именах объектов символы */ /*! Запрещенные для использования в именах объектов символы */
...@@ -160,43 +160,43 @@ namespace UniSetTypes ...@@ -160,43 +160,43 @@ namespace UniSetTypes
std::sscanf(str, "%i", &n); std::sscanf(str, "%i", &n);
return n; return n;
} }
inline int uni_atoi( const std::string str ) inline int uni_atoi( const std::string& str )
{ {
return uni_atoi(str.c_str()); return uni_atoi(str.c_str());
} }
std::string timeToString(time_t tm=time(0), const std::string brk=":"); /*!< Преобразование времени в строку HH:MM:SS */ std::string timeToString(time_t tm=time(0), const std::string& brk=":"); /*!< Преобразование времени в строку HH:MM:SS */
std::string dateToString(time_t tm=time(0), const std::string brk="/"); /*!< Преобразование даты в строку DD/MM/YYYY */ std::string dateToString(time_t tm=time(0), const std::string& brk="/"); /*!< Преобразование даты в строку DD/MM/YYYY */
/*! Разбивка строки по указанному символу */ /*! Разбивка строки по указанному символу */
IDList explode( const std::string str, char sep=',' ); IDList explode( const std::string& str, char sep=',' );
std::list<std::string> explode_str( const std::string str, char sep=',' ); std::list<std::string> explode_str( const std::string& str, char sep=',' );
struct ParamSInfo struct ParamSInfo
{ {
IOController_i::SensorInfo si; IOController_i::SensorInfo si;
long val; long val;
std::string fname; // fullname id@node or id std::string fname; // fullname id@node or id
}; };
/*! Функция разбора строки вида: id1@node1=val1,id2@node2=val2,... /*! Функция разбора строки вида: id1@node1=val1,id2@node2=val2,...
Если '=' не указано, возвращается val=0 Если '=' не указано, возвращается val=0
Если @node не указано, возвращается node=DefaultObjectId */ Если @node не указано, возвращается node=DefaultObjectId */
std::list<ParamSInfo> getSInfoList( std::string s, Configuration* conf=UniSetTypes::conf); std::list<ParamSInfo> getSInfoList( const std::string& s, Configuration* conf=UniSetTypes::conf );
/*! проверка является текст в строке - числом..*/ /*! проверка является текст в строке - числом..*/
bool is_digit( const std::string s ); bool is_digit( const std::string& s );
// --------------------------------------------------------------- // ---------------------------------------------------------------
// Работа с командной строкой // Работа с командной строкой
/*! Получение параметра командной строки /*! Получение параметра командной строки
\param name - название параметра \param name - название параметра
\param defval - значение, которое будет возвращено, если параметр не найден \param defval - значение, которое будет возвращено, если параметр не найден
*/ */
inline std::string getArgParam( const std::string name, inline std::string getArgParam( const std::string& name,
int _argc, const char* const* _argv, int _argc, const char* const* _argv,
const std::string defval="" ) const std::string& defval="" )
{ {
for( int i=1; i < (_argc - 1) ; i++ ) for( int i=1; i < (_argc - 1) ; i++ )
{ {
...@@ -206,7 +206,7 @@ namespace UniSetTypes ...@@ -206,7 +206,7 @@ namespace UniSetTypes
return defval; return defval;
} }
inline int getArgInt( const std::string name, inline int getArgInt( const std::string& name,
int _argc, const char* const* _argv, int _argc, const char* const* _argv,
const std::string defval="" ) const std::string defval="" )
{ {
...@@ -215,10 +215,10 @@ namespace UniSetTypes ...@@ -215,10 +215,10 @@ namespace UniSetTypes
/*! Проверка наличия параметра в командной строке /*! Проверка наличия параметра в командной строке
\param name - название параметра \param name - название параметра
\return Возвращает -1, если параметр не найден. \return Возвращает -1, если параметр не найден.
Или позицию параметра, если найден. Или позицию параметра, если найден.
*/ */
inline int findArgParam( const std::string name, int _argc, const char* const* _argv ) inline int findArgParam( const std::string& name, int _argc, const char* const* _argv )
{ {
for( int i=1; i<_argc; i++ ) for( int i=1; i<_argc; i++ )
{ {
...@@ -239,7 +239,7 @@ namespace UniSetTypes ...@@ -239,7 +239,7 @@ namespace UniSetTypes
// rawMax - максимальная граница исходного диапазона // rawMax - максимальная граница исходного диапазона
// calMin - минимальная граница калиброванного диапазона // calMin - минимальная граница калиброванного диапазона
// calMin - минимальная граница калиброванного диапазона // calMin - минимальная граница калиброванного диапазона
// limit - обрезать итоговое значение по границам // limit - обрезать итоговое значение по границам
float fcalibrate(float raw, float rawMin, float rawMax, float calMin, float calMax, bool limit=true ); float fcalibrate(float raw, float rawMin, float rawMax, float calMin, float calMax, bool limit=true );
long lcalibrate(long raw, long rawMin, long rawMax, long calMin, long calMax, bool limit=true ); long lcalibrate(long raw, long rawMin, long rawMax, long calMin, long calMax, bool limit=true );
...@@ -251,11 +251,11 @@ namespace UniSetTypes ...@@ -251,11 +251,11 @@ namespace UniSetTypes
// --------------------------------------------------------------- // ---------------------------------------------------------------
// Всякие helper-ы // Всякие helper-ы
bool file_exist( const std::string filename ); bool file_exist( const std::string& filename );
// Проверка xml-узла на соответствие <...f_prop="f_val">, // Проверка xml-узла на соответствие <...f_prop="f_val">,
// если не задано f_val, то проверяется, что просто f_prop!="" // если не задано f_val, то проверяется, что просто f_prop!=""
bool check_filter( UniXML_iterator& it, const std::string f_prop, const std::string f_val="" ); bool check_filter( UniXML_iterator& it, const std::string& f_prop, const std::string& f_val="" );
/*! алгоритм копирования элементов последовательности удовлетворяющих условию */ /*! алгоритм копирования элементов последовательности удовлетворяющих условию */
template<typename InputIterator, template<typename InputIterator,
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
class WDTInterface class WDTInterface
{ {
public: public:
WDTInterface(const std::string dev); WDTInterface(const std::string& dev);
~WDTInterface(); ~WDTInterface();
bool ping(); bool ping();
......
...@@ -143,7 +143,7 @@ class ModbusClient ...@@ -143,7 +143,7 @@ class ModbusClient
/*! установить паузу при ожидании символа */ /*! установить паузу при ожидании символа */
inline void setSleepPause( timeout_t usec ){ sleepPause_usec = usec; } inline void setSleepPause( timeout_t usec ){ sleepPause_usec = usec; }
void initLog( UniSetTypes::Configuration* conf, const std::string name, const std::string logfile="" ); void initLog( UniSetTypes::Configuration* conf, const std::string& name, const std::string& logfile="" );
void setLog( DebugStream& dlog ); void setLog( DebugStream& dlog );
......
...@@ -20,13 +20,13 @@ class ModbusRTUMaster: ...@@ -20,13 +20,13 @@ class ModbusRTUMaster:
public: public:
ModbusRTUMaster( ComPort* com ); ModbusRTUMaster( ComPort* com );
ModbusRTUMaster( const std::string dev, bool use485=false, bool tr_ctl=false ); ModbusRTUMaster( const std::string& dev, bool use485=false, bool tr_ctl=false );
virtual ~ModbusRTUMaster(); virtual ~ModbusRTUMaster();
virtual void cleanupChannel(){ if( port ) port->cleanupChannel(); } virtual void cleanupChannel(){ if( port ) port->cleanupChannel(); }
void setSpeed( ComPort::Speed s ); void setSpeed( ComPort::Speed s );
void setSpeed( const std::string s ); void setSpeed( const std::string& s );
ComPort::Speed getSpeed(); ComPort::Speed getSpeed();
void setParity( ComPort::Parity parity ); void setParity( ComPort::Parity parity );
......
...@@ -18,7 +18,7 @@ class ModbusRTUSlaveSlot: ...@@ -18,7 +18,7 @@ class ModbusRTUSlaveSlot:
{ {
public: public:
ModbusRTUSlaveSlot( ComPort* com ); ModbusRTUSlaveSlot( ComPort* com );
ModbusRTUSlaveSlot( const std::string dev, bool use485=false, bool tr_ctl=false ); ModbusRTUSlaveSlot( const std::string& dev, bool use485=false, bool tr_ctl=false );
virtual ~ModbusRTUSlaveSlot(); virtual ~ModbusRTUSlaveSlot();
virtual void sigterm( int signo ); virtual void sigterm( int signo );
......
...@@ -16,12 +16,12 @@ class ModbusTCPMaster: ...@@ -16,12 +16,12 @@ class ModbusTCPMaster:
ModbusTCPMaster(); ModbusTCPMaster();
virtual ~ModbusTCPMaster(); virtual ~ModbusTCPMaster();
void connect( const std::string addr, int port ); void connect( const std::string& addr, int port );
void connect( ost::InetAddress addr, int port ); void connect( ost::InetAddress addr, int port );
void disconnect(); void disconnect();
bool isConnection(); bool isConnection();
static bool checkConnection( const std::string ip, int port, int timeout_msec=100 ); static bool checkConnection( const std::string& ip, int port, int timeout_msec=100 );
inline void setForceDisconnect( bool s ) inline void setForceDisconnect( bool s )
{ {
......
...@@ -129,8 +129,8 @@ namespace ModbusRTU ...@@ -129,8 +129,8 @@ namespace ModbusRTU
/*! вывод сообщения */ /*! вывод сообщения */
std::ostream& mbPrintMessage( std::ostream& os, ModbusByte* b, int len ); std::ostream& mbPrintMessage( std::ostream& os, ModbusByte* b, int len );
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
ModbusAddr str2mbAddr( const std::string val ); ModbusAddr str2mbAddr( const std::string& val );
ModbusData str2mbData( const std::string val ); ModbusData str2mbData( const std::string& val );
std::string dat2str( const ModbusData dat ); std::string dat2str( const ModbusData dat );
std::string addr2str( const ModbusAddr addr ); std::string addr2str( const ModbusAddr addr );
std::string b2str( const ModbusByte b ); std::string b2str( const ModbusByte b );
...@@ -1082,7 +1082,7 @@ namespace ModbusRTU ...@@ -1082,7 +1082,7 @@ namespace ModbusRTU
struct RDIObjectInfo struct RDIObjectInfo
{ {
RDIObjectInfo():id(0),val(""){} RDIObjectInfo():id(0),val(""){}
RDIObjectInfo( ModbusByte id, const std::string v ):id(id),val(v){} RDIObjectInfo( ModbusByte id, const std::string& v ):id(id),val(v){}
RDIObjectInfo( ModbusByte id, ModbusByte* dat, ModbusByte len ); RDIObjectInfo( ModbusByte id, ModbusByte* dat, ModbusByte len );
ModbusByte id; ModbusByte id;
...@@ -1130,7 +1130,7 @@ namespace ModbusRTU ...@@ -1130,7 +1130,7 @@ namespace ModbusRTU
* \return TRUE - если удалось * \return TRUE - если удалось
* \return FALSE - если НЕ удалось * \return FALSE - если НЕ удалось
*/ */
bool addData( ModbusByte id, const std::string value ); bool addData( ModbusByte id, const std::string& value );
bool addData( RDIObjectInfo& dat ); bool addData( RDIObjectInfo& dat );
/*! очистка данных */ /*! очистка данных */
......
...@@ -35,7 +35,7 @@ ComPort::~ComPort() ...@@ -35,7 +35,7 @@ ComPort::~ComPort()
} }
} }
// -------------------------------------------------------------------------------- // --------------------------------------------------------------------------------
ComPort::ComPort( const string comDevice, bool nocreate ): ComPort::ComPort( const string& comDevice, bool nocreate ):
curSym(0), bufLength(0),fd(-1),uTimeout(10000), curSym(0), bufLength(0),fd(-1),uTimeout(10000),
waiting(true),dev(comDevice) waiting(true),dev(comDevice)
{ {
...@@ -53,12 +53,12 @@ void ComPort::openPort() ...@@ -53,12 +53,12 @@ void ComPort::openPort()
string strErr="Unable to open "+dev+" [Error: "+strerror(errno)+"]"; string strErr="Unable to open "+dev+" [Error: "+strerror(errno)+"]";
throw UniSetTypes::SystemError(strErr.c_str()); throw UniSetTypes::SystemError(strErr.c_str());
} }
/* Get the current options for the port */ /* Get the current options for the port */
tcgetattr(fd, &options); tcgetattr(fd, &options);
oldTermios=options; oldTermios=options;
cfsetispeed(&options, B19200); /* Set the baud rates to 19200 */ cfsetispeed(&options, B19200); /* Set the baud rates to 19200 */
cfsetospeed(&options, B19200); cfsetospeed(&options, B19200);
...@@ -93,7 +93,7 @@ void ComPort::reopen() ...@@ -93,7 +93,7 @@ void ComPort::reopen()
openPort(); openPort();
if( fd > 0 ) if( fd > 0 )
tcsetattr(fd, TCSAFLUSH, &options); tcsetattr(fd, TCSAFLUSH, &options);
} }
} }
// -------------------------------------------------------------------------------- // --------------------------------------------------------------------------------
void ComPort::setSpeed( Speed s ) void ComPort::setSpeed( Speed s )
...@@ -114,7 +114,7 @@ void ComPort::setParity(Parity parity) ...@@ -114,7 +114,7 @@ void ComPort::setParity(Parity parity)
struct termios options; struct termios options;
tcgetattr(fd, &options); tcgetattr(fd, &options);
switch(parity) switch(parity)
{ {
case Odd: case Odd:
...@@ -205,14 +205,14 @@ unsigned char ComPort::m_receiveByte( bool wait ) ...@@ -205,14 +205,14 @@ unsigned char ComPort::m_receiveByte( bool wait )
{ {
fd_set set; fd_set set;
timeval timeout; timeval timeout;
FD_ZERO (&set); FD_ZERO (&set);
FD_SET (fd, &set); FD_SET (fd, &set);
/* Initialize the timeout data structure. */ /* Initialize the timeout data structure. */
timeout.tv_sec = 0; timeout.tv_sec = 0;
timeout.tv_usec = uTimeout; timeout.tv_usec = uTimeout;
/* select' returns 0 if timeout, 1 if input available, -1 if error. */ /* select' returns 0 if timeout, 1 if input available, -1 if error. */
if(select(FD_SETSIZE, &set, NULL, NULL, &timeout)==1) if(select(FD_SETSIZE, &set, NULL, NULL, &timeout)==1)
...@@ -287,10 +287,10 @@ int ComPort::sendBlock(unsigned char* msg, int len) ...@@ -287,10 +287,10 @@ int ComPort::sendBlock(unsigned char* msg, int len)
int ComPort::receiveBlock(unsigned char* msg, int len) int ComPort::receiveBlock(unsigned char* msg, int len)
{ {
int k; int k;
if(!len) if(!len)
return 0; return 0;
for(k=0;k<len;k++) for(k=0;k<len;k++)
{ {
try try
...@@ -302,12 +302,12 @@ int ComPort::receiveBlock(unsigned char* msg, int len) ...@@ -302,12 +302,12 @@ int ComPort::receiveBlock(unsigned char* msg, int len)
break; break;
} }
} }
if(!k) if(!k)
{ {
throw UniSetTypes::TimeOut(); throw UniSetTypes::TimeOut();
} }
return k; return k;
} }
...@@ -346,7 +346,7 @@ void ComPort::cleanupChannel() ...@@ -346,7 +346,7 @@ void ComPort::cleanupChannel()
waiting = old_waiting; waiting = old_waiting;
} }
// -------------------------------------------------------------------------------- // --------------------------------------------------------------------------------
void ComPort::setSpeed( std::string s ) void ComPort::setSpeed( const std::string& s )
{ {
Speed sp=getSpeed(s); Speed sp=getSpeed(s);
if( sp != ComPort::ComSpeed0 ) if( sp != ComPort::ComSpeed0 )
...@@ -424,13 +424,13 @@ std::string ComPort::getSpeed( Speed s ) ...@@ -424,13 +424,13 @@ std::string ComPort::getSpeed( Speed s )
// -------------------------------------------------------------------------------- // --------------------------------------------------------------------------------
#define CHECK_SPEED(var,speed) \ #define CHECK_SPEED(var,speed) \
if( var == __STRING(speed) ) \ if( var == __STRING(speed) ) \
return ComPort::ComSpeed##speed; return ComPort::ComSpeed##speed;
ComPort::Speed ComPort::getSpeed( const string s ) ComPort::Speed ComPort::getSpeed( const string& s )
{ {
// см. ComPort.h // см. ComPort.h
// сперва самые вероятные // сперва самые вероятные
CHECK_SPEED(s,9600) CHECK_SPEED(s,9600)
CHECK_SPEED(s,19200) CHECK_SPEED(s,19200)
CHECK_SPEED(s,38400) CHECK_SPEED(s,38400)
...@@ -450,7 +450,7 @@ ComPort::Speed ComPort::getSpeed( const string s ) ...@@ -450,7 +450,7 @@ ComPort::Speed ComPort::getSpeed( const string s )
CHECK_SPEED(s,1800) CHECK_SPEED(s,1800)
CHECK_SPEED(s,2400) CHECK_SPEED(s,2400)
CHECK_SPEED(s,4800) CHECK_SPEED(s,4800)
CHECK_SPEED(s,230400) CHECK_SPEED(s,230400)
CHECK_SPEED(s,460800) CHECK_SPEED(s,460800)
CHECK_SPEED(s,500000) CHECK_SPEED(s,500000)
......
...@@ -11,7 +11,7 @@ using namespace ModbusRTU; ...@@ -11,7 +11,7 @@ using namespace ModbusRTU;
using namespace UniSetTypes; using namespace UniSetTypes;
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
ModbusRTUMaster::ModbusRTUMaster( const string dev, bool use485, bool tr_ctl ): ModbusRTUMaster::ModbusRTUMaster( const string& dev, bool use485, bool tr_ctl ):
port(NULL), port(NULL),
myport(true) myport(true)
{ {
...@@ -67,7 +67,7 @@ void ModbusRTUMaster::setSpeed( ComPort::Speed s ) ...@@ -67,7 +67,7 @@ void ModbusRTUMaster::setSpeed( ComPort::Speed s )
port->setSpeed(s); port->setSpeed(s);
} }
// -------------------------------------------------------------------------------- // --------------------------------------------------------------------------------
void ModbusRTUMaster::setSpeed( const std::string s ) void ModbusRTUMaster::setSpeed( const std::string& s )
{ {
if( port != NULL ) if( port != NULL )
port->setSpeed(s); port->setSpeed(s);
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
using namespace ModbusRTU; using namespace ModbusRTU;
using namespace std; using namespace std;
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
ModbusRTUSlaveSlot::ModbusRTUSlaveSlot( const std::string dev, bool use485, bool tr_ctl ): ModbusRTUSlaveSlot::ModbusRTUSlaveSlot( const std::string& dev, bool use485, bool tr_ctl ):
ModbusRTUSlave(dev,use485,tr_ctl) ModbusRTUSlave(dev,use485,tr_ctl)
{ {
} }
......
...@@ -271,7 +271,7 @@ void ModbusTCPMaster::cleanInputStream() ...@@ -271,7 +271,7 @@ void ModbusTCPMaster::cleanInputStream()
while( ret > 0); while( ret > 0);
} }
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
bool ModbusTCPMaster::checkConnection( const std::string ip, int port, int timeout_msec ) bool ModbusTCPMaster::checkConnection( const std::string& ip, int port, int timeout_msec )
{ {
try try
{ {
...@@ -334,7 +334,7 @@ void ModbusTCPMaster::reconnect() ...@@ -334,7 +334,7 @@ void ModbusTCPMaster::reconnect()
} }
} }
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
void ModbusTCPMaster::connect( const std::string addr, int port ) void ModbusTCPMaster::connect( const std::string& addr, int port )
{ {
ost::InetAddress ia(addr.c_str()); ost::InetAddress ia(addr.c_str());
connect(ia,port); connect(ia,port);
......
...@@ -2539,7 +2539,7 @@ MEIMessageRetRDI::MEIMessageRetRDI( ModbusAddr _addr, ModbusByte devID, ModbusBy ...@@ -2539,7 +2539,7 @@ MEIMessageRetRDI::MEIMessageRetRDI( ModbusAddr _addr, ModbusByte devID, ModbusBy
func = fnMEI; func = fnMEI;
} }
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
bool MEIMessageRetRDI::addData( ModbusByte id, const std::string val ) bool MEIMessageRetRDI::addData( ModbusByte id, const std::string& val )
{ {
if( isFull() ) if( isFull() )
return false; return false;
...@@ -2813,7 +2813,7 @@ float ModbusRTU::dat2f( const ModbusData dat1, const ModbusData dat2 ) ...@@ -2813,7 +2813,7 @@ float ModbusRTU::dat2f( const ModbusData dat1, const ModbusData dat2 )
return f; return f;
} }
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
ModbusAddr ModbusRTU::str2mbAddr( const std::string val ) ModbusAddr ModbusRTU::str2mbAddr( const std::string& val )
{ {
if( val.empty() ) if( val.empty() )
return 0; return 0;
...@@ -2821,7 +2821,7 @@ ModbusAddr ModbusRTU::str2mbAddr( const std::string val ) ...@@ -2821,7 +2821,7 @@ ModbusAddr ModbusRTU::str2mbAddr( const std::string val )
return (ModbusAddr)UniSetTypes::uni_atoi(val); return (ModbusAddr)UniSetTypes::uni_atoi(val);
} }
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
ModbusData ModbusRTU::str2mbData( const std::string val ) ModbusData ModbusRTU::str2mbData( const std::string& val )
{ {
if( val.empty() ) if( val.empty() )
return 0; return 0;
......
...@@ -1202,7 +1202,7 @@ bool UInterface::isExist( UniSetTypes::ObjectId id, UniSetTypes::ObjectId node ) ...@@ -1202,7 +1202,7 @@ bool UInterface::isExist( UniSetTypes::ObjectId id, UniSetTypes::ObjectId node )
return false; return false;
} }
// -------------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------------
string UInterface::set_err(const string& pre, UniSetTypes::ObjectId id, UniSetTypes::ObjectId node) string UInterface::set_err(const std::string& pre, UniSetTypes::ObjectId id, UniSetTypes::ObjectId node)
{ {
if( id==UniSetTypes::DefaultObjectId ) if( id==UniSetTypes::DefaultObjectId )
return string(pre+" DefaultObjectId"); return string(pre+" DefaultObjectId");
......
...@@ -47,7 +47,7 @@ string IORFile::getIOR( const ObjectId id, const ObjectId node ) ...@@ -47,7 +47,7 @@ string IORFile::getIOR( const ObjectId id, const ObjectId node )
return sior; return sior;
} }
// ----------------------------------------------------------------------------------------- // -----------------------------------------------------------------------------------------
void IORFile::setIOR( const ObjectId id, const ObjectId node, const string sior ) void IORFile::setIOR( const ObjectId id, const ObjectId node, const string& sior )
{ {
string fname( genFName(id,node) ); string fname( genFName(id,node) );
ofstream ior_file(fname.c_str(), ios::out | ios::trunc); ofstream ior_file(fname.c_str(), ios::out | ios::trunc);
......
...@@ -31,7 +31,7 @@ using namespace std; ...@@ -31,7 +31,7 @@ using namespace std;
using namespace UniSetTypes; using namespace UniSetTypes;
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
float UniSetTypes::fcalibrate( float raw, float rawMin, float rawMax, float UniSetTypes::fcalibrate( float raw, float rawMin, float rawMax,
float calMin, float calMax, bool limit ) float calMin, float calMax, bool limit )
{ {
if( rawMax == rawMin ) return 0; // деление на 0!!! if( rawMax == rawMin ) return 0; // деление на 0!!!
...@@ -52,7 +52,7 @@ using namespace UniSetTypes; ...@@ -52,7 +52,7 @@ using namespace UniSetTypes;
if( ret < calMax ) if( ret < calMax )
return calMax; return calMax;
} }
return ret; return ret;
} }
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
...@@ -61,7 +61,7 @@ using namespace UniSetTypes; ...@@ -61,7 +61,7 @@ using namespace UniSetTypes;
{ {
if( rawMax == rawMin ) return 0; // деление на 0!!! if( rawMax == rawMin ) return 0; // деление на 0!!!
long ret = lroundf( (float)(raw - rawMin) * (float)(calMax - calMin) / long ret = lroundf( (float)(raw - rawMin) * (float)(calMax - calMin) /
(float)( rawMax - rawMin ) + calMin ); (float)( rawMax - rawMin ) + calMin );
if( !limit ) if( !limit )
...@@ -85,7 +85,7 @@ using namespace UniSetTypes; ...@@ -85,7 +85,7 @@ using namespace UniSetTypes;
if( ret < calMax ) if( ret < calMax )
return calMax; return calMax;
} }
return ret; return ret;
} }
...@@ -106,9 +106,9 @@ using namespace UniSetTypes; ...@@ -106,9 +106,9 @@ using namespace UniSetTypes;
UniSetTypes::IDList::IDList(): UniSetTypes::IDList::IDList():
node(UniSetTypes::conf->getLocalNode()) node(UniSetTypes::conf->getLocalNode())
{ {
} }
UniSetTypes::IDList::~IDList() UniSetTypes::IDList::~IDList()
{ {
} }
...@@ -120,11 +120,11 @@ using namespace UniSetTypes; ...@@ -120,11 +120,11 @@ using namespace UniSetTypes;
if( (*it) == id ) if( (*it) == id )
return; return;
} }
lst.push_back(id); lst.push_back(id);
} }
void UniSetTypes::IDList::del( ObjectId id ) void UniSetTypes::IDList::del( ObjectId id )
{ {
for( list<ObjectId>::iterator it=lst.begin(); it!=lst.end(); ++it ) for( list<ObjectId>::iterator it=lst.begin(); it!=lst.end(); ++it )
...@@ -146,7 +146,7 @@ using namespace UniSetTypes; ...@@ -146,7 +146,7 @@ using namespace UniSetTypes;
{ {
if( lst.empty() ) if( lst.empty() )
return UniSetTypes::DefaultObjectId; return UniSetTypes::DefaultObjectId;
return (*lst.begin()); return (*lst.begin());
} }
...@@ -159,18 +159,18 @@ using namespace UniSetTypes; ...@@ -159,18 +159,18 @@ using namespace UniSetTypes;
int i=0; int i=0;
for( list<ObjectId>::iterator it=lst.begin(); it!=lst.end(); ++it,i++ ) for( list<ObjectId>::iterator it=lst.begin(); it!=lst.end(); ++it,i++ )
(*seq)[i] = (*it); (*seq)[i] = (*it);
return seq; return seq;
} }
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
bool UniSetTypes::file_exist( const std::string filename ) bool UniSetTypes::file_exist( const std::string& filename )
{ {
std::ifstream file; std::ifstream file;
#ifdef HAVE_IOS_NOCREATE #ifdef HAVE_IOS_NOCREATE
file.open( filename.c_str(), std::ios::in | std::ios::nocreate ); file.open( filename.c_str(), std::ios::in | std::ios::nocreate );
#else #else
file.open( filename.c_str(), std::ios::in ); file.open( filename.c_str(), std::ios::in );
#endif #endif
bool result = false; bool result = false;
if( file ) if( file )
result = true; result = true;
...@@ -179,7 +179,7 @@ using namespace UniSetTypes; ...@@ -179,7 +179,7 @@ using namespace UniSetTypes;
return result; return result;
} }
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
UniSetTypes::IDList UniSetTypes::explode( const string str, char sep ) UniSetTypes::IDList UniSetTypes::explode( const string& str, char sep )
{ {
UniSetTypes::IDList l; UniSetTypes::IDList l;
...@@ -196,11 +196,11 @@ using namespace UniSetTypes; ...@@ -196,11 +196,11 @@ using namespace UniSetTypes;
} }
} }
while( pos!=string::npos ); while( pos!=string::npos );
return l; return l;
} }
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
std::list<std::string> UniSetTypes::explode_str( const string str, char sep ) std::list<std::string> UniSetTypes::explode_str( const string& str, char sep )
{ {
std::list<std::string> l; std::list<std::string> l;
...@@ -217,31 +217,31 @@ using namespace UniSetTypes; ...@@ -217,31 +217,31 @@ using namespace UniSetTypes;
} }
} }
while( pos!=string::npos ); while( pos!=string::npos );
return l; return l;
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
bool UniSetTypes::is_digit( const std::string s ) bool UniSetTypes::is_digit( const std::string& s )
{ {
for( std::string::const_iterator it=s.begin(); it!=s.end(); it++ ) for( std::string::const_iterator it=s.begin(); it!=s.end(); it++ )
{ {
if( !isdigit(*it) ) if( !isdigit(*it) )
return false; return false;
} }
return true; return true;
//return (std::count_if(s.begin(),s.end(),std::isdigit) == s.size()) ? true : false; //return (std::count_if(s.begin(),s.end(),std::isdigit) == s.size()) ? true : false;
} }
// -------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------
std::list<UniSetTypes::ParamSInfo> UniSetTypes::getSInfoList( string str, Configuration* conf ) std::list<UniSetTypes::ParamSInfo> UniSetTypes::getSInfoList( const string& str, Configuration* conf )
{ {
std::list<UniSetTypes::ParamSInfo> res; std::list<UniSetTypes::ParamSInfo> res;
std::list<std::string> l = UniSetTypes::explode_str(str,','); std::list<std::string> l = UniSetTypes::explode_str(str,',');
for( std::list<std::string>::iterator it=l.begin(); it!=l.end(); it++ ) for( std::list<std::string>::iterator it=l.begin(); it!=l.end(); it++ )
{ {
UniSetTypes::ParamSInfo item; UniSetTypes::ParamSInfo item;
std::list<std::string> p = UniSetTypes::explode_str((*it),'='); std::list<std::string> p = UniSetTypes::explode_str((*it),'=');
std::string s = ""; std::string s = "";
if( p.size() == 1 ) if( p.size() == 1 )
...@@ -258,8 +258,8 @@ using namespace UniSetTypes; ...@@ -258,8 +258,8 @@ using namespace UniSetTypes;
{ {
cerr << "WARNING: parse error for '" << (*it) << "'. IGNORE..." << endl; cerr << "WARNING: parse error for '" << (*it) << "'. IGNORE..." << endl;
continue; continue;
} }
item.fname = s; item.fname = s;
std::list<std::string> t = UniSetTypes::explode_str(s,'@'); std::list<std::string> t = UniSetTypes::explode_str(s,'@');
if( t.size() == 1 ) if( t.size() == 1 )
...@@ -279,7 +279,7 @@ using namespace UniSetTypes; ...@@ -279,7 +279,7 @@ using namespace UniSetTypes;
item.si.id = uni_atoi(s_id); item.si.id = uni_atoi(s_id);
else else
item.si.id = conf->getSensorID(s_id); item.si.id = conf->getSensorID(s_id);
if( is_digit(s_node.c_str()) ) if( is_digit(s_node.c_str()) )
item.si.node = uni_atoi(s_node); item.si.node = uni_atoi(s_node);
else else
...@@ -293,12 +293,12 @@ using namespace UniSetTypes; ...@@ -293,12 +293,12 @@ using namespace UniSetTypes;
res.push_back(item); res.push_back(item);
} }
return res; return res;
} }
// -------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------
UniversalIO::IOType UniSetTypes::getIOType( const std::string stype ) UniversalIO::IOType UniSetTypes::getIOType( const std::string& stype )
{ {
if ( stype == "DI" || stype == "di" ) if ( stype == "DI" || stype == "di" )
return UniversalIO::DI; return UniversalIO::DI;
...@@ -336,7 +336,7 @@ using namespace UniSetTypes; ...@@ -336,7 +336,7 @@ using namespace UniSetTypes;
<< " precision=" << c.precision; << " precision=" << c.precision;
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
bool UniSetTypes::check_filter( UniXML_iterator& it, const std::string f_prop, const std::string f_val ) bool UniSetTypes::check_filter( UniXML_iterator& it, const std::string& f_prop, const std::string& f_val )
{ {
if( f_prop.empty() ) if( f_prop.empty() )
return true; return true;
...@@ -352,23 +352,23 @@ using namespace UniSetTypes; ...@@ -352,23 +352,23 @@ using namespace UniSetTypes;
return true; return true;
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
string UniSetTypes::timeToString(time_t tm, const std::string brk ) string UniSetTypes::timeToString(time_t tm, const std::string& brk )
{ {
struct tm *tms = localtime(&tm); struct tm *tms = localtime(&tm);
ostringstream time; ostringstream time;
time << std::setw(2) << std::setfill('0') << tms->tm_hour << brk; time << std::setw(2) << std::setfill('0') << tms->tm_hour << brk;
time << std::setw(2) << std::setfill('0') << tms->tm_min << brk; time << std::setw(2) << std::setfill('0') << tms->tm_min << brk;
time << std::setw(2) << std::setfill('0') << tms->tm_sec; time << std::setw(2) << std::setfill('0') << tms->tm_sec;
return time.str(); return time.str();
} }
string UniSetTypes::dateToString(time_t tm, const std::string brk ) string UniSetTypes::dateToString(time_t tm, const std::string& brk )
{ {
struct tm *tms = localtime(&tm); struct tm *tms = localtime(&tm);
ostringstream date; ostringstream date;
date << std::setw(4) << std::setfill('0') << tms->tm_year+1900 << brk; date << std::setw(4) << std::setfill('0') << tms->tm_year+1900 << brk;
date << std::setw(2) << std::setfill('0') << tms->tm_mon+1 << brk; date << std::setw(2) << std::setfill('0') << tms->tm_mon+1 << brk;
date << std::setw(2) << std::setfill('0') << tms->tm_mday; date << std::setw(2) << std::setfill('0') << tms->tm_mday;
return date.str(); return date.str();
} }
......
...@@ -40,7 +40,7 @@ IOController::IOController(): ...@@ -40,7 +40,7 @@ IOController::IOController():
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
IOController::IOController(const string name, const string section): IOController::IOController(const string& name, const string& section):
UniSetManager(name, section), UniSetManager(name, section),
ioMutex(name+"_ioMutex"), ioMutex(name+"_ioMutex"),
isPingDBServer(true) isPingDBServer(true)
......
...@@ -47,7 +47,7 @@ maxAttemtps(conf->getPIntField("ConsumerMaxAttempts", 5)) ...@@ -47,7 +47,7 @@ maxAttemtps(conf->getPIntField("ConsumerMaxAttempts", 5))
} }
IONotifyController::IONotifyController(const string name, const string section, NCRestorer* d ): IONotifyController::IONotifyController(const string& name, const string& section, NCRestorer* d ):
IOController(name, section), IOController(name, section),
restorer(d), restorer(d),
askIOMutex(name+"askIOMutex"), askIOMutex(name+"askIOMutex"),
......
...@@ -221,7 +221,7 @@ const DebugStream& DebugStream::operator=( const DebugStream& r ) ...@@ -221,7 +221,7 @@ const DebugStream& DebugStream::operator=( const DebugStream& r )
} }
//-------------------------------------------------------------------------- //--------------------------------------------------------------------------
/// Sets the debugstreams' logfile to f. /// Sets the debugstreams' logfile to f.
void DebugStream::logFile(const std::string f) void DebugStream::logFile( const std::string& f )
{ {
fname = f; fname = f;
if (internal) { if (internal) {
......
...@@ -44,13 +44,13 @@ Restorer_XML::~Restorer_XML() ...@@ -44,13 +44,13 @@ Restorer_XML::~Restorer_XML()
{ {
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void Restorer_XML::setItemFilter( const string field, const string val ) void Restorer_XML::setItemFilter( const string& field, const string& val )
{ {
i_filterField = field; i_filterField = field;
i_filterValue = val; i_filterValue = val;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void Restorer_XML::setConsumerFilter( const string field, const string val ) void Restorer_XML::setConsumerFilter( const string& field, const string& val )
{ {
c_filterField = field; c_filterField = field;
c_filterValue = val; c_filterValue = val;
...@@ -184,7 +184,7 @@ bool Restorer_XML::check_consumer_item( UniXML_iterator& it ) ...@@ -184,7 +184,7 @@ bool Restorer_XML::check_consumer_item( UniXML_iterator& it )
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
xmlNode* Restorer_XML::find_node( UniXML& xml, xmlNode* root, xmlNode* Restorer_XML::find_node( UniXML& xml, xmlNode* root,
const string& nodename, const string nm ) const string& nodename, const string& nm )
{ {
UniXML_iterator it(root); UniXML_iterator it(root);
if( it.goChildren() ) if( it.goChildren() )
......
...@@ -35,7 +35,7 @@ using namespace UniSetTypes; ...@@ -35,7 +35,7 @@ using namespace UniSetTypes;
using namespace UniversalIO; using namespace UniversalIO;
using namespace std; using namespace std;
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
SViewer::SViewer(const string csec, bool sn): SViewer::SViewer(const string& csec, bool sn):
csec(csec), csec(csec),
rep(UniSetTypes::conf), rep(UniSetTypes::conf),
cache(500, 15), cache(500, 15),
...@@ -79,7 +79,7 @@ void SViewer::view() ...@@ -79,7 +79,7 @@ void SViewer::view()
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
void SViewer::readSection(const string section, const string secRoot) void SViewer::readSection( const string& section, const string& secRoot )
{ {
ListObjectName lst; ListObjectName lst;
string curSection; string curSection;
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
using namespace std; using namespace std;
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
WDTInterface::WDTInterface( const std::string _dev ): WDTInterface::WDTInterface( const std::string& _dev ):
dev(_dev) dev(_dev)
{ {
} }
......
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