Commit fbb262af authored by Pavel Vainerman's avatar Pavel Vainerman

(SM): сделал возможность указывать conf-секцию.

parent e2d9b1a5
...@@ -33,7 +33,7 @@ void SharedMemory::help_print( int argc, const char* const* argv ) ...@@ -33,7 +33,7 @@ void SharedMemory::help_print( int argc, const char* const* argv )
cout << "--pulsar-iotype - [DI|DO]тип датчика для 'мигания'. По умолчанию DI." << endl; cout << "--pulsar-iotype - [DI|DO]тип датчика для 'мигания'. По умолчанию DI." << endl;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
SharedMemory::SharedMemory( ObjectId id, string datafile ): SharedMemory::SharedMemory( ObjectId id, string datafile, std::string confname ):
IONotifyController_LT(id), IONotifyController_LT(id),
heartbeatCheckTime(5000), heartbeatCheckTime(5000),
histSaveTime(0), histSaveTime(0),
...@@ -44,7 +44,11 @@ SharedMemory::SharedMemory( ObjectId id, string datafile ): ...@@ -44,7 +44,11 @@ SharedMemory::SharedMemory( ObjectId id, string datafile ):
iotypePulsar(UniversalIO::DigitalInput), iotypePulsar(UniversalIO::DigitalInput),
msecPulsar(0) msecPulsar(0)
{ {
xmlNode* cnode = conf->getNode("SharedMemory"); string cname(confname);
if( cname.empty() )
cname = ORepHelpers::getShortName(conf->oind->getMapName(id));
xmlNode* cnode = conf->getNode(cname);
if( cnode == NULL ) if( cnode == NULL )
throw SystemError("Not find conf-node for SharedMemory"); throw SystemError("Not find conf-node for SharedMemory");
...@@ -590,7 +594,10 @@ SharedMemory* SharedMemory::init_smemory( int argc, const char* const* argv ) ...@@ -590,7 +594,10 @@ SharedMemory* SharedMemory::init_smemory( int argc, const char* const* argv )
<< endl; << endl;
return 0; return 0;
} }
return new SharedMemory(ID,dfile);
string cname = conf->getArgParam("--smemory--confnode", ORepHelpers::getShortName(conf->oind->getMapName(ID)) );
return new SharedMemory(ID,dfile,cname);
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void SharedMemory::buildEventList( xmlNode* cnode ) void SharedMemory::buildEventList( xmlNode* cnode )
......
...@@ -257,7 +257,7 @@ class SharedMemory: ...@@ -257,7 +257,7 @@ class SharedMemory:
public IONotifyController_LT public IONotifyController_LT
{ {
public: public:
SharedMemory( UniSetTypes::ObjectId id, std::string datafile ); SharedMemory( UniSetTypes::ObjectId id, std::string datafile, std::string confname="" );
virtual ~SharedMemory(); virtual ~SharedMemory();
/*! глобальная функция для инициализации объекта */ /*! глобальная функция для инициализации объекта */
......
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