Commit f48f2b58 authored by Pavel Vainerman's avatar Pavel Vainerman

Перевёл глобальный UniSetTypes::conf на использование shared_ptr + singleton

(заодно привёл форматирование к общему виду "пробелы вместо tab").
parent dab976bb
...@@ -56,13 +56,13 @@ string conffile("configure.xml"); ...@@ -56,13 +56,13 @@ string conffile("configure.xml");
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
static bool commandToAll( const string& section, ObjectRepository *rep, Command cmd ); static bool commandToAll( const string& section, ObjectRepository *rep, Command cmd );
static void createSections( UniSetTypes::Configuration* c ); static void createSections( const std::shared_ptr<UniSetTypes::Configuration> c );
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
int omap(); int omap();
int configure( const string& args, UInterface &ui ); int configure( const string& args, UInterface &ui );
int logRotate( const string& args, UInterface &ui ); int logRotate( const string& args, UInterface &ui );
int setValue( const string& args, UInterface &ui, Configuration* conf = UniSetTypes::conf ); int setValue( const string& args, UInterface &ui );
int getValue( const string& args, UInterface &ui, Configuration* conf = UniSetTypes::conf ); int getValue( const string& args, UInterface &ui );
int getRawValue( const string& args, UInterface &ui ); int getRawValue( const string& args, UInterface &ui );
int getState( const string& args, UInterface &ui ); int getState( const string& args, UInterface &ui );
int getCalibrate( const string& args, UInterface &ui ); int getCalibrate( const string& args, UInterface &ui );
...@@ -153,14 +153,14 @@ int main(int argc, char** argv) ...@@ -153,14 +153,14 @@ int main(int argc, char** argv)
case 'b': //--create case 'b': //--create
{ {
uniset_init(argc,argv,conffile); auto conf = uniset_init(argc,argv,conffile);
createSections(conf); createSections(conf);
} }
return 0; return 0;
case 'x': //--setValue case 'x': //--setValue
{ {
uniset_init(argc,argv,conffile); auto conf = uniset_init(argc,argv,conffile);
UInterface ui(conf); UInterface ui(conf);
return setValue(optarg,ui); return setValue(optarg,ui);
} }
...@@ -169,7 +169,7 @@ int main(int argc, char** argv) ...@@ -169,7 +169,7 @@ int main(int argc, char** argv)
case 'g': //--getValue case 'g': //--getValue
{ {
// cout<<"(main):received option --getValue='"<<optarg<<"'"<<endl; // cout<<"(main):received option --getValue='"<<optarg<<"'"<<endl;
uniset_init(argc,argv,conffile); auto conf = uniset_init(argc,argv,conffile);
UInterface ui(conf); UInterface ui(conf);
return getValue(optarg,ui); return getValue(optarg,ui);
} }
...@@ -178,7 +178,7 @@ int main(int argc, char** argv) ...@@ -178,7 +178,7 @@ int main(int argc, char** argv)
case 'w': //--getRawValue case 'w': //--getRawValue
{ {
// cout<<"(main):received option --getRawValue='"<<optarg<<"'"<<endl; // cout<<"(main):received option --getRawValue='"<<optarg<<"'"<<endl;
uniset_init(argc,argv,conffile); auto conf = uniset_init(argc,argv,conffile);
UInterface ui(conf); UInterface ui(conf);
return getRawValue(optarg,ui); return getRawValue(optarg,ui);
} }
...@@ -187,7 +187,7 @@ int main(int argc, char** argv) ...@@ -187,7 +187,7 @@ int main(int argc, char** argv)
case 'p': //--oinfo case 'p': //--oinfo
{ {
// cout<<"(main):received option --oinfo='"<<optarg<<"'"<<endl; // cout<<"(main):received option --oinfo='"<<optarg<<"'"<<endl;
uniset_init(argc,argv,conffile); auto conf = uniset_init(argc,argv,conffile);
UInterface ui(conf); UInterface ui(conf);
return oinfo(optarg,ui); return oinfo(optarg,ui);
} }
...@@ -196,7 +196,7 @@ int main(int argc, char** argv) ...@@ -196,7 +196,7 @@ int main(int argc, char** argv)
case 'e': //--exist case 'e': //--exist
{ {
// cout<<"(main):received option --exist"<<endl; // cout<<"(main):received option --exist"<<endl;
uniset_init(argc,argv,conffile); auto conf = uniset_init(argc,argv,conffile);
UInterface ui(conf); UInterface ui(conf);
verb = true; verb = true;
...@@ -213,7 +213,7 @@ int main(int argc, char** argv) ...@@ -213,7 +213,7 @@ int main(int argc, char** argv)
case 's': //--start case 's': //--start
{ {
// cout<<"(main):received option --start"<<endl; // cout<<"(main):received option --start"<<endl;
uniset_init(argc,argv,conffile); auto conf = uniset_init(argc,argv,conffile);
UInterface ui(conf); UInterface ui(conf);
Command cmd=StartUp; Command cmd=StartUp;
...@@ -227,7 +227,7 @@ int main(int argc, char** argv) ...@@ -227,7 +227,7 @@ int main(int argc, char** argv)
case 'r': //--configure case 'r': //--configure
{ {
uniset_init(argc,argv,conffile); auto conf = uniset_init(argc,argv,conffile);
UInterface ui(conf); UInterface ui(conf);
return configure(optarg,ui); return configure(optarg,ui);
} }
...@@ -236,7 +236,7 @@ int main(int argc, char** argv) ...@@ -236,7 +236,7 @@ int main(int argc, char** argv)
case 'f': //--finish case 'f': //--finish
{ {
// cout<<"(main):received option --finish"<<endl; // cout<<"(main):received option --finish"<<endl;
uniset_init(argc,argv,conffile); auto conf = uniset_init(argc,argv,conffile);
UInterface ui(conf); UInterface ui(conf);
Command cmd=Finish; Command cmd=Finish;
...@@ -252,7 +252,7 @@ int main(int argc, char** argv) ...@@ -252,7 +252,7 @@ int main(int argc, char** argv)
case 'l': //--logrotate case 'l': //--logrotate
{ {
uniset_init(argc,argv,conffile); auto conf = uniset_init(argc,argv,conffile);
UInterface ui(conf); UInterface ui(conf);
return logRotate(optarg, ui); return logRotate(optarg, ui);
} }
...@@ -261,7 +261,7 @@ int main(int argc, char** argv) ...@@ -261,7 +261,7 @@ int main(int argc, char** argv)
case 'y': //--getCalibrate case 'y': //--getCalibrate
{ {
// cout<<"(main):received option --getCalibrate='"<<optarg<<"'"<<endl; // cout<<"(main):received option --getCalibrate='"<<optarg<<"'"<<endl;
uniset_init(argc,argv,conffile); auto conf = uniset_init(argc,argv,conffile);
UInterface ui(conf); UInterface ui(conf);
return getCalibrate(optarg, ui); return getCalibrate(optarg, ui);
} }
...@@ -270,7 +270,7 @@ int main(int argc, char** argv) ...@@ -270,7 +270,7 @@ int main(int argc, char** argv)
case 'u': //--foldUp case 'u': //--foldUp
{ {
// cout<<"(main):received option --foldUp"<<endl; // cout<<"(main):received option --foldUp"<<endl;
uniset_init(argc,argv,conffile); auto conf = uniset_init(argc,argv,conffile);
UInterface ui(conf); UInterface ui(conf);
Command cmd=FoldUp; Command cmd=FoldUp;
...@@ -449,7 +449,7 @@ static bool commandToAll(const string& section, ObjectRepository *rep, Command c ...@@ -449,7 +449,7 @@ static bool commandToAll(const string& section, ObjectRepository *rep, Command c
} }
// ============================================================================================== // ==============================================================================================
static void createSections( UniSetTypes::Configuration* rconf ) static void createSections( const std::shared_ptr<UniSetTypes::Configuration> rconf )
{ {
ObjectRepositoryFactory repf(rconf); ObjectRepositoryFactory repf(rconf);
...@@ -469,7 +469,7 @@ int omap() ...@@ -469,7 +469,7 @@ int omap()
{ {
cout.setf(ios::left, ios::adjustfield); cout.setf(ios::left, ios::adjustfield);
cout << "========================== ObjectsMap =================================\n"; cout << "========================== ObjectsMap =================================\n";
conf->oind->printMap(cout); uniset_conf()->oind->printMap(cout);
cout << "==========================================================================\n"; cout << "==========================================================================\n";
} }
catch( Exception& ex ) catch( Exception& ex )
...@@ -482,9 +482,10 @@ int omap() ...@@ -482,9 +482,10 @@ int omap()
} }
// -------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------
int setValue( const string& args, UInterface &ui, Configuration* conf ) int setValue( const string& args, UInterface &ui )
{ {
int err = 0; int err = 0;
auto conf = ui.getConf();
typedef std::list<UniSetTypes::ParamSInfo> SList; typedef std::list<UniSetTypes::ParamSInfo> SList;
SList sl = UniSetTypes::getSInfoList(args, conf); SList sl = UniSetTypes::getSInfoList(args, conf);
...@@ -536,12 +537,13 @@ int setValue( const string& args, UInterface &ui, Configuration* conf ) ...@@ -536,12 +537,13 @@ int setValue( const string& args, UInterface &ui, Configuration* conf )
} }
// -------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------
int getValue( const string& args, UInterface &ui, Configuration* conf ) int getValue( const string& args, UInterface &ui )
{ {
int err = 0; int err = 0;
auto conf = ui.getConf();
typedef std::list<UniSetTypes::ParamSInfo> SList; typedef std::list<UniSetTypes::ParamSInfo> SList;
SList sl = UniSetTypes::getSInfoList( args, UniSetTypes::conf ); SList sl = UniSetTypes::getSInfoList( args, conf );
if( verb ) if( verb )
cout << "====== getValue ======" << endl; cout << "====== getValue ======" << endl;
...@@ -594,8 +596,9 @@ int getValue( const string& args, UInterface &ui, Configuration* conf ) ...@@ -594,8 +596,9 @@ int getValue( const string& args, UInterface &ui, Configuration* conf )
int getCalibrate( const std::string& args, UInterface &ui ) int getCalibrate( const std::string& args, UInterface &ui )
{ {
int err = 0; int err = 0;
auto conf = ui.getConf();
typedef std::list<UniSetTypes::ParamSInfo> SList; typedef std::list<UniSetTypes::ParamSInfo> SList;
SList sl = UniSetTypes::getSInfoList( args, UniSetTypes::conf ); SList sl = UniSetTypes::getSInfoList( args, conf );
if( verb ) if( verb )
cout << "====== getCalibrate ======" << endl; cout << "====== getCalibrate ======" << endl;
...@@ -635,8 +638,9 @@ int getCalibrate( const std::string& args, UInterface &ui ) ...@@ -635,8 +638,9 @@ int getCalibrate( const std::string& args, UInterface &ui )
int getRawValue( const std::string& args, UInterface &ui ) int getRawValue( const std::string& args, UInterface &ui )
{ {
int err = 0; int err = 0;
auto conf = ui.getConf();
typedef std::list<UniSetTypes::ParamSInfo> SList; typedef std::list<UniSetTypes::ParamSInfo> SList;
SList sl = UniSetTypes::getSInfoList( args, UniSetTypes::conf ); SList sl = UniSetTypes::getSInfoList( args, conf );
if( verb ) if( verb )
cout << "====== getRawValue ======" << endl; cout << "====== getRawValue ======" << endl;
for( SList::iterator it=sl.begin(); it!=sl.end(); ++it ) for( SList::iterator it=sl.begin(); it!=sl.end(); ++it )
...@@ -668,6 +672,7 @@ int getRawValue( const std::string& args, UInterface &ui ) ...@@ -668,6 +672,7 @@ int getRawValue( const std::string& args, UInterface &ui )
// -------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------
int logRotate( const string& arg, UInterface &ui ) int logRotate( const string& arg, UInterface &ui )
{ {
auto conf = ui.getConf();
// посылка всем // посылка всем
if( arg.empty() || (arg.c_str())[0]!='-' ) if( arg.empty() || (arg.c_str())[0]!='-' )
{ {
...@@ -699,6 +704,7 @@ int logRotate( const string& arg, UInterface &ui ) ...@@ -699,6 +704,7 @@ int logRotate( const string& arg, UInterface &ui )
// -------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------
int configure( const string& arg, UInterface &ui ) int configure( const string& arg, UInterface &ui )
{ {
auto conf = ui.getConf();
// посылка всем // посылка всем
if( arg.empty() || (arg.c_str())[0]!='-' ) if( arg.empty() || (arg.c_str())[0]!='-' )
{ {
......
...@@ -36,7 +36,7 @@ int main(int argc, char** argv) ...@@ -36,7 +36,7 @@ int main(int argc, char** argv)
return 0; return 0;
} }
uniset_init(argc,argv,"configure.xml"); auto conf = uniset_init(argc,argv,"configure.xml");
// определяем ID объекта // определяем ID объекта
......
...@@ -36,8 +36,8 @@ int main( int argc, char **argv ) ...@@ -36,8 +36,8 @@ int main( int argc, char **argv )
} }
// ------------------------------------- // -------------------------------------
uniset_init(argc, argv, "configure.xml" ); auto conf = uniset_init(argc, argv, "configure.xml" );
UInterface ui; UInterface ui(conf);
string sid(conf->getArgParam("--sid")); string sid(conf->getArgParam("--sid"));
if( sid.empty() ) if( sid.empty() )
...@@ -46,7 +46,7 @@ int main( int argc, char **argv ) ...@@ -46,7 +46,7 @@ int main( int argc, char **argv )
return 1; return 1;
} }
std::list<UniSetTypes::ParamSInfo> lst = UniSetTypes::getSInfoList(sid,UniSetTypes::conf); std::list<UniSetTypes::ParamSInfo> lst = UniSetTypes::getSInfoList(sid,conf);
if( lst.empty() ) if( lst.empty() )
{ {
......
...@@ -19,7 +19,7 @@ int main( int argc, const char **argv ) ...@@ -19,7 +19,7 @@ int main( int argc, const char **argv )
return 0; return 0;
} }
uniset_init(argc,argv,"configure.xml"); auto conf = uniset_init(argc,argv,"configure.xml");
ObjectId ID(DefaultObjectId); ObjectId ID(DefaultObjectId);
string name = conf->getArgParam("--name", "TestProc"); string name = conf->getArgParam("--name", "TestProc");
......
...@@ -21,7 +21,7 @@ int main(int argc, const char **argv) ...@@ -21,7 +21,7 @@ int main(int argc, const char **argv)
return 0; return 0;
} }
uniset_init(argc,argv,"configure.xml"); auto conf = uniset_init(argc,argv,"configure.xml");
bool fullname = false; bool fullname = false;
if( findArgParam("--fullname",conf->getArgc(),conf->getArgv()) != -1 ) if( findArgParam("--fullname",conf->getArgc(),conf->getArgv()) != -1 )
......
...@@ -51,10 +51,10 @@ class <xsl:value-of select="$CLASSNAME"/>_SK: ...@@ -51,10 +51,10 @@ class <xsl:value-of select="$CLASSNAME"/>_SK:
{ {
public: public:
<xsl:if test="not(normalize-space($OID))=''"> <xsl:if test="not(normalize-space($OID))=''">
<xsl:value-of select="$CLASSNAME"/>_SK( UniSetTypes::ObjectId id = UniSetTypes::conf->getObjectID("<xsl:value-of select="$OID"/>"), xmlNode* node=UniSetTypes::conf->getNode("<xsl:value-of select="normalize-space($OID)"/>"), const string&amp; argprefix="" ); <xsl:value-of select="$CLASSNAME"/>_SK( UniSetTypes::ObjectId id = UniSetTypes::uniset_conf()->getObjectID("<xsl:value-of select="$OID"/>"), xmlNode* node=UniSetTypes::uniset_conf()->getNode("<xsl:value-of select="normalize-space($OID)"/>"), const string&amp; argprefix="" );
</xsl:if> </xsl:if>
<xsl:if test="normalize-space($OID)=''"> <xsl:if test="normalize-space($OID)=''">
<xsl:value-of select="$CLASSNAME"/>_SK( UniSetTypes::ObjectId id, xmlNode* node=UniSetTypes::conf->getNode("<xsl:value-of select="normalize-space($OID)"/>") ); <xsl:value-of select="$CLASSNAME"/>_SK( UniSetTypes::ObjectId id, xmlNode* node=UniSetTypes::uniset_conf()->getNode("<xsl:value-of select="normalize-space($OID)"/>") );
</xsl:if> </xsl:if>
<xsl:value-of select="$CLASSNAME"/>_SK(); <xsl:value-of select="$CLASSNAME"/>_SK();
......
...@@ -52,10 +52,10 @@ class <xsl:value-of select="$CLASSNAME"/>_SK: ...@@ -52,10 +52,10 @@ class <xsl:value-of select="$CLASSNAME"/>_SK:
{ {
public: public:
<xsl:if test="not(normalize-space($OID))=''"> <xsl:if test="not(normalize-space($OID))=''">
<xsl:value-of select="$CLASSNAME"/>_SK( UniSetTypes::ObjectId id = conf->getObjectID("<xsl:value-of select="$OID"/>"), xmlNode* node=UniSetTypes::conf->getNode("<xsl:value-of select="normalize-space($CNAME)"/>"), const std::string&amp; argprefix="<xsl:value-of select="normalize-space($ARGPREFIX)"/>" ); <xsl:value-of select="$CLASSNAME"/>_SK( UniSetTypes::ObjectId id = UniSetTypes::uniset_conf()->getObjectID("<xsl:value-of select="$OID"/>"), xmlNode* node=UniSetTypes::uniset_conf()->getNode("<xsl:value-of select="normalize-space($CNAME)"/>"), const std::string&amp; argprefix="<xsl:value-of select="normalize-space($ARGPREFIX)"/>" );
</xsl:if> </xsl:if>
<xsl:if test="normalize-space($OID)=''"> <xsl:if test="normalize-space($OID)=''">
<xsl:value-of select="$CLASSNAME"/>_SK( UniSetTypes::ObjectId id, xmlNode* node=UniSetTypes::conf->getNode("<xsl:value-of select="normalize-space($CNAME)"/>"), const std::string&amp; argprefix="<xsl:value-of select="normalize-space($ARGPREFIX)"/>" ); <xsl:value-of select="$CLASSNAME"/>_SK( UniSetTypes::ObjectId id, xmlNode* node=UniSetTypes::uniset_conf()->getNode("<xsl:value-of select="normalize-space($CNAME)"/>"), const std::string&amp; argprefix="<xsl:value-of select="normalize-space($ARGPREFIX)"/>" );
</xsl:if> </xsl:if>
<xsl:value-of select="$CLASSNAME"/>_SK(); <xsl:value-of select="$CLASSNAME"/>_SK();
virtual ~<xsl:value-of select="$CLASSNAME"/>_SK(); virtual ~<xsl:value-of select="$CLASSNAME"/>_SK();
......
...@@ -50,9 +50,7 @@ int main( int argc,char* argv[] ) ...@@ -50,9 +50,7 @@ int main( int argc,char* argv[] )
try try
{ {
string confile = UniSetTypes::getArgParam( "--confile", argc, argv, "configure.xml" ); auto conf = uniset_init(argc, argv);
conf = new Configuration(argc, argv,confile);
// определяем ID объекта // определяем ID объекта
ObjectId ID(DefaultObjectId); ObjectId ID(DefaultObjectId);
...@@ -74,7 +72,7 @@ int main( int argc,char* argv[] ) ...@@ -74,7 +72,7 @@ int main( int argc,char* argv[] )
string logname( conf->getLogDir() + logfilename ); string logname( conf->getLogDir() + logfilename );
obj.mylog.logFile( logname.c_str() ); obj.mylog.logFile( logname.c_str() );
UniSetActivator* act = UniSetActivator::Instance(); auto act = UniSetActivator::Instance();
act-&gt;addObject(static_cast&lt;class UniSetObject*&gt;(&amp;obj)); act-&gt;addObject(static_cast&lt;class UniSetObject*&gt;(&amp;obj));
SystemMessage sm(SystemMessage::StartUp); SystemMessage sm(SystemMessage::StartUp);
......
...@@ -52,9 +52,7 @@ int main( int argc, const char** argv ) ...@@ -52,9 +52,7 @@ int main( int argc, const char** argv )
try try
{ {
string confile = UniSetTypes::getArgParam( "--confile", argc, argv, "configure.xml" ); auto conf = uniset_init(argc, argv);
conf = new Configuration(argc, argv, confile);
<xsl:if test="not(normalize-space(//@OID))=''"> <xsl:if test="not(normalize-space(//@OID))=''">
<xsl:value-of select="$CLASSNAME"/> obj; <xsl:value-of select="$CLASSNAME"/> obj;
...@@ -82,7 +80,7 @@ int main( int argc, const char** argv ) ...@@ -82,7 +80,7 @@ int main( int argc, const char** argv )
</xsl:if> </xsl:if>
UniSetActivator* act = UniSetActivator::Instance(); auto act = UniSetActivator::Instance();
act-&gt;addObject(static_cast&lt;class UniSetObject*&gt;(&amp;obj)); act-&gt;addObject(static_cast&lt;class UniSetObject*&gt;(&amp;obj));
SystemMessage sm(SystemMessage::StartUp); SystemMessage sm(SystemMessage::StartUp);
......
...@@ -9,7 +9,7 @@ int main( int argc, const char **argv ) ...@@ -9,7 +9,7 @@ int main( int argc, const char **argv )
{ {
try try
{ {
uniset_init(argc, argv); auto conf = uniset_init(argc, argv);
string logfilename = conf->getArgParam("--logfile", "Skel.log"); string logfilename = conf->getArgParam("--logfile", "Skel.log");
string logname( conf->getLogDir() + logfilename ); string logname( conf->getLogDir() + logfilename );
...@@ -17,7 +17,7 @@ int main( int argc, const char **argv ) ...@@ -17,7 +17,7 @@ int main( int argc, const char **argv )
ulog.logFile( logname.c_str() ); ulog.logFile( logname.c_str() );
// conf->initDebug(dlog,"dlog"); // conf->initDebug(dlog,"dlog");
UniSetActivator act; auto act = UniSetActivator::Instance();
xmlNode* cnode = conf->getNode("Skel"); xmlNode* cnode = conf->getNode("Skel");
if( cnode == NULL ) if( cnode == NULL )
{ {
...@@ -35,7 +35,7 @@ int main( int argc, const char **argv ) ...@@ -35,7 +35,7 @@ int main( int argc, const char **argv )
ulog << "(Skel::main): -------------- Skel START -------------------------\n\n"; ulog << "(Skel::main): -------------- Skel START -------------------------\n\n";
dlog << "\n\n\n"; dlog << "\n\n\n";
dlog << "(Skel::main): -------------- Skel START -------------------------\n\n"; dlog << "(Skel::main): -------------- Skel START -------------------------\n\n";
act.run(false); act->run(false);
} }
catch(SystemError& err) catch(SystemError& err)
{ {
......
...@@ -8,7 +8,7 @@ class Skel: ...@@ -8,7 +8,7 @@ class Skel:
public Skel_SK public Skel_SK
{ {
public: public:
Skel( UniSetTypes::ObjectId id, xmlNode* confnode = UniSetTypes::conf->getNode("Skel") ); Skel( UniSetTypes::ObjectId id, xmlNode* confnode = UniSetTypes::uniset_conf()->getNode("Skel") );
virtual ~Skel(); virtual ~Skel();
protected: protected:
......
...@@ -8,7 +8,7 @@ class TestGen: ...@@ -8,7 +8,7 @@ class TestGen:
public TestGen_SK public TestGen_SK
{ {
public: public:
TestGen( UniSetTypes::ObjectId id, xmlNode* confnode = UniSetTypes::conf->getNode("TestGen") ); TestGen( UniSetTypes::ObjectId id, xmlNode* confnode = UniSetTypes::uniset_conf()->getNode("TestGen") );
virtual ~TestGen(); virtual ~TestGen();
......
...@@ -8,7 +8,7 @@ class TestGenAlone: ...@@ -8,7 +8,7 @@ class TestGenAlone:
public TestGenAlone_SK public TestGenAlone_SK
{ {
public: public:
TestGenAlone( UniSetTypes::ObjectId id, xmlNode* confnode = UniSetTypes::conf->getNode("TestGenAlone") ); TestGenAlone( UniSetTypes::ObjectId id, xmlNode* confnode = UniSetTypes::uniset_conf()->getNode("TestGenAlone") );
virtual ~TestGenAlone(); virtual ~TestGenAlone();
......
...@@ -59,7 +59,7 @@ DBServer_MySQL::DBServer_MySQL(ObjectId id): ...@@ -59,7 +59,7 @@ DBServer_MySQL::DBServer_MySQL(ObjectId id):
} }
DBServer_MySQL::DBServer_MySQL(): DBServer_MySQL::DBServer_MySQL():
DBServer(conf->getDBServer()), DBServer(uniset_conf()->getDBServer()),
db(new MySQLInterface()), db(new MySQLInterface()),
PingTime(300000), PingTime(300000),
ReconnectTime(180000), ReconnectTime(180000),
...@@ -266,6 +266,8 @@ void DBServer_MySQL::init_dbserver() ...@@ -266,6 +266,8 @@ void DBServer_MySQL::init_dbserver()
return; return;
} }
auto conf = uniset_conf();
if( conf->getDBServer() == UniSetTypes::DefaultObjectId ) if( conf->getDBServer() == UniSetTypes::DefaultObjectId )
{ {
ostringstream msg; ostringstream msg;
...@@ -335,6 +337,8 @@ void DBServer_MySQL::init_dbserver() ...@@ -335,6 +337,8 @@ void DBServer_MySQL::init_dbserver()
//-------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------
void DBServer_MySQL::createTables( MySQLInterface *db ) void DBServer_MySQL::createTables( MySQLInterface *db )
{ {
auto conf = uniset_conf();
UniXML::iterator it( conf->getNode("Tables") ); UniXML::iterator it( conf->getNode("Tables") );
if(!it) if(!it)
{ {
......
...@@ -21,7 +21,7 @@ int main(int argc, char** argv) ...@@ -21,7 +21,7 @@ int main(int argc, char** argv)
return 0; return 0;
} }
uniset_init(argc,argv,"configure.xml"); auto conf = uniset_init(argc,argv,"configure.xml");
ObjectId ID = conf->getDBServer(); ObjectId ID = conf->getDBServer();
......
...@@ -57,7 +57,7 @@ DBServer_SQLite::DBServer_SQLite( ObjectId id ): ...@@ -57,7 +57,7 @@ DBServer_SQLite::DBServer_SQLite( ObjectId id ):
} }
DBServer_SQLite::DBServer_SQLite(): DBServer_SQLite::DBServer_SQLite():
DBServer(conf->getDBServer()), DBServer(uniset_conf()->getDBServer()),
db(new SQLiteInterface()), db(new SQLiteInterface()),
PingTime(300000), PingTime(300000),
ReconnectTime(180000), ReconnectTime(180000),
...@@ -251,6 +251,8 @@ void DBServer_SQLite::init_dbserver() ...@@ -251,6 +251,8 @@ void DBServer_SQLite::init_dbserver()
return; return;
} }
auto conf = uniset_conf();
if( conf->getDBServer() == UniSetTypes::DefaultObjectId ) if( conf->getDBServer() == UniSetTypes::DefaultObjectId )
{ {
ostringstream msg; ostringstream msg;
...@@ -313,6 +315,7 @@ void DBServer_SQLite::init_dbserver() ...@@ -313,6 +315,7 @@ void DBServer_SQLite::init_dbserver()
//-------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------
void DBServer_SQLite::createTables( SQLiteInterface *db ) void DBServer_SQLite::createTables( SQLiteInterface *db )
{ {
auto conf = uniset_conf();
UniXML::iterator it( conf->getNode("Tables") ); UniXML::iterator it( conf->getNode("Tables") );
if(!it) if(!it)
{ {
......
...@@ -21,7 +21,7 @@ int main(int argc, char** argv) ...@@ -21,7 +21,7 @@ int main(int argc, char** argv)
return 0; return 0;
} }
uniset_init(argc,argv,"configure.xml"); auto conf = uniset_init(argc,argv,"configure.xml");
ObjectId ID = conf->getDBServer(); ObjectId ID = conf->getDBServer();
......
...@@ -10,7 +10,7 @@ using namespace UniSetExtensions; ...@@ -10,7 +10,7 @@ using namespace UniSetExtensions;
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
std::ostream& operator<<( std::ostream& os, IOControl::IOInfo& inf ) std::ostream& operator<<( std::ostream& os, IOControl::IOInfo& inf )
{ {
os << "(" << inf.si.id << ")" << conf->oind->getMapName(inf.si.id) os << "(" << inf.si.id << ")" << uniset_conf()->oind->getMapName(inf.si.id)
<< " card=" << inf.ncard << " channel=" << inf.channel << " subdev=" << inf.subdev << " card=" << inf.ncard << " channel=" << inf.channel << " subdev=" << inf.subdev
<< " aref=" << inf.aref << " range=" << inf.range << " aref=" << inf.aref << " range=" << inf.range
<< " default=" << inf.defval << " safety=" << inf.safety; << " default=" << inf.defval << " safety=" << inf.safety;
...@@ -50,6 +50,8 @@ IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID, ...@@ -50,6 +50,8 @@ IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID,
testmode(tmNone), testmode(tmNone),
prev_testmode(tmNone) prev_testmode(tmNone)
{ {
auto conf = uniset_conf();
string cname = conf->getArgParam("--"+prefix+"-confnode",myname); string cname = conf->getArgParam("--"+prefix+"-confnode",myname);
cnode = conf->getNode(cname); cnode = conf->getNode(cname);
if( cnode == NULL ) if( cnode == NULL )
...@@ -288,7 +290,7 @@ void IOControl::execute() ...@@ -288,7 +290,7 @@ void IOControl::execute()
// чтение параметров по входам-выходам // чтение параметров по входам-выходам
initIOCard(); initIOCard();
bool skip_iout = conf->getArgInt("--"+prefix+"-skip-init-output"); bool skip_iout = uniset_conf()->getArgInt("--"+prefix+"-skip-init-output");
if( !skip_iout ) if( !skip_iout )
initOutputs(); initOutputs();
...@@ -646,7 +648,7 @@ void IOControl::readConfiguration() ...@@ -646,7 +648,7 @@ void IOControl::readConfiguration()
{ {
readconf_ok = false; readconf_ok = false;
xmlNode* root = conf->getXMLSensorsSection(); xmlNode* root = uniset_conf()->getXMLSensorsSection();
if(!root) if(!root)
{ {
ostringstream err; ostringstream err;
...@@ -746,7 +748,7 @@ bool IOControl::initIOItem( UniXML::iterator& it ) ...@@ -746,7 +748,7 @@ bool IOControl::initIOItem( UniXML::iterator& it )
iomap[maxItem++] = std::move(inf); iomap[maxItem++] = std::move(inf);
if( dlog.debugging(Debug::LEVEL3) ) if( dlog.debugging(Debug::LEVEL3) )
dlog[Debug::LEVEL3] << myname << "(readItem): add threshold '" << it.getProp("name") dlog[Debug::LEVEL3] << myname << "(readItem): add threshold '" << it.getProp("name")
<< " for '" << conf->oind->getNameById(inf.t_ai) << endl; << " for '" << uniset_conf()->oind->getNameById(inf.t_ai) << endl;
return true; return true;
} }
inf.channel = IOBase::initIntProp(it,"channel",prop_prefix,false); inf.channel = IOBase::initIntProp(it,"channel",prop_prefix,false);
...@@ -1114,6 +1116,7 @@ IOControl* IOControl::init_iocontrol( int argc, const char* const* argv, ...@@ -1114,6 +1116,7 @@ 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 )
{ {
auto conf = uniset_conf();
string name = conf->getArgParam("--"+prefix+"-name","IOControl1"); string name = conf->getArgParam("--"+prefix+"-name","IOControl1");
if( name.empty() ) if( name.empty() )
{ {
...@@ -1474,6 +1477,8 @@ void IOControl::waitSM() ...@@ -1474,6 +1477,8 @@ void IOControl::waitSM()
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void IOControl::buildCardsList() void IOControl::buildCardsList()
{ {
auto conf = uniset_conf();
xmlNode* nnode = conf->getXMLNodesSection(); xmlNode* nnode = conf->getXMLNodesSection();
if( !nnode ) if( !nnode )
{ {
...@@ -1481,7 +1486,7 @@ void IOControl::buildCardsList() ...@@ -1481,7 +1486,7 @@ void IOControl::buildCardsList()
return; return;
} }
const std::shared_ptr<UniXML> xml = conf->getConfXML(); auto xml = conf->getConfXML();
if( !xml ) if( !xml )
{ {
dwarn << myname << "(buildCardsList): xml=NULL?!" << endl; dwarn << myname << "(buildCardsList): xml=NULL?!" << endl;
......
...@@ -21,8 +21,7 @@ int main(int argc, const char **argv) ...@@ -21,8 +21,7 @@ int main(int argc, const char **argv)
try try
{ {
string confile = UniSetTypes::getArgParam( "--confile", argc, argv, "configure.xml" ); auto conf = uniset_init(argc, argv);
conf = new Configuration(argc, argv, confile);
conf->initDebug(dlog,"dlog"); conf->initDebug(dlog,"dlog");
string logfilename = conf->getArgParam("--io-logfile","iocontrol.log"); string logfilename = conf->getArgParam("--io-logfile","iocontrol.log");
......
...@@ -11,6 +11,7 @@ using namespace UniSetExtensions; ...@@ -11,6 +11,7 @@ using namespace UniSetExtensions;
LProcessor::LProcessor( const std::string& name ): LProcessor::LProcessor( const std::string& name ):
logname(name) logname(name)
{ {
auto conf = uniset_conf();
sleepTime = conf->getArgPInt("--sleepTime", 200); sleepTime = conf->getArgPInt("--sleepTime", 200);
smReadyTimeout = conf->getArgInt("--sm-ready-timeout",""); smReadyTimeout = conf->getArgInt("--sm-ready-timeout","");
if( smReadyTimeout == 0 ) if( smReadyTimeout == 0 )
...@@ -58,6 +59,8 @@ void LProcessor::step() ...@@ -58,6 +59,8 @@ void LProcessor::step()
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
void LProcessor::build( const string& lfile ) void LProcessor::build( const string& lfile )
{ {
auto conf = uniset_conf();
sch.read(lfile); sch.read(lfile);
// составляем карту внешних входов // составляем карту внешних входов
......
...@@ -11,6 +11,8 @@ PassiveLProcessor::PassiveLProcessor( std::string lfile, UniSetTypes::ObjectId o ...@@ -11,6 +11,8 @@ PassiveLProcessor::PassiveLProcessor( std::string lfile, UniSetTypes::ObjectId o
UniSetObject_LT(objId), UniSetObject_LT(objId),
shm(0) shm(0)
{ {
auto conf = uniset_conf();
logname = myname; logname = myname;
shm = new SMInterface(shmID,&(UniSetObject_LT::ui),objId,ic); shm = new SMInterface(shmID,&(UniSetObject_LT::ui),objId,ic);
build(lfile); build(lfile);
......
...@@ -11,8 +11,7 @@ int main(int argc, const char **argv) ...@@ -11,8 +11,7 @@ int main(int argc, const char **argv)
{ {
try try
{ {
string confile=UniSetTypes::getArgParam("--confile",argc,argv,"configure.xml"); auto conf = uniset_init( argc, argv );
conf = new Configuration( argc, argv, confile );
string logfilename(conf->getArgParam("--logicproc-logfile")); string logfilename(conf->getArgParam("--logicproc-logfile"));
if( logfilename.empty() ) if( logfilename.empty() )
......
...@@ -13,8 +13,7 @@ int main(int argc, const char **argv) ...@@ -13,8 +13,7 @@ int main(int argc, const char **argv)
{ {
try try
{ {
string confile=UniSetTypes::getArgParam("--confile",argc,argv,"configure.xml"); auto conf = uniset_init( argc, argv );
conf = new Configuration( argc, argv, confile );
string logfilename(conf->getArgParam("--logicproc-logfile")); string logfilename(conf->getArgParam("--logicproc-logfile"));
if( logfilename.empty() ) if( logfilename.empty() )
......
...@@ -34,6 +34,7 @@ pollActivated(false) ...@@ -34,6 +34,7 @@ pollActivated(false)
if( objId == DefaultObjectId ) if( objId == DefaultObjectId )
throw UniSetTypes::SystemError("(MBExchange): objId=-1?!! Use --" + prefix + "-name" ); throw UniSetTypes::SystemError("(MBExchange): objId=-1?!! Use --" + prefix + "-name" );
auto conf = uniset_conf();
mutex_start.setName(myname + "_mutex_start"); mutex_start.setName(myname + "_mutex_start");
string conf_name(conf->getArgParam("--" + prefix + "-confnode",myname)); string conf_name(conf->getArgParam("--" + prefix + "-confnode",myname));
...@@ -188,7 +189,7 @@ MBExchange::~MBExchange() ...@@ -188,7 +189,7 @@ MBExchange::~MBExchange()
void MBExchange::waitSMReady() void MBExchange::waitSMReady()
{ {
// waiting for SM is ready... // waiting for SM is ready...
int ready_timeout = conf->getArgInt("--" + prefix +"-sm-ready-timeout","15000"); int ready_timeout = uniset_conf()->getArgInt("--" + prefix +"-sm-ready-timeout","15000");
if( ready_timeout == 0 ) if( ready_timeout == 0 )
ready_timeout = 15000; ready_timeout = 15000;
else if( ready_timeout < 0 ) else if( ready_timeout < 0 )
...@@ -254,7 +255,7 @@ void MBExchange::sigterm( int signo ) ...@@ -254,7 +255,7 @@ void MBExchange::sigterm( int signo )
void MBExchange::readConfiguration() void MBExchange::readConfiguration()
{ {
// readconf_ok = false; // readconf_ok = false;
xmlNode* root = conf->getXMLSensorsSection(); xmlNode* root = uniset_conf()->getXMLSensorsSection();
if(!root) if(!root)
{ {
ostringstream err; ostringstream err;
...@@ -527,6 +528,8 @@ void MBExchange::rtuQueryOptimization( RTUDeviceMap& m ) ...@@ -527,6 +528,8 @@ void MBExchange::rtuQueryOptimization( RTUDeviceMap& m )
//std::ostream& operator<<( std::ostream& os, MBExchange::PList& lst ) //std::ostream& operator<<( std::ostream& os, MBExchange::PList& lst )
std::ostream& MBExchange::print_plist( std::ostream& os, const MBExchange::PList& lst ) std::ostream& MBExchange::print_plist( std::ostream& os, const MBExchange::PList& lst )
{ {
auto conf = uniset_conf();
os << "[ "; os << "[ ";
for( auto it=lst.begin(); it!=lst.end(); ++it ) for( auto it=lst.begin(); it!=lst.end(); ++it )
os << "(" << it->si.id << ")" << conf->oind->getBaseName(conf->oind->getMapName(it->si.id)) << " "; os << "(" << it->si.id << ")" << conf->oind->getBaseName(conf->oind->getMapName(it->si.id)) << " ";
...@@ -1979,7 +1982,7 @@ bool MBExchange::initRegInfo( RegInfo* r, UniXML::iterator& it, MBExchange::RTU ...@@ -1979,7 +1982,7 @@ bool MBExchange::initRegInfo( RegInfo* r, UniXML::iterator& it, MBExchange::RTU
if( mbregFromID ) if( mbregFromID )
{ {
if( it.getProp("id").empty() ) if( it.getProp("id").empty() )
r->mbreg = conf->getSensorID(it.getProp("name")); r->mbreg = uniset_conf()->getSensorID(it.getProp("name"));
else else
r->mbreg = it.getIntProp("id"); r->mbreg = it.getIntProp("id");
} }
...@@ -2370,6 +2373,7 @@ std::ostream& operator<<( std::ostream& os, const MBExchange::RSProperty& p ) ...@@ -2370,6 +2373,7 @@ std::ostream& operator<<( std::ostream& os, const MBExchange::RSProperty& p )
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void MBExchange::initDeviceList() void MBExchange::initDeviceList()
{ {
auto conf = uniset_conf();
xmlNode* respNode = 0; xmlNode* respNode = 0;
const std::shared_ptr<UniXML> xml = conf->getConfXML(); const std::shared_ptr<UniXML> xml = conf->getConfXML();
if( xml ) if( xml )
...@@ -2410,7 +2414,7 @@ bool MBExchange::initDeviceInfo( RTUDeviceMap& m, ModbusRTU::ModbusAddr a, UniXM ...@@ -2410,7 +2414,7 @@ bool MBExchange::initDeviceInfo( RTUDeviceMap& m, ModbusRTU::ModbusAddr a, UniXM
string s(it.getProp("respondSensor")); string s(it.getProp("respondSensor"));
if( !s.empty() ) if( !s.empty() )
{ {
d->second->resp_id = conf->getSensorID(s); d->second->resp_id = uniset_conf()->getSensorID(s);
if( d->second->resp_id == DefaultObjectId ) if( d->second->resp_id == DefaultObjectId )
{ {
dinfo << myname << "(initDeviceInfo): not found ID for respondSensor=" << s << endl; dinfo << myname << "(initDeviceInfo): not found ID for respondSensor=" << s << endl;
...@@ -2418,6 +2422,8 @@ bool MBExchange::initDeviceInfo( RTUDeviceMap& m, ModbusRTU::ModbusAddr a, UniXM ...@@ -2418,6 +2422,8 @@ bool MBExchange::initDeviceInfo( RTUDeviceMap& m, ModbusRTU::ModbusAddr a, UniXM
} }
} }
auto conf = uniset_conf();
string mod(it.getProp("modeSensor")); string mod(it.getProp("modeSensor"));
if( !mod.empty() ) if( !mod.empty() )
{ {
......
...@@ -20,6 +20,8 @@ pollThread(0) ...@@ -20,6 +20,8 @@ pollThread(0)
if( objId == DefaultObjectId ) if( objId == DefaultObjectId )
throw UniSetTypes::SystemError("(MBTCPMaster): objId=-1?!! Use --" + prefix + "-name" ); throw UniSetTypes::SystemError("(MBTCPMaster): objId=-1?!! Use --" + prefix + "-name" );
auto conf = uniset_conf();
// префикс для "свойств" - по умолчанию // префикс для "свойств" - по умолчанию
prop_prefix = "tcp_"; prop_prefix = "tcp_";
// если задано поле для "фильтрации" // если задано поле для "фильтрации"
...@@ -219,6 +221,7 @@ MBTCPMaster* MBTCPMaster::init_mbmaster( int argc, const char* const* argv, ...@@ -219,6 +221,7 @@ 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 )
{ {
auto conf = uniset_conf();
string name = conf->getArgParam("--" + prefix + "-name","MBTCPMaster1"); string name = conf->getArgParam("--" + prefix + "-name","MBTCPMaster1");
if( name.empty() ) if( name.empty() )
{ {
......
...@@ -22,6 +22,8 @@ checkThread(0) ...@@ -22,6 +22,8 @@ checkThread(0)
if( objId == DefaultObjectId ) if( objId == DefaultObjectId )
throw UniSetTypes::SystemError("(MBTCPMultiMaster): objId=-1?!! Use --" + prefix + "-name" ); throw UniSetTypes::SystemError("(MBTCPMultiMaster): objId=-1?!! Use --" + prefix + "-name" );
auto conf = uniset_conf();
// префикс для "свойств" - по умолчанию // префикс для "свойств" - по умолчанию
prop_prefix = "tcp_"; prop_prefix = "tcp_";
// если задано поле для "фильтрации" // если задано поле для "фильтрации"
...@@ -365,6 +367,8 @@ MBTCPMultiMaster* MBTCPMultiMaster::init_mbmaster( int argc, const char* const* ...@@ -365,6 +367,8 @@ MBTCPMultiMaster* MBTCPMultiMaster::init_mbmaster( int argc, const char* const*
UniSetTypes::ObjectId icID, SharedMemory* ic, UniSetTypes::ObjectId icID, SharedMemory* ic,
const std::string& prefix ) const std::string& prefix )
{ {
auto conf = uniset_conf();
string name = conf->getArgParam("--" + prefix + "-name","MBTCPMultiMaster1"); string name = conf->getArgParam("--" + prefix + "-name","MBTCPMultiMaster1");
if( name.empty() ) if( name.empty() )
{ {
......
...@@ -20,6 +20,8 @@ rs_pre_clean(false) ...@@ -20,6 +20,8 @@ rs_pre_clean(false)
if( objId == DefaultObjectId ) if( objId == DefaultObjectId )
throw UniSetTypes::SystemError("(RTUExchange): objId=-1?!! Use --" + prefix + "-name" ); throw UniSetTypes::SystemError("(RTUExchange): objId=-1?!! Use --" + prefix + "-name" );
auto conf = uniset_conf();
// префикс для "свойств" - по умолчанию // префикс для "свойств" - по умолчанию
prop_prefix = ""; prop_prefix = "";
// если задано поле для "фильтрации" // если задано поле для "фильтрации"
...@@ -317,6 +319,8 @@ void RTUExchange::poll() ...@@ -317,6 +319,8 @@ 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 )
{ {
auto conf = uniset_conf();
string name = conf->getArgParam("--" + prefix + "-name","RTUExchange1"); string name = conf->getArgParam("--" + prefix + "-name","RTUExchange1");
if( name.empty() ) if( name.empty() )
{ {
......
...@@ -23,8 +23,7 @@ int main( int argc, const char** argv ) ...@@ -23,8 +23,7 @@ int main( int argc, const char** argv )
try try
{ {
string confile=UniSetTypes::getArgParam("--confile",argc, argv, "configure.xml"); auto conf = uniset_init( argc, argv );
conf = new Configuration( argc, argv, confile );
string logfilename(conf->getArgParam("--mbtcp-logfile")); string logfilename(conf->getArgParam("--mbtcp-logfile"));
if( logfilename.empty() ) if( logfilename.empty() )
......
...@@ -23,8 +23,7 @@ int main( int argc, const char** argv ) ...@@ -23,8 +23,7 @@ int main( int argc, const char** argv )
try try
{ {
string confile=UniSetTypes::getArgParam("--confile",argc, argv, "configure.xml"); auto conf = uniset_init( argc, argv );
conf = new Configuration( argc, argv, confile );
string logfilename(conf->getArgParam("--mbtcp-logfile")); string logfilename(conf->getArgParam("--mbtcp-logfile"));
if( logfilename.empty() ) if( logfilename.empty() )
......
...@@ -21,8 +21,7 @@ int main( int argc, char** argv ) ...@@ -21,8 +21,7 @@ int main( int argc, char** argv )
return 0; return 0;
} }
string confile=UniSetTypes::getArgParam("--confile", argc, argv, "configure.xml"); auto conf = uniset_init( argc, argv );
conf = new Configuration( argc, argv, confile );
string logfilename(conf->getArgParam("--rs-logfile")); string logfilename(conf->getArgParam("--rs-logfile"));
if( logfilename.empty() ) if( logfilename.empty() )
......
...@@ -32,6 +32,7 @@ prefix(prefix) ...@@ -32,6 +32,7 @@ prefix(prefix)
if( objId == DefaultObjectId ) if( objId == DefaultObjectId )
throw UniSetTypes::SystemError("(MBSlave): objId=-1?!! Use --mbs-name" ); throw UniSetTypes::SystemError("(MBSlave): objId=-1?!! Use --mbs-name" );
auto conf = uniset_conf();
mutex_start.setName(myname + "_mutex_start"); mutex_start.setName(myname + "_mutex_start");
// xmlNode* cnode = conf->getNode(myname); // xmlNode* cnode = conf->getNode(myname);
...@@ -377,7 +378,7 @@ MBSlave::~MBSlave() ...@@ -377,7 +378,7 @@ MBSlave::~MBSlave()
void MBSlave::waitSMReady() void MBSlave::waitSMReady()
{ {
// waiting for SM is ready... // waiting for SM is ready...
int ready_timeout = conf->getArgInt("--" + prefix + "-sm-ready-timeout","15000"); int ready_timeout = uniset_conf()->getArgInt("--" + prefix + "-sm-ready-timeout","15000");
if( ready_timeout == 0 ) if( ready_timeout == 0 )
ready_timeout = 15000; ready_timeout = 15000;
else if( ready_timeout < 0 ) else if( ready_timeout < 0 )
...@@ -774,7 +775,7 @@ void MBSlave::sigterm( int signo ) ...@@ -774,7 +775,7 @@ void MBSlave::sigterm( int signo )
void MBSlave::readConfiguration() void MBSlave::readConfiguration()
{ {
// readconf_ok = false; // readconf_ok = false;
xmlNode* root = conf->getXMLSensorsSection(); xmlNode* root = uniset_conf()->getXMLSensorsSection();
if(!root) if(!root)
{ {
ostringstream err; ostringstream err;
...@@ -936,6 +937,7 @@ void MBSlave::help_print( int argc, const char* const* argv ) ...@@ -936,6 +937,7 @@ void MBSlave::help_print( int argc, const char* const* argv )
MBSlave* MBSlave::init_mbslave( int argc, const char* const* argv, UniSetTypes::ObjectId icID, SharedMemory* ic, MBSlave* MBSlave::init_mbslave( int argc, const char* const* argv, UniSetTypes::ObjectId icID, SharedMemory* ic,
const string& prefix ) const string& prefix )
{ {
auto conf = uniset_conf();
string name = conf->getArgParam("--" + prefix + "-name","MBSlave1"); string name = conf->getArgParam("--" + prefix + "-name","MBSlave1");
if( name.empty() ) if( name.empty() )
{ {
......
...@@ -15,6 +15,8 @@ MBTCPMultiSlave::MBTCPMultiSlave( UniSetTypes::ObjectId objId, UniSetTypes::Obje ...@@ -15,6 +15,8 @@ MBTCPMultiSlave::MBTCPMultiSlave( UniSetTypes::ObjectId objId, UniSetTypes::Obje
MBSlave(objId,shmId,ic,prefix), MBSlave(objId,shmId,ic,prefix),
sesscount_id(DefaultObjectId) sesscount_id(DefaultObjectId)
{ {
auto conf = uniset_conf();
cnode = conf->getNode(myname); cnode = conf->getNode(myname);
if( cnode == NULL ) if( cnode == NULL )
throw UniSetTypes::SystemError("(MBSlave): Not found conf-node for " + myname ); throw UniSetTypes::SystemError("(MBSlave): Not found conf-node for " + myname );
...@@ -111,6 +113,7 @@ void MBTCPMultiSlave::help_print( int argc, const char* const* argv ) ...@@ -111,6 +113,7 @@ void MBTCPMultiSlave::help_print( int argc, const char* const* argv )
MBTCPMultiSlave* MBTCPMultiSlave::init_mbslave( int argc, const char* const* argv, UniSetTypes::ObjectId icID, SharedMemory* ic, MBTCPMultiSlave* MBTCPMultiSlave::init_mbslave( int argc, const char* const* argv, UniSetTypes::ObjectId icID, SharedMemory* ic,
const string& prefix ) const string& prefix )
{ {
auto conf = uniset_conf();
string name = conf->getArgParam("--" + prefix + "-name","MBSlave1"); string name = conf->getArgParam("--" + prefix + "-name","MBSlave1");
if( name.empty() ) if( name.empty() )
{ {
......
...@@ -36,4 +36,4 @@ pkgconfig_DATA = libUniSet2MBSlave.pc ...@@ -36,4 +36,4 @@ pkgconfig_DATA = libUniSet2MBSlave.pc
all-local: all-local:
ln -sf ../ModbusSlave/$(devel_include_HEADERS) ../include ln -sf ../ModbusSlave/$(devel_include_HEADERS) ../include
#SUBDIRS=tests SUBDIRS=tests
...@@ -28,8 +28,7 @@ int main(int argc, const char **argv) ...@@ -28,8 +28,7 @@ int main(int argc, const char **argv)
try try
{ {
string confile = UniSetTypes::getArgParam( "--confile", argc, argv, "configure.xml" ); auto conf = uniset_init(argc, argv);
conf = new Configuration(argc, argv,confile);
string logfilename(conf->getArgParam("--mbs-logfile")); string logfilename(conf->getArgParam("--mbs-logfile"));
if( logfilename.empty() ) if( logfilename.empty() )
......
...@@ -28,8 +28,7 @@ int main(int argc, const char **argv) ...@@ -28,8 +28,7 @@ int main(int argc, const char **argv)
try try
{ {
string confile = UniSetTypes::getArgParam( "--confile", argc, argv, "configure.xml" ); auto conf = uniset_init(argc, argv);
conf = new Configuration(argc, argv,confile);
string logfilename(conf->getArgParam("--mbs-logfile")); string logfilename(conf->getArgParam("--mbs-logfile"));
if( logfilename.empty() ) if( logfilename.empty() )
......
...@@ -11,11 +11,11 @@ tests_with_sm_CPPFLAGS = -I$(top_builddir)/include -I$(top_builddir)/extensions ...@@ -11,11 +11,11 @@ tests_with_sm_CPPFLAGS = -I$(top_builddir)/include -I$(top_builddir)/extensions
-I$(top_builddir)/extensions/ModbusSlave \ -I$(top_builddir)/extensions/ModbusSlave \
-I$(top_builddir)/extensions/SharedMemory $(SIGC_CFLAGS) $(COMCPP_CFLAGS) -I$(top_builddir)/extensions/SharedMemory $(SIGC_CFLAGS) $(COMCPP_CFLAGS)
$(top_builddir)/extensions/lib/libUniSet2Extensions.la: #$(top_builddir)/extensions/lib/libUniSet2Extensions.la:
cd $(top_builddir)/extensions/lib/ && make # cd $(top_builddir)/extensions/lib/ && make
$(top_builddir)/extensions/ModbusSlave/libUniSet2MBSlave.la: #$(top_builddir)/extensions/ModbusSlave/libUniSet2MBSlave.la:
cd $(top_builddir)/extensions/ModbusSlave/ && make # cd $(top_builddir)/extensions/ModbusSlave/ && make
include $(top_builddir)/testsuite/testsuite-common.mk include $(top_builddir)/testsuite/testsuite-common.mk
......
...@@ -18,14 +18,15 @@ static UInterface* ui = nullptr; ...@@ -18,14 +18,15 @@ static UInterface* ui = nullptr;
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void InitTest() void InitTest()
{ {
CHECK( conf!=0 ); auto conf = uniset_conf();
CHECK( conf!=nullptr );
if( ui == nullptr ) if( ui == nullptr )
{ {
ui = new UInterface(); ui = new UInterface();
// UI понадобиться для проверки записанных в SM значений. // UI понадобиться для проверки записанных в SM значений.
CHECK( ui->getObjectIndex() != nullptr ); CHECK( ui->getObjectIndex() != nullptr );
CHECK( ui->getConf() == UniSetTypes::conf ); CHECK( ui->getConf() == conf );
CHECK( ui->waitReady(slaveID,5000) ); CHECK( ui->waitReady(slaveID,5000) );
} }
...@@ -673,6 +674,7 @@ static void test_write10_F2( const float& val ) ...@@ -673,6 +674,7 @@ static void test_write10_F2( const float& val )
REQUIRE( ret.start == tREG ); REQUIRE( ret.start == tREG );
REQUIRE( ret.quant == F2::wsize() ); REQUIRE( ret.quant == F2::wsize() );
auto conf = uniset_conf();
IOController_i::SensorInfo si; IOController_i::SensorInfo si;
si.id = 2007; si.id = 2007;
si.node = conf->getLocalNode(); si.node = conf->getLocalNode();
...@@ -693,6 +695,7 @@ static void test_write10_F2r( const float& val ) ...@@ -693,6 +695,7 @@ static void test_write10_F2r( const float& val )
REQUIRE( ret.start == tREG ); REQUIRE( ret.start == tREG );
REQUIRE( ret.quant == F2r::wsize() ); REQUIRE( ret.quant == F2r::wsize() );
auto conf = uniset_conf();
IOController_i::SensorInfo si; IOController_i::SensorInfo si;
si.id = 2008; si.id = 2008;
si.node = conf->getLocalNode(); si.node = conf->getLocalNode();
...@@ -716,6 +719,7 @@ static void test_write10_F4raw( const float& val ) ...@@ -716,6 +719,7 @@ static void test_write10_F4raw( const float& val )
REQUIRE( ret.start == tREG ); REQUIRE( ret.start == tREG );
REQUIRE( ret.quant == F4::wsize() ); REQUIRE( ret.quant == F4::wsize() );
auto conf = uniset_conf();
IOController_i::SensorInfo si; IOController_i::SensorInfo si;
si.id = 2013; si.id = 2013;
si.node = conf->getLocalNode(); si.node = conf->getLocalNode();
...@@ -740,6 +744,7 @@ static void test_write10_F4prec( const float& val ) ...@@ -740,6 +744,7 @@ static void test_write10_F4prec( const float& val )
REQUIRE( ret.start == tREG ); REQUIRE( ret.start == tREG );
REQUIRE( ret.quant == F4::wsize() ); REQUIRE( ret.quant == F4::wsize() );
auto conf = uniset_conf();
IOController_i::SensorInfo si; IOController_i::SensorInfo si;
si.id = 2009; si.id = 2009;
si.node = conf->getLocalNode(); si.node = conf->getLocalNode();
......
...@@ -31,7 +31,7 @@ int main(int argc, char* argv[] ) ...@@ -31,7 +31,7 @@ int main(int argc, char* argv[] )
try try
{ {
uniset_init(argc,argv); auto conf = uniset_init(argc,argv);
conf->initDebug(dlog,"dlog"); conf->initDebug(dlog,"dlog");
bool apart = findArgParam("--apart",argc,argv) != -1; bool apart = findArgParam("--apart",argc,argv) != -1;
......
...@@ -98,6 +98,7 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID ) ...@@ -98,6 +98,7 @@ void RRDServer::initRRD( xmlNode* cnode, int tmID )
// try // try
{ {
auto conf = uniset_conf();
xmlNode* snode = conf->getXMLSensorsSection(); xmlNode* snode = conf->getXMLSensorsSection();
if(!snode) if(!snode)
...@@ -225,6 +226,8 @@ RRDServer* RRDServer::init_rrdstorage( int argc, const char* const* argv, ...@@ -225,6 +226,8 @@ 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 )
{ {
auto conf = uniset_conf();
string name = conf->getArgParam("--" + prefix + "-name","RRDServer"); string name = conf->getArgParam("--" + prefix + "-name","RRDServer");
if( name.empty() ) if( name.empty() )
{ {
......
...@@ -23,8 +23,7 @@ int main( int argc, const char** argv ) ...@@ -23,8 +23,7 @@ int main( int argc, const char** argv )
try try
{ {
string confile=UniSetTypes::getArgParam("--confile",argc, argv, "configure.xml"); auto conf = uniset_init( argc, argv );
conf = new Configuration( argc, argv, confile );
string logfilename(conf->getArgParam("--rrdstorage-logfile")); string logfilename(conf->getArgParam("--rrdstorage-logfile"));
if( logfilename.empty() ) if( logfilename.empty() )
......
...@@ -7,7 +7,7 @@ using namespace UniSetTypes; ...@@ -7,7 +7,7 @@ using namespace UniSetTypes;
using namespace UniSetExtensions; using namespace UniSetExtensions;
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
SMViewer::SMViewer( UniSetTypes::ObjectId shmID ): SMViewer::SMViewer( UniSetTypes::ObjectId shmID ):
SViewer(conf->getControllersSection(),true) SViewer(uniset_conf()->getControllersSection(),true)
{ {
shm = new SMInterface(shmID,&ui,DefaultObjectId,0); shm = new SMInterface(shmID,&ui,DefaultObjectId,0);
} }
......
...@@ -18,8 +18,7 @@ int main( int argc, const char **argv ) ...@@ -18,8 +18,7 @@ int main( int argc, const char **argv )
return 0; return 0;
} }
string confile = UniSetTypes::getArgParam( "--confile", argc, argv, "configure.xml" ); auto conf = uniset_init( argc, argv );
conf = new Configuration( argc, argv, confile );
ObjectId shmID = DefaultObjectId; ObjectId shmID = DefaultObjectId;
string sID = conf->getArgParam("--smemory-id"); string sID = conf->getArgParam("--smemory-id");
......
...@@ -43,9 +43,11 @@ SharedMemory::SharedMemory( ObjectId id, const std::string& datafile, const std: ...@@ -43,9 +43,11 @@ SharedMemory::SharedMemory( ObjectId id, const std::string& datafile, const std:
{ {
mutex_start.setName(myname + "_mutex_start"); mutex_start.setName(myname + "_mutex_start");
auto conf = uniset_conf();
string cname(confname); string cname(confname);
if( cname.empty() ) if( cname.empty() )
cname = ORepHelpers::getShortName(conf->oind->getMapName(id)); cname = ORepHelpers::getShortName( conf->oind->getMapName(id));
xmlNode* cnode = conf->getNode(cname); xmlNode* cnode = conf->getNode(cname);
if( cnode == NULL ) if( cnode == NULL )
...@@ -374,7 +376,7 @@ bool SharedMemory::readItem( const std::shared_ptr<UniXML>& xml, UniXML::iterato ...@@ -374,7 +376,7 @@ bool SharedMemory::readItem( const std::shared_ptr<UniXML>& xml, UniXML::iterato
} }
else else
{ {
hi.d_sid = conf->getSensorID(it.getProp("heartbeat_ds_name")); hi.d_sid = uniset_conf()->getSensorID(it.getProp("heartbeat_ds_name"));
if( hi.d_sid == DefaultObjectId ) if( hi.d_sid == DefaultObjectId )
{ {
ostringstream msg; ostringstream msg;
...@@ -410,6 +412,7 @@ bool SharedMemory::readItem( const std::shared_ptr<UniXML>& xml, UniXML::iterato ...@@ -410,6 +412,7 @@ bool SharedMemory::readItem( const std::shared_ptr<UniXML>& xml, UniXML::iterato
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
SharedMemory* SharedMemory::init_smemory( int argc, const char* const* argv ) SharedMemory* SharedMemory::init_smemory( int argc, const char* const* argv )
{ {
auto conf = uniset_conf();
string dfile = conf->getArgParam("--datfile", conf->getConfFileName()); string dfile = conf->getArgParam("--datfile", conf->getConfFileName());
if( dfile[0]!='.' && dfile[0]!='/' ) if( dfile[0]!='.' && dfile[0]!='/' )
...@@ -439,7 +442,7 @@ void SharedMemory::buildEventList( xmlNode* cnode ) ...@@ -439,7 +442,7 @@ void SharedMemory::buildEventList( xmlNode* cnode )
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void SharedMemory::readEventList( const std::string& oname ) void SharedMemory::readEventList( const std::string& oname )
{ {
xmlNode* enode = conf->getNode(oname); xmlNode* enode = uniset_conf()->getNode(oname);
if( enode == NULL ) if( enode == NULL )
{ {
dwarn << myname << "(readEventList): " << oname << " не найден..." << endl; dwarn << myname << "(readEventList): " << oname << " не найден..." << endl;
...@@ -508,7 +511,7 @@ void SharedMemory::buildHistoryList( xmlNode* cnode ) ...@@ -508,7 +511,7 @@ void SharedMemory::buildHistoryList( xmlNode* cnode )
{ {
dinfo << myname << "(buildHistoryList): ..." << endl; dinfo << myname << "(buildHistoryList): ..." << endl;
const std::shared_ptr<UniXML> xml = conf->getConfXML(); const std::shared_ptr<UniXML> xml = uniset_conf()->getConfXML();
if( !xml ) if( !xml )
{ {
dwarn << myname << "(buildHistoryList): xml=NULL?!" << endl; dwarn << myname << "(buildHistoryList): xml=NULL?!" << endl;
...@@ -525,7 +528,7 @@ void SharedMemory::buildHistoryList( xmlNode* cnode ) ...@@ -525,7 +528,7 @@ void SharedMemory::buildHistoryList( xmlNode* cnode )
UniXML::iterator it(n); UniXML::iterator it(n);
bool no_history = conf->getArgInt("--sm-no-history",it.getProp("no_history")); bool no_history = uniset_conf()->getArgInt("--sm-no-history",it.getProp("no_history"));
if( no_history ) if( no_history )
{ {
dwarn << myname << "(buildHistoryList): no_history='1'.. history skipped..." << endl; dwarn << myname << "(buildHistoryList): no_history='1'.. history skipped..." << endl;
...@@ -555,7 +558,7 @@ void SharedMemory::buildHistoryList( xmlNode* cnode ) ...@@ -555,7 +558,7 @@ void SharedMemory::buildHistoryList( xmlNode* cnode )
if( hi.filter.empty() ) if( hi.filter.empty() )
continue; continue;
hi.fuse_id = conf->getSensorID(it.getProp("fuse_id")); hi.fuse_id = uniset_conf()->getSensorID(it.getProp("fuse_id"));
if( hi.fuse_id == DefaultObjectId ) if( hi.fuse_id == DefaultObjectId )
{ {
dwarn << myname << "(buildHistory): not found sensor ID for " dwarn << myname << "(buildHistory): not found sensor ID for "
...@@ -604,7 +607,7 @@ void SharedMemory::checkHistoryFilter( UniXML::iterator& xit ) ...@@ -604,7 +607,7 @@ void SharedMemory::checkHistoryFilter( UniXML::iterator& xit )
continue; continue;
} }
ai.id = conf->getSensorID(xit.getProp("name")); ai.id = uniset_conf()->getSensorID(xit.getProp("name"));
if( ai.id == DefaultObjectId ) if( ai.id == DefaultObjectId )
{ {
dwarn << myname << "(checkHistoryFilter): not found sensor ID for " << xit.getProp("name") << endl; dwarn << myname << "(checkHistoryFilter): not found sensor ID for " << xit.getProp("name") << endl;
......
...@@ -19,8 +19,7 @@ int main(int argc, const char **argv) ...@@ -19,8 +19,7 @@ int main(int argc, const char **argv)
try try
{ {
string confile = UniSetTypes::getArgParam( "--confile", argc, argv, "configure.xml" ); auto conf = uniset_init(argc, argv);
conf = new Configuration(argc, argv, confile);
conf->initDebug(dlog,"dlog"); conf->initDebug(dlog,"dlog");
string logfilename = conf->getArgParam("--logfile", "smemory.log"); string logfilename = conf->getArgParam("--logfile", "smemory.log");
......
...@@ -67,8 +67,7 @@ int main( int argc, const char **argv ) ...@@ -67,8 +67,7 @@ int main( int argc, const char **argv )
try try
{ {
string confile = UniSetTypes::getArgParam( "--confile", argc, argv, "configure.xml" ); auto conf = uniset_init(argc, argv);
conf = new Configuration(argc, argv, confile);
string logfilename = conf->getArgParam("--logfile", "smemory-plus.log"); string logfilename = conf->getArgParam("--logfile", "smemory-plus.log");
string logname( conf->getLogDir() + logfilename ); string logname( conf->getLogDir() + logfilename );
...@@ -287,8 +286,9 @@ void help_print( int argc, const char* argv[] ) ...@@ -287,8 +286,9 @@ void help_print( int argc, const char* argv[] )
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
LogServer* run_logserver( const std::string& cname, DebugStream& log ) LogServer* run_logserver( const std::string& cname, DebugStream& log )
{ {
const std::shared_ptr<UniXML> xml = UniSetTypes::conf->getConfXML(); auto conf = uniset_conf();
xmlNode* cnode = UniSetTypes::conf->findNode(xml->getFirstNode(),"LogServer",cname); auto xml = conf->getConfXML();
xmlNode* cnode = conf->findNode(xml->getFirstNode(),"LogServer",cname);
if( cnode == 0 ) if( cnode == 0 )
{ {
cerr << "(init_ulogserver): Not found xmlnode for '" << cname << "'" << endl; cerr << "(init_ulogserver): Not found xmlnode for '" << cname << "'" << endl;
......
...@@ -19,6 +19,8 @@ sender2(0) ...@@ -19,6 +19,8 @@ sender2(0)
if( objId == DefaultObjectId ) if( objId == DefaultObjectId )
throw UniSetTypes::SystemError("(UNetExchange): objId=-1?!! Use --" + prefix +"-unet-name" ); throw UniSetTypes::SystemError("(UNetExchange): objId=-1?!! Use --" + prefix +"-unet-name" );
auto conf = uniset_conf();
cnode = conf->getNode(myname); cnode = conf->getNode(myname);
if( cnode == NULL ) if( cnode == NULL )
throw UniSetTypes::SystemError("(UNetExchange): Not found conf-node for " + myname ); throw UniSetTypes::SystemError("(UNetExchange): Not found conf-node for " + myname );
...@@ -376,7 +378,7 @@ void UNetExchange::startReceivers() ...@@ -376,7 +378,7 @@ void UNetExchange::startReceivers()
void UNetExchange::waitSMReady() void UNetExchange::waitSMReady()
{ {
// waiting for SM is ready... // waiting for SM is ready...
int ready_timeout = conf->getArgInt("--unet-sm-ready-timeout","15000"); int ready_timeout = uniset_conf()->getArgInt("--unet-sm-ready-timeout","15000");
if( ready_timeout == 0 ) if( ready_timeout == 0 )
ready_timeout = 15000; ready_timeout = 15000;
else if( ready_timeout < 0 ) else if( ready_timeout < 0 )
...@@ -656,6 +658,8 @@ void UNetExchange::help_print( int argc, const char* argv[] ) ...@@ -656,6 +658,8 @@ void UNetExchange::help_print( int argc, const char* argv[] )
UNetExchange* UNetExchange::init_unetexchange( int argc, const char* argv[], UniSetTypes::ObjectId icID, UNetExchange* UNetExchange::init_unetexchange( int argc, const char* argv[], UniSetTypes::ObjectId icID,
SharedMemory* ic, const std::string& prefix ) SharedMemory* ic, const std::string& prefix )
{ {
auto conf = uniset_conf();
string p("--" + prefix + "-name"); string p("--" + prefix + "-name");
string name = conf->getArgParam(p,"UNetExchange1"); string name = conf->getArgParam(p,"UNetExchange1");
if( name.empty() ) if( name.empty() )
......
...@@ -519,7 +519,7 @@ void UNetReceiver::initDCache( UniSetUDP::UDPMessage& pack, bool force ) ...@@ -519,7 +519,7 @@ void UNetReceiver::initDCache( UniSetUDP::UDPMessage& pack, bool force )
if( d.id != pack.d_id[i] ) if( d.id != pack.d_id[i] )
{ {
d.id = pack.d_id[i]; d.id = pack.d_id[i];
d.iotype = conf->getIOType(d.id); d.iotype = uniset_conf()->getIOType(d.id);
shm->initIterator(d.ioit); shm->initIterator(d.ioit);
} }
} }
...@@ -540,7 +540,7 @@ void UNetReceiver::initACache( UniSetUDP::UDPMessage& pack, bool force ) ...@@ -540,7 +540,7 @@ void UNetReceiver::initACache( UniSetUDP::UDPMessage& pack, bool force )
if( d.id != pack.a_dat[i].id ) if( d.id != pack.a_dat[i].id )
{ {
d.id = pack.a_dat[i].id; d.id = pack.a_dat[i].id;
d.iotype = conf->getIOType(d.id); d.iotype = uniset_conf()->getIOType(d.id);
shm->initIterator(d.ioit); shm->initIterator(d.ioit);
} }
} }
......
...@@ -71,7 +71,7 @@ s_thr(0) ...@@ -71,7 +71,7 @@ s_thr(0)
// выставляем поля, которые не меняются // выставляем поля, которые не меняются
mypack.nodeID = conf->getLocalNode(); mypack.nodeID = uniset_conf()->getLocalNode();
mypack.procID = shm->ID(); mypack.procID = shm->ID();
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -210,7 +210,7 @@ void UNetSender::start() ...@@ -210,7 +210,7 @@ void UNetSender::start()
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void UNetSender::readConfiguration() void UNetSender::readConfiguration()
{ {
xmlNode* root = conf->getXMLSensorsSection(); xmlNode* root = uniset_conf()->getXMLSensorsSection();
if(!root) if(!root)
{ {
ostringstream err; ostringstream err;
...@@ -253,7 +253,7 @@ bool UNetSender::initItem( UniXML::iterator& it ) ...@@ -253,7 +253,7 @@ bool UNetSender::initItem( UniXML::iterator& it )
sid = DefaultObjectId; sid = DefaultObjectId;
} }
else else
sid = conf->getSensorID(sname); sid = uniset_conf()->getSensorID(sname);
if( sid == DefaultObjectId ) if( sid == DefaultObjectId )
{ {
......
...@@ -21,7 +21,7 @@ int main( int argc, const char** argv ) ...@@ -21,7 +21,7 @@ int main( int argc, const char** argv )
return 0; return 0;
} }
uniset_init(argc,argv); auto conf = uniset_init(argc,argv);
string logfilename(conf->getArgParam("--unet-logfile")); string logfilename(conf->getArgParam("--unet-logfile"));
if( logfilename.empty() ) if( logfilename.empty() )
......
...@@ -10,7 +10,7 @@ using namespace UniSetExtensions; ...@@ -10,7 +10,7 @@ using namespace UniSetExtensions;
UniExchange::NetNodeInfo::NetNodeInfo(): UniExchange::NetNodeInfo::NetNodeInfo():
oref(CORBA::Object::_nil()), oref(CORBA::Object::_nil()),
id(DefaultObjectId), id(DefaultObjectId),
node(conf->getLocalNode()), node(uniset_conf()->getLocalNode()),
sidConnection(DefaultObjectId), sidConnection(DefaultObjectId),
smap(1) smap(1)
{ {
...@@ -26,6 +26,8 @@ mymap(1), ...@@ -26,6 +26,8 @@ mymap(1),
maxIndex(0), maxIndex(0),
smReadyTimeout(15000) smReadyTimeout(15000)
{ {
auto conf = uniset_conf();
cnode = conf->getNode(myname); cnode = conf->getNode(myname);
if( cnode == NULL ) if( cnode == NULL )
throw UniSetTypes::SystemError("(UniExchange): Not found conf-node for " + myname ); throw UniSetTypes::SystemError("(UniExchange): Not found conf-node for " + myname );
...@@ -176,7 +178,7 @@ void UniExchange::execute() ...@@ -176,7 +178,7 @@ void UniExchange::execute()
catch(...) catch(...)
{ {
dcrit << myname << "(execute): sensor not avalible " dcrit << myname << "(execute): sensor not avalible "
<< conf->oind->getNameById(it.sidConnection) << uniset_conf()->oind->getNameById(it.sidConnection)
<< endl; << endl;
} }
} }
...@@ -329,6 +331,8 @@ UniExchange* UniExchange::init_exchange( int argc, const char* const* argv, ...@@ -329,6 +331,8 @@ 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 )
{ {
auto conf = uniset_conf();
string p("--" + prefix + "-name"); string p("--" + prefix + "-name");
string nm(UniSetTypes::getArgParam(p,argc,argv,"UniExchange")); string nm(UniSetTypes::getArgParam(p,argc,argv,"UniExchange"));
...@@ -345,7 +349,7 @@ UniExchange* UniExchange::init_exchange( int argc, const char* const* argv, ...@@ -345,7 +349,7 @@ UniExchange* UniExchange::init_exchange( int argc, const char* const* argv,
void UniExchange::readConfiguration() void UniExchange::readConfiguration()
{ {
// readconf_ok = false; // readconf_ok = false;
xmlNode* root = conf->getXMLSensorsSection(); xmlNode* root = uniset_conf()->getXMLSensorsSection();
if(!root) if(!root)
{ {
ostringstream err; ostringstream err;
...@@ -383,7 +387,7 @@ bool UniExchange::initItem( UniXML::iterator& it ) ...@@ -383,7 +387,7 @@ bool UniExchange::initItem( UniXML::iterator& it )
i.id = DefaultObjectId; i.id = DefaultObjectId;
if( it.getProp("id").empty() ) if( it.getProp("id").empty() )
i.id = conf->getSensorID(it.getProp("name")); i.id = uniset_conf()->getSensorID(it.getProp("name"));
else else
{ {
i.id = it.getIntProp("id"); i.id = it.getIntProp("id");
......
...@@ -19,8 +19,7 @@ int main(int argc, const char **argv) ...@@ -19,8 +19,7 @@ int main(int argc, const char **argv)
try try
{ {
string confile = UniSetTypes::getArgParam( "--confile", argc, argv, "configure.xml" ); auto conf = uniset_init(argc, argv);
conf = new Configuration(argc, argv, confile);
conf->initDebug(dlog,"dlog"); conf->initDebug(dlog,"dlog");
string logfilename = conf->getArgParam("--logfile", "smemory.log"); string logfilename = conf->getArgParam("--logfile", "smemory.log");
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
ВСЕ ВАШИ ИЗМЕНЕНИЯ БУДУТ ПОТЕРЯНЫ. ВСЕ ВАШИ ИЗМЕНЕНИЯ БУДУТ ПОТЕРЯНЫ.
*/ */
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// generate timestamp: 2014-01-27+04:00 // generate timestamp: 2014-11-24+03:00
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
#ifndef UObject_SK_H_ #ifndef UObject_SK_H_
#define UObject_SK_H_ #define UObject_SK_H_
...@@ -25,7 +25,7 @@ class UObject_SK: ...@@ -25,7 +25,7 @@ class UObject_SK:
public LT_Object public LT_Object
{ {
public: public:
UObject_SK( UniSetTypes::ObjectId id, xmlNode* node=UniSetTypes::conf->getNode("UObject"), const std::string& argprefix="" ); UObject_SK( UniSetTypes::ObjectId id, xmlNode* node=UniSetTypes::uniset_conf()->getNode("UObject"), const std::string& argprefix="" );
UObject_SK(); UObject_SK();
virtual ~UObject_SK(); virtual ~UObject_SK();
...@@ -33,7 +33,7 @@ class UObject_SK: ...@@ -33,7 +33,7 @@ class UObject_SK:
bool alarm( UniSetTypes::ObjectId sid, bool state ); bool alarm( UniSetTypes::ObjectId sid, bool state );
long getValue( UniSetTypes::ObjectId sid ); long getValue( UniSetTypes::ObjectId sid );
void setValue( UniSetTypes::ObjectId sid, long value ); void setValue( UniSetTypes::ObjectId sid, long value );
void askSensor( UniSetTypes::ObjectId sid, UniversalIO::UIOCommand, UniSetTypes::ObjectId node = UniSetTypes::conf->getLocalNode() ); void askSensor( UniSetTypes::ObjectId sid, UniversalIO::UIOCommand, UniSetTypes::ObjectId node = UniSetTypes::uniset_conf()->getLocalNode() );
void updateValues(); void updateValues();
void setMsg( UniSetTypes::ObjectId code, bool state ); void setMsg( UniSetTypes::ObjectId code, bool state );
...@@ -76,14 +76,14 @@ class UObject_SK: ...@@ -76,14 +76,14 @@ class UObject_SK:
// ---- end of protected variables ---- // ---- end of protected variables ----
virtual void callback(); virtual void callback() override;
virtual void processingMessage( UniSetTypes::VoidMessage* msg ); virtual void processingMessage( UniSetTypes::VoidMessage* msg ) override;
virtual void sysCommand( const UniSetTypes::SystemMessage* sm ); virtual void sysCommand( const UniSetTypes::SystemMessage* sm ) override;
virtual void askSensors( UniversalIO::UIOCommand cmd ){} virtual void askSensors( UniversalIO::UIOCommand cmd ){}
virtual void sensorInfo( const UniSetTypes::SensorMessage* sm ){} virtual void sensorInfo( const UniSetTypes::SensorMessage* sm ) override{}
virtual void timerInfo( const UniSetTypes::TimerMessage* tm ){} virtual void timerInfo( const UniSetTypes::TimerMessage* tm ) override{}
virtual void sigterm( int signo ); virtual void sigterm( int signo ) override;
virtual bool activateObject(); virtual bool activateObject() override;
virtual void testMode( bool state ); virtual void testMode( bool state );
void updatePreviousValues(); void updatePreviousValues();
void checkSensors(); void checkSensors();
...@@ -100,7 +100,7 @@ class UObject_SK: ...@@ -100,7 +100,7 @@ class UObject_SK:
int resetMsgTime; int resetMsgTime;
// Выполнение очередного шага программы // Выполнение очередного шага программы
virtual void step()=0; virtual void step(){}
int sleep_msec; /*!< пауза между итерациями */ int sleep_msec; /*!< пауза между итерациями */
bool active; bool active;
...@@ -114,9 +114,9 @@ class UObject_SK: ...@@ -114,9 +114,9 @@ class UObject_SK:
xmlNode* confnode; xmlNode* confnode;
/*! получить числовое свойство из конф. файла по привязанной confnode */ /*! получить числовое свойство из конф. файла по привязанной confnode */
int getIntProp(const std::string& name) { return UniSetTypes::conf->getIntProp(confnode, name); } int getIntProp(const std::string& name) { return UniSetTypes::uniset_conf()->getIntProp(confnode, name); }
/*! получить текстовое свойство из конф. файла по привязанной confnode */ /*! получить текстовое свойство из конф. файла по привязанной confnode */
inline const std::string getProp(const std::string& name) { return UniSetTypes::conf->getProp(confnode, name); } inline const std::string getProp(const std::string& name) { return UniSetTypes::uniset_conf()->getProp(confnode, name); }
int smReadyTimeout; /*!< время ожидания готовности SM */ int smReadyTimeout; /*!< время ожидания готовности SM */
std::atomic_bool activated; std::atomic_bool activated;
......
...@@ -18,6 +18,8 @@ namespace UniSetExtensions ...@@ -18,6 +18,8 @@ namespace UniSetExtensions
if( shmID != DefaultObjectId ) if( shmID != DefaultObjectId )
return shmID; return shmID;
auto conf = uniset_conf();
string sname = conf->getArgParam("--smemory-id","SharedMemory1"); string sname = conf->getArgParam("--smemory-id","SharedMemory1");
shmID = conf->getControllerID(sname); shmID = conf->getControllerID(sname);
...@@ -54,7 +56,7 @@ namespace UniSetExtensions ...@@ -54,7 +56,7 @@ namespace UniSetExtensions
if( xmlCalibrationsNode ) if( xmlCalibrationsNode )
return xmlCalibrationsNode; return xmlCalibrationsNode;
xmlCalibrationsNode = conf->getNode("Calibrations"); xmlCalibrationsNode = uniset_conf()->getNode("Calibrations");
return xmlCalibrationsNode; return xmlCalibrationsNode;
} }
......
...@@ -7,7 +7,7 @@ using namespace UniSetTypes; ...@@ -7,7 +7,7 @@ using namespace UniSetTypes;
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
std::ostream& operator<<( std::ostream& os, IOBase& inf ) std::ostream& operator<<( std::ostream& os, IOBase& inf )
{ {
return os << "(" << inf.si.id << ")" << conf->oind->getMapName(inf.si.id) return os << "(" << inf.si.id << ")" << uniset_conf()->oind->getMapName(inf.si.id)
<< " default=" << inf.defval << " safety=" << inf.safety; << " default=" << inf.defval << " safety=" << inf.safety;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -433,7 +433,7 @@ bool IOBase::initItem( IOBase* b, UniXML::iterator& it, SMInterface* shm, const ...@@ -433,7 +433,7 @@ bool IOBase::initItem( IOBase* b, UniXML::iterator& it, SMInterface* shm, const
ObjectId sid = DefaultObjectId; ObjectId sid = DefaultObjectId;
if( it.getProp("id").empty() ) if( it.getProp("id").empty() )
sid = conf->getSensorID(sname); sid = uniset_conf()->getSensorID(sname);
else else
sid = it.getPIntProp("id",DefaultObjectId); sid = it.getPIntProp("id",DefaultObjectId);
...@@ -448,7 +448,7 @@ bool IOBase::initItem( IOBase* b, UniXML::iterator& it, SMInterface* shm, const ...@@ -448,7 +448,7 @@ bool IOBase::initItem( IOBase* b, UniXML::iterator& it, SMInterface* shm, const
b->val_lock.setName(sname + "_lock"); b->val_lock.setName(sname + "_lock");
b->si.id = sid; b->si.id = sid;
b->si.node = conf->getLocalNode(); b->si.node = uniset_conf()->getLocalNode();
b->nofilter = initIntProp(it,"nofilter",prefix,init_prefix_only); b->nofilter = initIntProp(it,"nofilter",prefix,init_prefix_only);
b->ignore = initIntProp(it,"ioignore",prefix,init_prefix_only); b->ignore = initIntProp(it,"ioignore",prefix,init_prefix_only);
...@@ -585,7 +585,7 @@ bool IOBase::initItem( IOBase* b, UniXML::iterator& it, SMInterface* shm, const ...@@ -585,7 +585,7 @@ bool IOBase::initItem( IOBase* b, UniXML::iterator& it, SMInterface* shm, const
string tai(initProp(it,"threshold_aid",prefix,init_prefix_only)); string tai(initProp(it,"threshold_aid",prefix,init_prefix_only));
if( !tai.empty() ) if( !tai.empty() )
{ {
b->t_ai = conf->getSensorID(tai); b->t_ai = uniset_conf()->getSensorID(tai);
if( b->t_ai == DefaultObjectId ) if( b->t_ai == DefaultObjectId )
{ {
if( dlog && dlog->is_crit() ) if( dlog && dlog->is_crit() )
......
...@@ -10,6 +10,7 @@ using namespace UniSetTypes; ...@@ -10,6 +10,7 @@ using namespace UniSetTypes;
#define BEG_FUNC(name) \ #define BEG_FUNC(name) \
try \ try \
{ \ { \
auto conf = ui->getConf(); \
uniset_rwmutex_wrlock l(shmMutex); \ uniset_rwmutex_wrlock l(shmMutex); \
IONotifyController_i_var shm;\ IONotifyController_i_var shm;\
for( unsigned int i=0; i<conf->getRepeatCount(); i++)\ for( unsigned int i=0; i<conf->getRepeatCount(); i++)\
...@@ -33,6 +34,7 @@ using namespace UniSetTypes; ...@@ -33,6 +34,7 @@ using namespace UniSetTypes;
#define BEG_FUNC1(name) \ #define BEG_FUNC1(name) \
try \ try \
{ \ { \
auto conf = ui->getConf(); \
uniset_rwmutex_wrlock l(shmMutex); \ uniset_rwmutex_wrlock l(shmMutex); \
if( true ) \ if( true ) \
{ \ { \
...@@ -111,7 +113,7 @@ void SMInterface::setValue( UniSetTypes::ObjectId id, long value ) ...@@ -111,7 +113,7 @@ void SMInterface::setValue( UniSetTypes::ObjectId id, long value )
IOController_i::SensorInfo si; IOController_i::SensorInfo si;
si.id = id; si.id = id;
si.node = conf->getLocalNode(); si.node = ui->getConf()->getLocalNode();
BEG_FUNC1(SMInterface::setValue) BEG_FUNC1(SMInterface::setValue)
ui->fastSetValue(si,value,myid); ui->fastSetValue(si,value,myid);
...@@ -137,7 +139,7 @@ void SMInterface::askSensor( UniSetTypes::ObjectId id, UniversalIO::UIOCommand c ...@@ -137,7 +139,7 @@ void SMInterface::askSensor( UniSetTypes::ObjectId id, UniversalIO::UIOCommand c
{ {
ConsumerInfo_var ci; ConsumerInfo_var ci;
ci->id = (backid==DefaultObjectId) ? myid : backid; ci->id = (backid==DefaultObjectId) ? myid : backid;
ci->node = conf->getLocalNode(); ci->node = ui->getConf()->getLocalNode();
if( ic ) if( ic )
{ {
...@@ -224,7 +226,7 @@ void SMInterface::localSetValue( IOController::IOStateList::iterator& it, ...@@ -224,7 +226,7 @@ void SMInterface::localSetValue( IOController::IOStateList::iterator& it,
// CHECK_IC_PTR(localSetValue) // CHECK_IC_PTR(localSetValue)
IOController_i::SensorInfo si; IOController_i::SensorInfo si;
si.id = sid; si.id = sid;
si.node = conf->getLocalNode(); si.node = ui->getConf()->getLocalNode();
ic->localSetValue(it,si.id,value,sup_id); ic->localSetValue(it,si.id,value,sup_id);
} }
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
...@@ -246,7 +248,7 @@ void SMInterface::localSetUndefinedState( IOController::IOStateList::iterator& i ...@@ -246,7 +248,7 @@ void SMInterface::localSetUndefinedState( IOController::IOStateList::iterator& i
{ {
IOController_i::SensorInfo si; IOController_i::SensorInfo si;
si.id = sid; si.id = sid;
si.node = conf->getLocalNode(); si.node = ui->getConf()->getLocalNode();
setUndefinedState(si,undefined,myid); setUndefinedState(si,undefined,myid);
return; return;
} }
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
ВСЕ ВАШИ ИЗМЕНЕНИЯ БУДУТ ПОТЕРЯНЫ. ВСЕ ВАШИ ИЗМЕНЕНИЯ БУДУТ ПОТЕРЯНЫ.
*/ */
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// generate timestamp: 2014-01-27+04:00 // generate timestamp: 2014-11-24+03:00
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
#include "Configuration.h" #include "Configuration.h"
#include "Exceptions.h" #include "Exceptions.h"
...@@ -38,7 +38,7 @@ idHeartBeat(DefaultObjectId), ...@@ -38,7 +38,7 @@ idHeartBeat(DefaultObjectId),
maxHeartBeat(10), maxHeartBeat(10),
confnode(0), confnode(0),
smReadyTimeout(0), smReadyTimeout(0),
activated(0), activated(false),
askPause(2000), askPause(2000),
end_private(false) end_private(false)
...@@ -73,13 +73,15 @@ idHeartBeat(DefaultObjectId), ...@@ -73,13 +73,15 @@ idHeartBeat(DefaultObjectId),
maxHeartBeat(10), maxHeartBeat(10),
confnode(cnode), confnode(cnode),
smReadyTimeout(0), smReadyTimeout(0),
activated(0), activated(false),
askPause(conf->getPIntProp(cnode,"askPause",2000)), askPause(uniset_conf()->getPIntProp(cnode,"askPause",2000)),
end_private(false) end_private(false)
{ {
auto conf = uniset_conf();
if( UniSetTypes::findArgParam("--print-id-list",conf->getArgc(),conf->getArgv()) != -1 )
if( UniSetTypes::findArgParam("--print-id-list",uniset_conf()->getArgc(),uniset_conf()->getArgv()) != -1 )
{ {
// abort(); // abort();
...@@ -405,8 +407,9 @@ void UObject_SK::callback() ...@@ -405,8 +407,9 @@ void UObject_SK::callback()
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void UObject_SK::setValue( UniSetTypes::ObjectId _sid, long _val ) void UObject_SK::setValue( UniSetTypes::ObjectId _sid, long _val )
{ {
// ui.setState(sid,state);
ui.setValue(_sid,_val);
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void UObject_SK::updateOutputs( bool _force ) void UObject_SK::updateOutputs( bool _force )
...@@ -431,16 +434,14 @@ long UObject_SK::getValue( UniSetTypes::ObjectId _sid ) ...@@ -431,16 +434,14 @@ long UObject_SK::getValue( UniSetTypes::ObjectId _sid )
try try
{ {
ucrit << myname << "(getValue): Обращение к неизвестному датчику sid="
<< _sid << endl; return ui.getValue(_sid);
} }
catch(Exception& ex) catch(Exception& ex)
{ {
ucrit << myname << "(getValue): " << ex << endl; ucrit << myname << "(getValue): " << ex << endl;
throw; throw;
} }
return 0;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
......
...@@ -11,7 +11,7 @@ using namespace UniSetExtensions; ...@@ -11,7 +11,7 @@ using namespace UniSetExtensions;
TEST_CASE("IOBase","[IOBase class tests]") TEST_CASE("IOBase","[IOBase class tests]")
{ {
CHECK( UniSetTypes::conf != 0 ); CHECK( uniset_conf()!=nullptr );
SECTION("Default constructor (const data)") SECTION("Default constructor (const data)")
{ {
...@@ -58,6 +58,7 @@ TEST_CASE("IOBase","[IOBase class tests]") ...@@ -58,6 +58,7 @@ TEST_CASE("IOBase","[IOBase class tests]")
SECTION("Init from xml") SECTION("Init from xml")
{ {
auto conf = uniset_conf();
xmlNode* cnode = conf->getNode("iobasetest"); xmlNode* cnode = conf->getNode("iobasetest");
CHECK( cnode != NULL ); CHECK( cnode != NULL );
UniXML::iterator it(cnode); UniXML::iterator it(cnode);
......
...@@ -9,11 +9,13 @@ using namespace UniSetTypes; ...@@ -9,11 +9,13 @@ using namespace UniSetTypes;
TEST_CASE("UInterface","[UInterface]") TEST_CASE("UInterface","[UInterface]")
{ {
CHECK( conf!=0 ); CHECK( uniset_conf()!=nullptr );
std::string sidName("Input1_S"); std::string sidName("Input1_S");
std::string aidName("AI_AS"); std::string aidName("AI_AS");
auto conf = uniset_conf();
ObjectId testOID = conf->getObjectID("TestProc"); ObjectId testOID = conf->getObjectID("TestProc");
CHECK( testOID != DefaultObjectId ); CHECK( testOID != DefaultObjectId );
...@@ -26,7 +28,7 @@ TEST_CASE("UInterface","[UInterface]") ...@@ -26,7 +28,7 @@ TEST_CASE("UInterface","[UInterface]")
UInterface ui; UInterface ui;
CHECK( ui.getObjectIndex() != nullptr ); CHECK( ui.getObjectIndex() != nullptr );
CHECK( ui.getConf() == UniSetTypes::conf ); CHECK( ui.getConf() == uniset_conf() );
REQUIRE( ui.getConfIOType(sid) == UniversalIO::DI ); REQUIRE( ui.getConfIOType(sid) == UniversalIO::DI );
REQUIRE( ui.getConfIOType(aid) == UniversalIO::AI ); REQUIRE( ui.getConfIOType(aid) == UniversalIO::AI );
......
...@@ -229,17 +229,14 @@ namespace UniSetTypes ...@@ -229,17 +229,14 @@ namespace UniSetTypes
int heartbeat_msec; int heartbeat_msec;
}; };
/*! Глобальный указатель на конфигуратор */ /*! Глобальный указатель на конфигурацию (singleton) */
extern Configuration* conf; std::shared_ptr<Configuration> uniset_conf();
/*! Глобальный объект для вывода логов */ /*! Глобальный объект для вывода логов */
extern DebugStream ulog; extern DebugStream ulog;
// Инициализация UniSetTypes::conf. /*! инициализация "глобальной" конфигурации */
// ( учитываются параметры командной строки --confile и --id-from-config ) std::shared_ptr<Configuration> uniset_init( int argc, const char* const* argv, const std::string& xmlfile="configure.xml" );
// force - инициализировать принудительно, даже если это повторная инициализация
void uniset_init( int argc, const char* const* argv, const std::string& xmlfile="configure.xml", bool force = false );
} // end of UniSetTypes namespace } // end of UniSetTypes namespace
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
......
...@@ -81,7 +81,7 @@ class IOController: ...@@ -81,7 +81,7 @@ class IOController:
IOController_i::CalibrateInfo getCalibrateInfo( UniSetTypes::ObjectId sid ) override; IOController_i::CalibrateInfo getCalibrateInfo( UniSetTypes::ObjectId sid ) override;
inline IOController_i::SensorInfo SensorInfo( const UniSetTypes::ObjectId sid, inline IOController_i::SensorInfo SensorInfo( const UniSetTypes::ObjectId sid,
const UniSetTypes::ObjectId node=UniSetTypes::conf->getLocalNode()) const UniSetTypes::ObjectId node=UniSetTypes::uniset_conf()->getLocalNode())
{ {
IOController_i::SensorInfo si; IOController_i::SensorInfo si;
si.id = sid; si.id = sid;
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#ifndef ObjectRepository_H_ #ifndef ObjectRepository_H_
#define ObjectRepository_H_ #define ObjectRepository_H_
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
#include <memory>
#include <omniORB4/CORBA.h> #include <omniORB4/CORBA.h>
#include <omniORB4/Naming.hh> #include <omniORB4/Naming.hh>
#include <string> #include <string>
...@@ -46,7 +47,7 @@ ...@@ -46,7 +47,7 @@
{ {
public: public:
ObjectRepository( const UniSetTypes::Configuration* conf); ObjectRepository( const std::shared_ptr<UniSetTypes::Configuration>& conf );
~ObjectRepository(); ~ObjectRepository();
/** /**
...@@ -100,7 +101,7 @@ ...@@ -100,7 +101,7 @@
ObjectRepository(); ObjectRepository();
mutable std::string nsName; mutable std::string nsName;
const UniSetTypes::Configuration* uconf; std::shared_ptr<UniSetTypes::Configuration> uconf;
bool list(const std::string& section, UniSetTypes::ListObjectName *ls, unsigned int how_many, ObjectType type); bool list(const std::string& section, UniSetTypes::ListObjectName *ls, unsigned int how_many, ObjectType type);
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
public: public:
// ObjectRepositoryFactory(); // ObjectRepositoryFactory();
// ObjectRepositoryFactory(int* argc=argc_ptr, char* **argv=argv_ptr); // параметры инициализации ORB // ObjectRepositoryFactory(int* argc=argc_ptr, char* **argv=argv_ptr); // параметры инициализации ORB
ObjectRepositoryFactory( UniSetTypes::Configuration* conf ); ObjectRepositoryFactory( const std::shared_ptr<UniSetTypes::Configuration>& conf );
~ObjectRepositoryFactory(); ~ObjectRepositoryFactory();
//! Создание секции //! Создание секции
......
...@@ -65,8 +65,8 @@ class UInterface ...@@ -65,8 +65,8 @@ class UInterface
{ {
public: public:
UInterface( const UniSetTypes::ObjectId backid, CORBA::ORB_var orb=NULL, std::shared_ptr<UniSetTypes::ObjectIndex> oind=nullptr ); UInterface( const UniSetTypes::ObjectId backid, CORBA::ORB_var orb=NULL, const std::shared_ptr<UniSetTypes::ObjectIndex> oind=nullptr );
UInterface( const UniSetTypes::Configuration* uconf=UniSetTypes::conf ); UInterface( const std::shared_ptr<UniSetTypes::Configuration>& uconf = UniSetTypes::uniset_conf() );
~UInterface(); ~UInterface();
// --------------------------------------------------------------- // ---------------------------------------------------------------
...@@ -154,7 +154,7 @@ class UInterface ...@@ -154,7 +154,7 @@ class UInterface
//! Получить список датчиков //! Получить список датчиков
IOController_i::ShortMapSeq* getSensors( const UniSetTypes::ObjectId id, IOController_i::ShortMapSeq* getSensors( const UniSetTypes::ObjectId id,
const UniSetTypes::ObjectId node=UniSetTypes::conf->getLocalNode() ); const UniSetTypes::ObjectId node = UniSetTypes::uniset_conf()->getLocalNode() );
// --------------------------------------------------------------- // ---------------------------------------------------------------
// Работа с репозиторием // Работа с репозиторием
...@@ -185,10 +185,10 @@ class UInterface ...@@ -185,10 +185,10 @@ class UInterface
bool isExist( const UniSetTypes::ObjectId id, const UniSetTypes::ObjectId node ) const; bool isExist( const UniSetTypes::ObjectId id, const UniSetTypes::ObjectId node ) const;
bool waitReady( const UniSetTypes::ObjectId id, int msec, int pause=5000, bool waitReady( const UniSetTypes::ObjectId id, int msec, int pause=5000,
const UniSetTypes::ObjectId node = UniSetTypes::conf->getLocalNode() ); // used exist const UniSetTypes::ObjectId node = UniSetTypes::uniset_conf()->getLocalNode() ); // used exist
bool waitWorking( const UniSetTypes::ObjectId id, int msec, int pause=3000, bool waitWorking( const UniSetTypes::ObjectId id, int msec, int pause=3000,
const UniSetTypes::ObjectId node = UniSetTypes::conf->getLocalNode() ); // used getValue const UniSetTypes::ObjectId node = UniSetTypes::uniset_conf()->getLocalNode() ); // used getValue
// --------------------------------------------------------------- // ---------------------------------------------------------------
// Работа с ID, Name // Работа с ID, Name
...@@ -222,8 +222,7 @@ class UInterface ...@@ -222,8 +222,7 @@ class UInterface
// --------------------------------------------------------------- // ---------------------------------------------------------------
// Получение указателей на вспомогательные классы. // Получение указателей на вспомогательные классы.
inline const std::shared_ptr<UniSetTypes::ObjectIndex> getObjectIndex() { return oind; } inline const std::shared_ptr<UniSetTypes::ObjectIndex> getObjectIndex() { return oind; }
inline const UniSetTypes::Configuration* getConf() { return uconf; } inline const std::shared_ptr<UniSetTypes::Configuration> getConf() { return uconf; }
// --------------------------------------------------------------- // ---------------------------------------------------------------
// Посылка сообщений // Посылка сообщений
...@@ -302,7 +301,7 @@ class UInterface ...@@ -302,7 +301,7 @@ class UInterface
mutable CORBA::ORB_var orb; mutable CORBA::ORB_var orb;
CacheOfResolve rcache; CacheOfResolve rcache;
std::shared_ptr<UniSetTypes::ObjectIndex> oind; std::shared_ptr<UniSetTypes::ObjectIndex> oind;
const UniSetTypes::Configuration* uconf; std::shared_ptr<UniSetTypes::Configuration> uconf;
}; };
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
#endif #endif
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#ifndef UniSetTypes_H_ #ifndef UniSetTypes_H_
#define UniSetTypes_H_ #define UniSetTypes_H_
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
#include <memory>
#include <cstdlib> #include <cstdlib>
#include <cstdio> #include <cstdio>
#include <string> #include <string>
...@@ -46,8 +47,6 @@ inline void msleep( unsigned int m ) { usleep(m*1000); } ...@@ -46,8 +47,6 @@ inline void msleep( unsigned int m ) { usleep(m*1000); }
namespace UniSetTypes namespace UniSetTypes
{ {
class Configuration; class Configuration;
extern Configuration* conf;
// --------------------------------------------------------------- // ---------------------------------------------------------------
// Вспомогательные типы данных и константы // Вспомогательные типы данных и константы
...@@ -172,7 +171,7 @@ namespace UniSetTypes ...@@ -172,7 +171,7 @@ namespace UniSetTypes
/*! Функция разбора строки вида: 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( const std::string& s, Configuration* conf=UniSetTypes::conf ); std::list<ParamSInfo> getSInfoList( const std::string& s, std::shared_ptr<UniSetTypes::Configuration> conf = nullptr );
/*! проверка является текст в строке - числом..*/ /*! проверка является текст в строке - числом..*/
bool is_digit( const std::string& s ); bool is_digit( const std::string& s );
......
...@@ -36,10 +36,11 @@ void pyUInterface::uniset_init( int argc, char* argv[], const char* xmlfile )thr ...@@ -36,10 +36,11 @@ void pyUInterface::uniset_init( int argc, char* argv[], const char* xmlfile )thr
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
long pyUInterface::getValue( long id )throw(UException) long pyUInterface::getValue( long id )throw(UException)
{ {
if( !UniSetTypes::conf || !ui ) auto conf = UniSetTypes::uniset_conf();
if( !conf || !ui )
throw USysError(); throw USysError();
UniversalIO::IOType t = UniSetTypes::conf->getIOType(id); UniversalIO::IOType t = conf->getIOType(id);
try try
{ {
switch(t) switch(t)
...@@ -77,10 +78,12 @@ long pyUInterface::getValue( long id )throw(UException) ...@@ -77,10 +78,12 @@ long pyUInterface::getValue( long id )throw(UException)
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
void pyUInterface::setValue( long id, long val )throw(UException) void pyUInterface::setValue( long id, long val )throw(UException)
{ {
if( !UniSetTypes::conf || !ui ) auto conf = UniSetTypes::uniset_conf();
if( !conf || !ui )
throw USysError(); throw USysError();
UniversalIO::IOType t = UniSetTypes::conf->getIOType(id); UniversalIO::IOType t = conf->getIOType(id);
try try
{ {
switch(t) switch(t)
...@@ -116,40 +119,45 @@ void pyUInterface::setValue( long id, long val )throw(UException) ...@@ -116,40 +119,45 @@ void pyUInterface::setValue( long id, long val )throw(UException)
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
long pyUInterface::getSensorID( const char* name ) long pyUInterface::getSensorID( const char* name )
{ {
if( UniSetTypes::conf ) auto conf = UniSetTypes::uniset_conf();
return UniSetTypes::conf->getSensorID(name); if( conf )
return conf->getSensorID(name);
return UniSetTypes::DefaultObjectId; return UniSetTypes::DefaultObjectId;
} }
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
const char* pyUInterface::getName( long id ) const char* pyUInterface::getName( long id )
{ {
if( UniSetTypes::conf ) auto conf = UniSetTypes::uniset_conf();
return UniSetTypes::conf->oind->getMapName(id).c_str(); if( conf )
return conf->oind->getMapName(id).c_str();
return ""; return "";
} }
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
const char* pyUInterface::getShortName( long id ) const char* pyUInterface::getShortName( long id )
{ {
if( UniSetTypes::conf ) auto conf = UniSetTypes::uniset_conf();
return ORepHelpers::getShortName(UniSetTypes::conf->oind->getMapName(id)).c_str(); if( conf )
return ORepHelpers::getShortName(conf->oind->getMapName(id)).c_str();
return ""; return "";
} }
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
const char* pyUInterface::getTextName( long id ) const char* pyUInterface::getTextName( long id )
{ {
if( UniSetTypes::conf ) auto conf = UniSetTypes::uniset_conf();
return UniSetTypes::conf->oind->getTextName(id).c_str(); if( conf )
return conf->oind->getTextName(id).c_str();
return ""; return "";
} }
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
const char* pyUInterface::getConfFileName() const char* pyUInterface::getConfFileName()
{ {
if( UniSetTypes::conf ) auto conf = UniSetTypes::uniset_conf();
return UniSetTypes::conf->getConfFileName().c_str(); if( conf )
return conf->getConfFileName().c_str();
return ""; return "";
......
...@@ -10,8 +10,8 @@ xmlfile(xfile) ...@@ -10,8 +10,8 @@ xmlfile(xfile)
{ {
try try
{ {
conf = new UniSetTypes::Configuration(p->argc,p->argv,xmlfile); conf = UniSetTypes::uniset_init(p->argc,p->argv,xmlfile);
ui = new UInterface(conf); ui = make_shared<UInterface>(conf);
} }
catch( UniSetTypes::Exception& ex ) catch( UniSetTypes::Exception& ex )
{ {
...@@ -30,8 +30,8 @@ xmlfile(xfile) ...@@ -30,8 +30,8 @@ xmlfile(xfile)
{ {
try try
{ {
conf = new UniSetTypes::Configuration(argc,argv,xmlfile); conf = UniSetTypes::uniset_init(argc,argv,xmlfile);
ui = new UInterface(conf); ui = make_shared<UInterface>(conf);
} }
catch( UniSetTypes::Exception& ex ) catch( UniSetTypes::Exception& ex )
{ {
...@@ -45,8 +45,6 @@ xmlfile(xfile) ...@@ -45,8 +45,6 @@ xmlfile(xfile)
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
UConnector::~UConnector() UConnector::~UConnector()
{ {
delete ui;
delete conf;
} }
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
const char* UConnector::getConfFileName() const char* UConnector::getConfFileName()
......
#ifndef UConnector_H_ #ifndef UConnector_H_
#define UConnector_H_ #define UConnector_H_
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
#include <memory>
#include <string> #include <string>
#include "Configuration.h" #include "Configuration.h"
#include "UInterface.h" #include "UInterface.h"
...@@ -29,8 +30,8 @@ class UConnector ...@@ -29,8 +30,8 @@ class UConnector
private: private:
UniSetTypes::Configuration* conf; std::shared_ptr<UniSetTypes::Configuration> conf;
UInterface* ui; std::shared_ptr<UInterface> ui;
const char* xmlfile; const char* xmlfile;
}; };
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
......
/* ---------------------------------------------------------------------------- /* ----------------------------------------------------------------------------
* This file was automatically generated by SWIG (http://www.swig.org). * This file was automatically generated by SWIG (http://www.swig.org).
* Version 3.0.0 * Version 3.0.2
* *
* This file is not intended to be easily readable and contains a number of * This file is not intended to be easily readable and contains a number of
* coding conventions designed to improve portability and efficiency. Do not make * coding conventions designed to improve portability and efficiency. Do not make
...@@ -2965,7 +2965,7 @@ static swig_module_info swig_module = {swig_types, 5, 0, 0, 0, 0}; ...@@ -2965,7 +2965,7 @@ static swig_module_info swig_module = {swig_types, 5, 0, 0, 0, 0};
#endif #endif
#define SWIG_name "_pyUConnector" #define SWIG_name "_pyUConnector"
#define SWIGVERSION 0x030000 #define SWIGVERSION 0x030002
#define SWIG_VERSION SWIGVERSION #define SWIG_VERSION SWIGVERSION
...@@ -3305,7 +3305,11 @@ SWIG_FromCharPtrAndSize(const char* carray, size_t size) ...@@ -3305,7 +3305,11 @@ SWIG_FromCharPtrAndSize(const char* carray, size_t size)
SWIG_InternalNewPointerObj(const_cast< char * >(carray), pchar_descriptor, 0) : SWIG_Py_Void(); SWIG_InternalNewPointerObj(const_cast< char * >(carray), pchar_descriptor, 0) : SWIG_Py_Void();
} else { } else {
#if PY_VERSION_HEX >= 0x03000000 #if PY_VERSION_HEX >= 0x03000000
#if PY_VERSION_HEX >= 0x03010000
return PyUnicode_DecodeUTF8(carray, static_cast< int >(size), "surrogateescape");
#else
return PyUnicode_FromStringAndSize(carray, static_cast< int >(size)); return PyUnicode_FromStringAndSize(carray, static_cast< int >(size));
#endif
#else #else
return PyString_FromStringAndSize(carray, static_cast< int >(size)); return PyString_FromStringAndSize(carray, static_cast< int >(size));
#endif #endif
......
/* ---------------------------------------------------------------------------- /* ----------------------------------------------------------------------------
* This file was automatically generated by SWIG (http://www.swig.org). * This file was automatically generated by SWIG (http://www.swig.org).
* Version 3.0.0 * Version 3.0.2
* *
* This file is not intended to be easily readable and contains a number of * This file is not intended to be easily readable and contains a number of
* coding conventions designed to improve portability and efficiency. Do not make * coding conventions designed to improve portability and efficiency. Do not make
...@@ -2965,7 +2965,7 @@ static swig_module_info swig_module = {swig_types, 5, 0, 0, 0, 0}; ...@@ -2965,7 +2965,7 @@ static swig_module_info swig_module = {swig_types, 5, 0, 0, 0, 0};
#endif #endif
#define SWIG_name "_pyUExceptions" #define SWIG_name "_pyUExceptions"
#define SWIGVERSION 0x030000 #define SWIGVERSION 0x030002
#define SWIG_VERSION SWIGVERSION #define SWIG_VERSION SWIGVERSION
...@@ -3143,7 +3143,11 @@ SWIG_FromCharPtrAndSize(const char* carray, size_t size) ...@@ -3143,7 +3143,11 @@ SWIG_FromCharPtrAndSize(const char* carray, size_t size)
SWIG_InternalNewPointerObj(const_cast< char * >(carray), pchar_descriptor, 0) : SWIG_Py_Void(); SWIG_InternalNewPointerObj(const_cast< char * >(carray), pchar_descriptor, 0) : SWIG_Py_Void();
} else { } else {
#if PY_VERSION_HEX >= 0x03000000 #if PY_VERSION_HEX >= 0x03000000
#if PY_VERSION_HEX >= 0x03010000
return PyUnicode_DecodeUTF8(carray, static_cast< int >(size), "surrogateescape");
#else
return PyUnicode_FromStringAndSize(carray, static_cast< int >(size)); return PyUnicode_FromStringAndSize(carray, static_cast< int >(size));
#endif
#else #else
return PyString_FromStringAndSize(carray, static_cast< int >(size)); return PyString_FromStringAndSize(carray, static_cast< int >(size));
#endif #endif
......
/* ---------------------------------------------------------------------------- /* ----------------------------------------------------------------------------
* This file was automatically generated by SWIG (http://www.swig.org). * This file was automatically generated by SWIG (http://www.swig.org).
* Version 3.0.0 * Version 3.0.2
* *
* This file is not intended to be easily readable and contains a number of * This file is not intended to be easily readable and contains a number of
* coding conventions designed to improve portability and efficiency. Do not make * coding conventions designed to improve portability and efficiency. Do not make
...@@ -2967,7 +2967,7 @@ static swig_module_info swig_module = {swig_types, 7, 0, 0, 0, 0}; ...@@ -2967,7 +2967,7 @@ static swig_module_info swig_module = {swig_types, 7, 0, 0, 0, 0};
#endif #endif
#define SWIG_name "_pyUniSet" #define SWIG_name "_pyUniSet"
#define SWIGVERSION 0x030000 #define SWIGVERSION 0x030002
#define SWIG_VERSION SWIGVERSION #define SWIG_VERSION SWIGVERSION
...@@ -3293,7 +3293,11 @@ SWIG_FromCharPtrAndSize(const char* carray, size_t size) ...@@ -3293,7 +3293,11 @@ SWIG_FromCharPtrAndSize(const char* carray, size_t size)
SWIG_InternalNewPointerObj(const_cast< char * >(carray), pchar_descriptor, 0) : SWIG_Py_Void(); SWIG_InternalNewPointerObj(const_cast< char * >(carray), pchar_descriptor, 0) : SWIG_Py_Void();
} else { } else {
#if PY_VERSION_HEX >= 0x03000000 #if PY_VERSION_HEX >= 0x03000000
#if PY_VERSION_HEX >= 0x03010000
return PyUnicode_DecodeUTF8(carray, static_cast< int >(size), "surrogateescape");
#else
return PyUnicode_FromStringAndSize(carray, static_cast< int >(size)); return PyUnicode_FromStringAndSize(carray, static_cast< int >(size));
#endif
#else #else
return PyString_FromStringAndSize(carray, static_cast< int >(size)); return PyString_FromStringAndSize(carray, static_cast< int >(size));
#endif #endif
......
/* ---------------------------------------------------------------------------- /* ----------------------------------------------------------------------------
* This file was automatically generated by SWIG (http://www.swig.org). * This file was automatically generated by SWIG (http://www.swig.org).
* Version 3.0.0 * Version 3.0.2
* *
* This file is not intended to be easily readable and contains a number of * This file is not intended to be easily readable and contains a number of
* coding conventions designed to improve portability and efficiency. Do not make * coding conventions designed to improve portability and efficiency. Do not make
...@@ -2968,7 +2968,7 @@ static swig_module_info swig_module = {swig_types, 8, 0, 0, 0, 0}; ...@@ -2968,7 +2968,7 @@ static swig_module_info swig_module = {swig_types, 8, 0, 0, 0, 0};
#endif #endif
#define SWIG_name "_pyUModbus" #define SWIG_name "_pyUModbus"
#define SWIGVERSION 0x030000 #define SWIGVERSION 0x030002
#define SWIG_VERSION SWIGVERSION #define SWIG_VERSION SWIGVERSION
...@@ -3067,7 +3067,11 @@ SWIG_FromCharPtrAndSize(const char* carray, size_t size) ...@@ -3067,7 +3067,11 @@ SWIG_FromCharPtrAndSize(const char* carray, size_t size)
SWIG_InternalNewPointerObj(const_cast< char * >(carray), pchar_descriptor, 0) : SWIG_Py_Void(); SWIG_InternalNewPointerObj(const_cast< char * >(carray), pchar_descriptor, 0) : SWIG_Py_Void();
} else { } else {
#if PY_VERSION_HEX >= 0x03000000 #if PY_VERSION_HEX >= 0x03000000
#if PY_VERSION_HEX >= 0x03010000
return PyUnicode_DecodeUTF8(carray, static_cast< int >(size), "surrogateescape");
#else
return PyUnicode_FromStringAndSize(carray, static_cast< int >(size)); return PyUnicode_FromStringAndSize(carray, static_cast< int >(size));
#endif
#else #else
return PyString_FromStringAndSize(carray, static_cast< int >(size)); return PyString_FromStringAndSize(carray, static_cast< int >(size));
#endif #endif
......
# This file was automatically generated by SWIG (http://www.swig.org). # This file was automatically generated by SWIG (http://www.swig.org).
# Version 3.0.0 # Version 3.0.2
# #
# Do not make changes to this file unless you know what you are doing--modify # Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead. # the SWIG interface file instead.
......
# This file was automatically generated by SWIG (http://www.swig.org). # This file was automatically generated by SWIG (http://www.swig.org).
# Version 3.0.0 # Version 3.0.2
# #
# Do not make changes to this file unless you know what you are doing--modify # Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead. # the SWIG interface file instead.
......
# This file was automatically generated by SWIG (http://www.swig.org). # This file was automatically generated by SWIG (http://www.swig.org).
# Version 3.0.0 # Version 3.0.2
# #
# Do not make changes to this file unless you know what you are doing--modify # Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead. # the SWIG interface file instead.
......
# This file was automatically generated by SWIG (http://www.swig.org). # This file was automatically generated by SWIG (http://www.swig.org).
# Version 3.0.0 # Version 3.0.2
# #
# Do not make changes to this file unless you know what you are doing--modify # Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead. # the SWIG interface file instead.
......
...@@ -40,7 +40,7 @@ using namespace UniversalIO; ...@@ -40,7 +40,7 @@ using namespace UniversalIO;
using namespace UniSetTypes; using namespace UniSetTypes;
using namespace std; using namespace std;
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
UInterface::UInterface( const UniSetTypes::Configuration* _uconf ): UInterface::UInterface( const std::shared_ptr<UniSetTypes::Configuration>& _uconf ):
rep(_uconf), rep(_uconf),
myid(UniSetTypes::DefaultObjectId), myid(UniSetTypes::DefaultObjectId),
orb(CORBA::ORB::_nil()), orb(CORBA::ORB::_nil()),
...@@ -51,15 +51,15 @@ UInterface::UInterface( const UniSetTypes::Configuration* _uconf ): ...@@ -51,15 +51,15 @@ UInterface::UInterface( const UniSetTypes::Configuration* _uconf ):
init(); init();
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
UInterface::UInterface( const ObjectId backid, CORBA::ORB_var orb, shared_ptr<ObjectIndex> _oind ): UInterface::UInterface( const ObjectId backid, CORBA::ORB_var orb, const shared_ptr<ObjectIndex> _oind ):
rep(UniSetTypes::conf), rep(UniSetTypes::uniset_conf()),
myid(backid), myid(backid),
orb(orb), orb(orb),
rcache(200,40), rcache(200,40),
oind(_oind), oind(_oind),
uconf(UniSetTypes::conf) uconf(UniSetTypes::uniset_conf())
{ {
if( oind == NULL ) if( oind == nullptr )
oind = uconf->oind; oind = uconf->oind;
init(); init();
...@@ -1287,7 +1287,7 @@ IONotifyController_i::ThresholdInfo ...@@ -1287,7 +1287,7 @@ IONotifyController_i::ThresholdInfo
{ {
IOController_i::SensorInfo si; IOController_i::SensorInfo si;
si.id = sid; si.id = sid;
si.node = conf->getLocalNode(); si.node = uconf->getLocalNode();
return getThresholdInfo(si,tid); return getThresholdInfo(si,tid);
} }
// -------------------------------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------------------------------
...@@ -1609,7 +1609,7 @@ IOController_i::SensorInfoSeq_var UInterface::getSensorSeq( const UniSetTypes::I ...@@ -1609,7 +1609,7 @@ IOController_i::SensorInfoSeq_var UInterface::getSensorSeq( const UniSetTypes::I
CORBA::Object_var oref; CORBA::Object_var oref;
try try
{ {
oref = rcache.resolve(sid,conf->getLocalNode()); oref = rcache.resolve(sid,uconf->getLocalNode());
} }
catch( NameNotFound ){} catch( NameNotFound ){}
...@@ -1618,7 +1618,7 @@ IOController_i::SensorInfoSeq_var UInterface::getSensorSeq( const UniSetTypes::I ...@@ -1618,7 +1618,7 @@ IOController_i::SensorInfoSeq_var UInterface::getSensorSeq( const UniSetTypes::I
try try
{ {
if( CORBA::is_nil(oref) ) if( CORBA::is_nil(oref) )
oref = resolve(sid,conf->getLocalNode()); oref = resolve(sid,uconf->getLocalNode());
IOController_i_var iom = IOController_i::_narrow(oref); IOController_i_var iom = IOController_i::_narrow(oref);
...@@ -1635,29 +1635,29 @@ IOController_i::SensorInfoSeq_var UInterface::getSensorSeq( const UniSetTypes::I ...@@ -1635,29 +1635,29 @@ IOController_i::SensorInfoSeq_var UInterface::getSensorSeq( const UniSetTypes::I
catch(UniSetTypes::TimeOut){} catch(UniSetTypes::TimeOut){}
catch(IOController_i::NameNotFound &ex) catch(IOController_i::NameNotFound &ex)
{ {
rcache.erase(sid,conf->getLocalNode()); rcache.erase(sid,uconf->getLocalNode());
throw UniSetTypes::NameNotFound("UI(getSensorSeq): "+string(ex.err)); throw UniSetTypes::NameNotFound("UI(getSensorSeq): "+string(ex.err));
} }
catch(IOController_i::IOBadParam& ex) catch(IOController_i::IOBadParam& ex)
{ {
rcache.erase(sid,conf->getLocalNode()); rcache.erase(sid,uconf->getLocalNode());
throw UniSetTypes::IOBadParam("UI(getSensorSeq): "+string(ex.err)); throw UniSetTypes::IOBadParam("UI(getSensorSeq): "+string(ex.err));
} }
catch(ORepFailed) catch(ORepFailed)
{ {
rcache.erase(sid,conf->getLocalNode()); rcache.erase(sid,uconf->getLocalNode());
// не смогли получить ссылку на объект // не смогли получить ссылку на объект
throw UniSetTypes::IOBadParam(set_err("UI(getSensorSeq): resolve failed ",sid,conf->getLocalNode())); throw UniSetTypes::IOBadParam(set_err("UI(getSensorSeq): resolve failed ",sid,uconf->getLocalNode()));
} }
catch(CORBA::NO_IMPLEMENT) catch(CORBA::NO_IMPLEMENT)
{ {
rcache.erase(sid,conf->getLocalNode()); rcache.erase(sid,uconf->getLocalNode());
throw UniSetTypes::IOBadParam(set_err("UI(getSensorSeq): method no implement",sid,conf->getLocalNode())); throw UniSetTypes::IOBadParam(set_err("UI(getSensorSeq): method no implement",sid,uconf->getLocalNode()));
} }
catch(CORBA::OBJECT_NOT_EXIST) catch(CORBA::OBJECT_NOT_EXIST)
{ {
rcache.erase(sid,conf->getLocalNode()); rcache.erase(sid,uconf->getLocalNode());
throw UniSetTypes::IOBadParam(set_err("UI(getSensorSeq): object not exist",sid,conf->getLocalNode())); throw UniSetTypes::IOBadParam(set_err("UI(getSensorSeq): object not exist",sid,uconf->getLocalNode()));
} }
catch(CORBA::COMM_FAILURE& ex) catch(CORBA::COMM_FAILURE& ex)
{ {
...@@ -1668,8 +1668,8 @@ IOController_i::SensorInfoSeq_var UInterface::getSensorSeq( const UniSetTypes::I ...@@ -1668,8 +1668,8 @@ IOController_i::SensorInfoSeq_var UInterface::getSensorSeq( const UniSetTypes::I
// ошибка системы коммуникации // ошибка системы коммуникации
// uwarn << "UI(getValue): CORBA::SystemException" << endl; // uwarn << "UI(getValue): CORBA::SystemException" << endl;
} }
rcache.erase(sid,conf->getLocalNode()); rcache.erase(sid,uconf->getLocalNode());
throw UniSetTypes::TimeOut(set_err("UI(getSensorSeq): Timeout",sid,conf->getLocalNode())); throw UniSetTypes::TimeOut(set_err("UI(getSensorSeq): Timeout",sid,uconf->getLocalNode()));
} }
// -------------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------------
...@@ -1770,7 +1770,7 @@ UniSetTypes::IDSeq_var UInterface::askSensorsSeq( const UniSetTypes::IDList& lst ...@@ -1770,7 +1770,7 @@ UniSetTypes::IDSeq_var UInterface::askSensorsSeq( const UniSetTypes::IDList& lst
CORBA::Object_var oref; CORBA::Object_var oref;
try try
{ {
oref = rcache.resolve(sid,conf->getLocalNode()); oref = rcache.resolve(sid,uconf->getLocalNode());
} }
catch( NameNotFound ){} catch( NameNotFound ){}
...@@ -1779,7 +1779,7 @@ UniSetTypes::IDSeq_var UInterface::askSensorsSeq( const UniSetTypes::IDList& lst ...@@ -1779,7 +1779,7 @@ UniSetTypes::IDSeq_var UInterface::askSensorsSeq( const UniSetTypes::IDList& lst
try try
{ {
if( CORBA::is_nil(oref) ) if( CORBA::is_nil(oref) )
oref = resolve(sid,conf->getLocalNode()); oref = resolve(sid,uconf->getLocalNode());
IONotifyController_i_var iom = IONotifyController_i::_narrow(oref); IONotifyController_i_var iom = IONotifyController_i::_narrow(oref);
...@@ -1800,29 +1800,29 @@ UniSetTypes::IDSeq_var UInterface::askSensorsSeq( const UniSetTypes::IDList& lst ...@@ -1800,29 +1800,29 @@ UniSetTypes::IDSeq_var UInterface::askSensorsSeq( const UniSetTypes::IDList& lst
catch(UniSetTypes::TimeOut){} catch(UniSetTypes::TimeOut){}
catch(IOController_i::NameNotFound &ex) catch(IOController_i::NameNotFound &ex)
{ {
rcache.erase(sid,conf->getLocalNode()); rcache.erase(sid,uconf->getLocalNode());
throw UniSetTypes::NameNotFound("UI(getSensorSeq): "+string(ex.err)); throw UniSetTypes::NameNotFound("UI(getSensorSeq): "+string(ex.err));
} }
catch(IOController_i::IOBadParam& ex) catch(IOController_i::IOBadParam& ex)
{ {
rcache.erase(sid,conf->getLocalNode()); rcache.erase(sid,uconf->getLocalNode());
throw UniSetTypes::IOBadParam("UI(getSensorSeq): "+string(ex.err)); throw UniSetTypes::IOBadParam("UI(getSensorSeq): "+string(ex.err));
} }
catch(ORepFailed) catch(ORepFailed)
{ {
rcache.erase(sid,conf->getLocalNode()); rcache.erase(sid,uconf->getLocalNode());
// не смогли получить ссылку на объект // не смогли получить ссылку на объект
throw UniSetTypes::IOBadParam(set_err("UI(askSensorSeq): resolve failed ",sid,conf->getLocalNode())); throw UniSetTypes::IOBadParam(set_err("UI(askSensorSeq): resolve failed ",sid,uconf->getLocalNode()));
} }
catch(CORBA::NO_IMPLEMENT) catch(CORBA::NO_IMPLEMENT)
{ {
rcache.erase(sid,conf->getLocalNode()); rcache.erase(sid,uconf->getLocalNode());
throw UniSetTypes::IOBadParam(set_err("UI(askSensorSeq): method no implement",sid,conf->getLocalNode())); throw UniSetTypes::IOBadParam(set_err("UI(askSensorSeq): method no implement",sid,uconf->getLocalNode()));
} }
catch(CORBA::OBJECT_NOT_EXIST) catch(CORBA::OBJECT_NOT_EXIST)
{ {
rcache.erase(sid,conf->getLocalNode()); rcache.erase(sid,uconf->getLocalNode());
throw UniSetTypes::IOBadParam(set_err("UI(askSensorSeq): object not exist",sid,conf->getLocalNode())); throw UniSetTypes::IOBadParam(set_err("UI(askSensorSeq): object not exist",sid,uconf->getLocalNode()));
} }
catch(CORBA::COMM_FAILURE& ex) catch(CORBA::COMM_FAILURE& ex)
{ {
...@@ -1833,11 +1833,11 @@ UniSetTypes::IDSeq_var UInterface::askSensorsSeq( const UniSetTypes::IDList& lst ...@@ -1833,11 +1833,11 @@ UniSetTypes::IDSeq_var UInterface::askSensorsSeq( const UniSetTypes::IDList& lst
// ошибка системы коммуникации // ошибка системы коммуникации
// uwarn << "UI(getValue): CORBA::SystemException" << endl; // uwarn << "UI(getValue): CORBA::SystemException" << endl;
} }
rcache.erase(sid,conf->getLocalNode()); rcache.erase(sid,uconf->getLocalNode());
throw UniSetTypes::TimeOut(set_err("UI(askSensorSeq): Timeout",sid,conf->getLocalNode())); throw UniSetTypes::TimeOut(set_err("UI(askSensorSeq): Timeout",sid,uconf->getLocalNode()));
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
IOController_i::ShortMapSeq* UInterface::getSensors( const UniSetTypes::ObjectId id, const UniSetTypes::ObjectId node ) IOController_i::ShortMapSeq* UInterface::getSensors( const UniSetTypes::ObjectId id, UniSetTypes::ObjectId node )
{ {
if ( id == DefaultObjectId ) if ( id == DefaultObjectId )
throw ORepFailed("UI(getSensors): error node=UniSetTypes::DefaultObjectId"); throw ORepFailed("UI(getSensors): error node=UniSetTypes::DefaultObjectId");
...@@ -1965,10 +1965,10 @@ bool UInterface::waitWorking( const ObjectId id, int msec, int pmsec, const Obje ...@@ -1965,10 +1965,10 @@ bool UInterface::waitWorking( const ObjectId id, int msec, int pmsec, const Obje
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
UniversalIO::IOType UInterface::getConfIOType( const UniSetTypes::ObjectId id ) const UniversalIO::IOType UInterface::getConfIOType( const UniSetTypes::ObjectId id ) const
{ {
if( !conf ) if( !uconf )
return UniversalIO::UnknownIOType; return UniversalIO::UnknownIOType;
xmlNode* x = conf->getXMLObjectNode(id); xmlNode* x = uconf->getXMLObjectNode(id);
if( !x ) if( !x )
return UniversalIO::UnknownIOType; return UniversalIO::UnknownIOType;
......
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