Commit 38ba27ea authored by Pavel Vainerman's avatar Pavel Vainerman

Мелкие правки форматирования

parent 45bafea1
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
/*! /*!
\page page_IOControl (IOControl) Реализация процесса ввода/вывода \page page_IOControl (IOControl) Реализация процесса ввода/вывода
- \ref sec_IOC_Comm - \ref sec_IOC_Comm
- \ref sec_IOC_Conf - \ref sec_IOC_Conf
- \ref sec_IOC_ConfList - \ref sec_IOC_ConfList
...@@ -207,8 +207,6 @@ class IOControl: ...@@ -207,8 +207,6 @@ class IOControl:
/*! глобальная функция для вывода help-а */ /*! глобальная функция для вывода help-а */
static void help_print( int argc, const char* const* argv ); static void help_print( int argc, const char* const* argv );
// inline std::string getName(){ return myname; }
/*! Информация о входе/выходе */ /*! Информация о входе/выходе */
struct IOInfo: struct IOInfo:
public IOBase public IOBase
...@@ -225,9 +223,9 @@ class IOControl: ...@@ -225,9 +223,9 @@ class IOControl:
{} {}
int subdev; /*!< (UNIO) подустройство (см. comedi_test для конкретной карты в/в) */ int subdev; /*!< (UNIO) подустройство (см. comedi_test для конкретной карты в/в) */
int channel; /*!< (UNIO) канал [0...23] */ int channel; /*!< (UNIO) канал [0...23] */
int ncard; /*!< номер карты [1|2]. 0 - не определена. FIXME from Lav: -1 - не определена? */ int ncard; /*!< номер карты [1|2]. 0 - не определена. FIXME from Lav: -1 - не определена? */
/*! Вид поключения /*! Вид поключения
0 - analog ref = analog ground 0 - analog ref = analog ground
...@@ -245,9 +243,9 @@ class IOControl: ...@@ -245,9 +243,9 @@ class IOControl:
*/ */
int range; int range;
bool lamp; /*!< признак, что данный выход является лампочкой (или сигнализатором) */ bool lamp; /*!< признак, что данный выход является лампочкой (или сигнализатором) */
bool no_testlamp; /*!< флаг исключения из 'проверки ламп' */ bool no_testlamp; /*!< флаг исключения из 'проверки ламп' */
bool enable_testmode; /*!< флаг для режима тестирования tmConfigEnable */ bool enable_testmode; /*!< флаг для режима тестирования tmConfigEnable */
bool disable_testmode; /*!< флаг для режима тестирования tmConfigDisable */ bool disable_testmode; /*!< флаг для режима тестирования tmConfigDisable */
friend std::ostream& operator<<(std::ostream& os, IOInfo& inf ); friend std::ostream& operator<<(std::ostream& os, IOInfo& inf );
...@@ -264,12 +262,12 @@ class IOControl: ...@@ -264,12 +262,12 @@ class IOControl:
enum TestModeID enum TestModeID
{ {
tmNone = 0, /*!< тестовый режим отключён */ tmNone = 0, /*!< тестовый режим отключён */
tmOffPoll = 1, /*!< отключить опрос */ tmOffPoll = 1, /*!< отключить опрос */
tmConfigEnable = 2, /*!< специальный режим, в соответсвии с настройкой 'enable_testmode' */ tmConfigEnable = 2, /*!< специальный режим, в соответсвии с настройкой 'enable_testmode' */
tmConfigDisable = 3, /*!< специальный режим, в соответсвии с настройкой 'disable_testmode' */ tmConfigDisable = 3, /*!< специальный режим, в соответсвии с настройкой 'disable_testmode' */
tmOnlyInputs = 4, /*!< включены только входы */ tmOnlyInputs = 4, /*!< включены только входы */
tmOnlyOutputs = 5 /*!< включены только выходы */ tmOnlyOutputs = 5 /*!< включены только выходы */
}; };
void execute(); void execute();
...@@ -306,15 +304,14 @@ class IOControl: ...@@ -306,15 +304,14 @@ class IOControl:
bool checkCards( const std::string& func="" ); bool checkCards( const std::string& func="" );
// std::string myname; xmlNode* cnode; /*!< xml-узел в настроечном файле */
xmlNode* cnode; /*!< xml-узел в настроечном файле */
int polltime; /*!< переодичность обновления данных (опроса карт в/в), [мсек] */ int polltime; /*!< переодичность обновления данных (опроса карт в/в), [мсек] */
CardList cards; /*!< список карт - массив созданных ComediInterface */ CardList cards; /*!< список карт - массив созданных ComediInterface */
bool noCards; bool noCards;
typedef std::vector<IOInfo> IOMap; typedef std::vector<IOInfo> IOMap;
IOMap iomap; /*!< список входов/выходов */ IOMap iomap; /*!< список входов/выходов */
typedef std::deque<IOPriority> PIOMap; typedef std::deque<IOPriority> PIOMap;
PIOMap pmap; /*!< список приоритетных входов/выходов */ PIOMap pmap; /*!< список приоритетных входов/выходов */
...@@ -365,7 +362,7 @@ class IOControl: ...@@ -365,7 +362,7 @@ class IOControl:
bool force; /*!< флаг, означающий, что надо сохранять в SM, даже если значение не менялось */ bool force; /*!< флаг, означающий, что надо сохранять в SM, даже если значение не менялось */
bool force_out; /*!< флаг, включающий принудительное чтения выходов */ bool force_out; /*!< флаг, включающий принудительное чтения выходов */
int smReadyTimeout; /*!< время ожидания готовности SM к работе, мсек */ int smReadyTimeout; /*!< время ожидания готовности SM к работе, мсек */
int defCardNum; /*!< номер карты по умолчанию */ int defCardNum; /*!< номер карты по умолчанию */
int maxCardNum; /*! максимально разрешённый номер для карты */ int maxCardNum; /*! максимально разрешённый номер для карты */
......
...@@ -37,7 +37,7 @@ int main(int argc, const char **argv) ...@@ -37,7 +37,7 @@ int main(int argc, const char **argv)
act.addObject(static_cast<class UniSetObject*>(shm)); act.addObject(static_cast<class UniSetObject*>(shm));
int num = conf->getArgPInt("--numproc",20); int num = conf->getArgPInt("--numproc",1);
for( int i=1; i<=num; i++ ) for( int i=1; i<=num; i++ )
{ {
......
...@@ -47,7 +47,7 @@ class IOController: ...@@ -47,7 +47,7 @@ class IOController:
virtual UniSetTypes::ObjectType getType(){ return UniSetTypes::getObjectType("IOController"); } virtual UniSetTypes::ObjectType getType(){ return UniSetTypes::getObjectType("IOController"); }
virtual CORBA::Long getValue( const IOController_i::SensorInfo& si ); virtual CORBA::Long getValue( const IOController_i::SensorInfo& si );
// -------------------- !!!!!!!!! --------------------------------- // -------------------- !!!!!!!!! ---------------------------------
// Реализуются конкретным i/o контроллером // Реализуются конкретным i/o контроллером
...@@ -64,21 +64,21 @@ class IOController: ...@@ -64,21 +64,21 @@ class IOController:
UniSetTypes::ObjectId sup_id = UniSetTypes::DefaultObjectId ); UniSetTypes::ObjectId sup_id = UniSetTypes::DefaultObjectId );
virtual IOController_i::SensorInfoSeq* getSensorSeq(const UniSetTypes::IDSeq& lst); virtual IOController_i::SensorInfoSeq* getSensorSeq( const UniSetTypes::IDSeq& lst );
virtual UniSetTypes::IDSeq* setOutputSeq(const IOController_i::OutSeq& lst, UniSetTypes::ObjectId sup_id); virtual UniSetTypes::IDSeq* setOutputSeq( const IOController_i::OutSeq& lst, UniSetTypes::ObjectId sup_id );
// ---------------------------------------------------------------- // ----------------------------------------------------------------
virtual UniversalIO::IOType getIOType(const IOController_i::SensorInfo& si); virtual UniversalIO::IOType getIOType( const IOController_i::SensorInfo& si );
virtual IOController_i::SensorInfoSeq* getSensorsMap(); virtual IOController_i::SensorInfoSeq* getSensorsMap();
virtual IOController_i::SensorIOInfo getSensorIOInfo(const IOController_i::SensorInfo& si); virtual IOController_i::SensorIOInfo getSensorIOInfo( const IOController_i::SensorInfo& si );
virtual CORBA::Long getRawValue(const IOController_i::SensorInfo& si); virtual CORBA::Long getRawValue(const IOController_i::SensorInfo& si);
virtual void calibrate(const IOController_i::SensorInfo& si, virtual void calibrate(const IOController_i::SensorInfo& si,
const IOController_i::CalibrateInfo& ci, const IOController_i::CalibrateInfo& ci,
UniSetTypes::ObjectId adminId ); UniSetTypes::ObjectId adminId );
IOController_i::CalibrateInfo getCalibrateInfo(const IOController_i::SensorInfo& si); IOController_i::CalibrateInfo getCalibrateInfo( const IOController_i::SensorInfo& si );
inline IOController_i::SensorInfo SensorInfo(UniSetTypes::ObjectId id, inline IOController_i::SensorInfo SensorInfo(UniSetTypes::ObjectId id,
UniSetTypes::ObjectId node=UniSetTypes::conf->getLocalNode()) UniSetTypes::ObjectId node=UniSetTypes::conf->getLocalNode())
...@@ -89,10 +89,9 @@ class IOController: ...@@ -89,10 +89,9 @@ class IOController:
return si; return si;
}; };
UniSetTypes::Message::Priority getPriority(const IOController_i::SensorInfo& si, UniSetTypes::Message::Priority getPriority( const IOController_i::SensorInfo& si, UniversalIO::IOType type );
UniversalIO::IOType type);
virtual IOController_i::ShortIOInfo getChangedTime(const IOController_i::SensorInfo& si); virtual IOController_i::ShortIOInfo getChangedTime( const IOController_i::SensorInfo& si );
virtual IOController_i::ShortMapSeq* getSensors(); virtual IOController_i::ShortMapSeq* getSensors();
...@@ -123,7 +122,6 @@ class IOController: ...@@ -123,7 +122,6 @@ class IOController:
ChangeUndefinedStateSignal signal_change_undefined_state(); ChangeUndefinedStateSignal signal_change_undefined_state();
// ----------------------------------------------------------------------------------------- // -----------------------------------------------------------------------------------------
struct USensorInfo: struct USensorInfo:
public IOController_i::SensorIOInfo public IOController_i::SensorIOInfo
{ {
......
...@@ -30,7 +30,6 @@ ...@@ -30,7 +30,6 @@
#include <iomanip> #include <iomanip>
#include "ORepHelpers.h" #include "ORepHelpers.h"
#include "UInterface.h" #include "UInterface.h"
//#include "Debug.h"
#include "Configuration.h" #include "Configuration.h"
#include "PassiveTimer.h" #include "PassiveTimer.h"
...@@ -163,29 +162,29 @@ long UInterface::getValue( const ObjectId name, const ObjectId node ) const ...@@ -163,29 +162,29 @@ long UInterface::getValue( const ObjectId name, const ObjectId node ) const
} }
catch(ORepFailed) catch(ORepFailed)
{ {
rcache.erase(name, node); rcache.erase(name, node);
// не смогли получить ссылку на объект // не смогли получить ссылку на объект
throw UniSetTypes::IOBadParam(set_err("UI(getValue): ORepFailed",name,node)); throw UniSetTypes::IOBadParam(set_err("UI(getValue): ORepFailed",name,node));
} }
catch(CORBA::NO_IMPLEMENT) catch(CORBA::NO_IMPLEMENT)
{ {
rcache.erase(name, node); rcache.erase(name, node);
throw UniSetTypes::IOBadParam(set_err("UI(getValue): method no implement",name,node)); throw UniSetTypes::IOBadParam(set_err("UI(getValue): method no implement",name,node));
} }
catch(CORBA::OBJECT_NOT_EXIST) catch(CORBA::OBJECT_NOT_EXIST)
{ {
rcache.erase(name, node); rcache.erase(name, node);
throw UniSetTypes::IOBadParam(set_err("UI(getValue): object not exist",name,node)); throw UniSetTypes::IOBadParam(set_err("UI(getValue): object not exist",name,node));
} }
catch(CORBA::COMM_FAILURE& ex) catch(CORBA::COMM_FAILURE& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// uwarn << "UI(getValue): CORBA::SystemException" << endl; // uwarn << "UI(getValue): CORBA::SystemException" << endl;
} }
rcache.erase(name, node); rcache.erase(name, node);
throw UniSetTypes::TimeOut(set_err("UI(getValue): TimeOut",name,node)); throw UniSetTypes::TimeOut(set_err("UI(getValue): TimeOut",name,node));
} }
...@@ -216,7 +215,7 @@ void UInterface::setUndefinedState( IOController_i::SensorInfo& si, bool undefin ...@@ -216,7 +215,7 @@ void UInterface::setUndefinedState( IOController_i::SensorInfo& si, bool undefin
oref = rcache.resolve(si.id, si.node); oref = rcache.resolve(si.id, si.node);
} }
catch( NameNotFound ){} catch( NameNotFound ){}
for (unsigned int i=0; i<uconf->getRepeatCount(); i++) for (unsigned int i=0; i<uconf->getRepeatCount(); i++)
{ {
try try
...@@ -251,7 +250,7 @@ void UInterface::setUndefinedState( IOController_i::SensorInfo& si, bool undefin ...@@ -251,7 +250,7 @@ void UInterface::setUndefinedState( IOController_i::SensorInfo& si, bool undefin
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
// не смогли получить ссылку на объект // не смогли получить ссылку на объект
uwarn << set_err("UI(setUndefinedState): resolve failed",si.id,si.node) << endl; uwarn << set_err("UI(setUndefinedState): resolve failed",si.id,si.node) << endl;
} }
catch(CORBA::NO_IMPLEMENT) catch(CORBA::NO_IMPLEMENT)
{ {
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
...@@ -261,7 +260,7 @@ void UInterface::setUndefinedState( IOController_i::SensorInfo& si, bool undefin ...@@ -261,7 +260,7 @@ void UInterface::setUndefinedState( IOController_i::SensorInfo& si, bool undefin
{ {
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
uwarn << set_err("UI(setUndefinedState): object not exist",si.id,si.node) << endl; uwarn << set_err("UI(setUndefinedState): object not exist",si.id,si.node) << endl;
} }
catch(CORBA::COMM_FAILURE){} catch(CORBA::COMM_FAILURE){}
catch(CORBA::SystemException& ex){} catch(CORBA::SystemException& ex){}
catch(...){} catch(...){}
...@@ -290,14 +289,14 @@ void UInterface::setValue( const ObjectId name, long value, const ObjectId node ...@@ -290,14 +289,14 @@ void UInterface::setValue( const ObjectId name, long value, const ObjectId node
oref = rcache.resolve(name, node); oref = rcache.resolve(name, node);
} }
catch( NameNotFound ){} catch( NameNotFound ){}
for (unsigned int i=0; i<uconf->getRepeatCount(); i++) for (unsigned int i=0; i<uconf->getRepeatCount(); i++)
{ {
try try
{ {
if( CORBA::is_nil(oref) ) if( CORBA::is_nil(oref) )
oref = resolve( name, node ); oref = resolve( name, node );
IOController_i_var iom = IOController_i::_narrow(oref); IOController_i_var iom = IOController_i::_narrow(oref);
IOController_i::SensorInfo_var si; IOController_i::SensorInfo_var si;
si->id = name; si->id = name;
...@@ -328,26 +327,26 @@ void UInterface::setValue( const ObjectId name, long value, const ObjectId node ...@@ -328,26 +327,26 @@ void UInterface::setValue( const ObjectId name, long value, const ObjectId node
rcache.erase(name, node); rcache.erase(name, node);
// не смогли получить ссылку на объект // не смогли получить ссылку на объект
throw UniSetTypes::IOBadParam(set_err("UI(setValue): resolve failed ",name,node)); throw UniSetTypes::IOBadParam(set_err("UI(setValue): resolve failed ",name,node));
} }
catch(CORBA::NO_IMPLEMENT) catch(CORBA::NO_IMPLEMENT)
{ {
rcache.erase(name, node); rcache.erase(name, node);
throw UniSetTypes::IOBadParam(set_err("UI(setValue): method no implement",name,node)); throw UniSetTypes::IOBadParam(set_err("UI(setValue): method no implement",name,node));
} }
catch(CORBA::OBJECT_NOT_EXIST) catch(CORBA::OBJECT_NOT_EXIST)
{ {
rcache.erase(name, node); rcache.erase(name, node);
throw UniSetTypes::IOBadParam(set_err("UI(setValue): object not exist",name,node)); throw UniSetTypes::IOBadParam(set_err("UI(setValue): object not exist",name,node));
} }
catch(CORBA::COMM_FAILURE& ex) catch(CORBA::COMM_FAILURE& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// uwarn << "UI(setValue): CORBA::SystemException" << endl; // uwarn << "UI(setValue): CORBA::SystemException" << endl;
} }
rcache.erase(name, node); rcache.erase(name, node);
throw UniSetTypes::TimeOut(set_err("UI(setValue): Timeout",name,node)); throw UniSetTypes::TimeOut(set_err("UI(setValue): Timeout",name,node));
} }
...@@ -371,7 +370,7 @@ void UInterface::setValue( IOController_i::SensorInfo& si, long value, const Uni ...@@ -371,7 +370,7 @@ void UInterface::setValue( IOController_i::SensorInfo& si, long value, const Uni
myid = old; myid = old;
throw; throw;
} }
myid = old; myid = old;
} }
...@@ -396,14 +395,14 @@ void UInterface::fastSetValue( IOController_i::SensorInfo& si, long value, UniSe ...@@ -396,14 +395,14 @@ void UInterface::fastSetValue( IOController_i::SensorInfo& si, long value, UniSe
oref = rcache.resolve(si.id, si.node); oref = rcache.resolve(si.id, si.node);
} }
catch( NameNotFound ){} catch( NameNotFound ){}
for (unsigned int i=0; i<uconf->getRepeatCount(); i++) for (unsigned int i=0; i<uconf->getRepeatCount(); i++)
{ {
try try
{ {
if( CORBA::is_nil(oref) ) if( CORBA::is_nil(oref) )
oref = resolve( si.id,si.node ); oref = resolve( si.id,si.node );
IOController_i_var iom = IOController_i::_narrow(oref); IOController_i_var iom = IOController_i::_narrow(oref);
iom->fastSetValue(si, value,sup_id); iom->fastSetValue(si, value,sup_id);
return; return;
...@@ -411,8 +410,8 @@ void UInterface::fastSetValue( IOController_i::SensorInfo& si, long value, UniSe ...@@ -411,8 +410,8 @@ void UInterface::fastSetValue( IOController_i::SensorInfo& si, long value, UniSe
catch(CORBA::TRANSIENT){} catch(CORBA::TRANSIENT){}
catch(CORBA::OBJECT_NOT_EXIST){} catch(CORBA::OBJECT_NOT_EXIST){}
catch(CORBA::SystemException& ex){} catch(CORBA::SystemException& ex){}
msleep(uconf->getRepeatTimeout()); msleep(uconf->getRepeatTimeout());
oref = CORBA::Object::_nil(); oref = CORBA::Object::_nil();
} }
} }
catch(UniSetTypes::TimeOut){} catch(UniSetTypes::TimeOut){}
...@@ -431,26 +430,26 @@ void UInterface::fastSetValue( IOController_i::SensorInfo& si, long value, UniSe ...@@ -431,26 +430,26 @@ void UInterface::fastSetValue( IOController_i::SensorInfo& si, long value, UniSe
rcache.erase(si.id,si.node); rcache.erase(si.id,si.node);
// не смогли получить ссылку на объект // не смогли получить ссылку на объект
uwarn << set_err("UI(fastSetValue): resolve failed ",si.id,si.node) << endl; uwarn << set_err("UI(fastSetValue): resolve failed ",si.id,si.node) << endl;
} }
catch(CORBA::NO_IMPLEMENT) catch(CORBA::NO_IMPLEMENT)
{ {
rcache.erase(si.id,si.node); rcache.erase(si.id,si.node);
uwarn << set_err("UI(fastSetValue): method no implement",si.id,si.node) << endl; uwarn << set_err("UI(fastSetValue): method no implement",si.id,si.node) << endl;
} }
catch(CORBA::OBJECT_NOT_EXIST) catch(CORBA::OBJECT_NOT_EXIST)
{ {
rcache.erase(si.id,si.node); rcache.erase(si.id,si.node);
uwarn << set_err("UI(fastSetValue): object not exist",si.id,si.node) << endl; uwarn << set_err("UI(fastSetValue): object not exist",si.id,si.node) << endl;
} }
catch(CORBA::COMM_FAILURE& ex) catch(CORBA::COMM_FAILURE& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// uwarn << "UI(setValue): CORBA::SystemException" << endl; // uwarn << "UI(setValue): CORBA::SystemException" << endl;
} }
catch(...){} catch(...){}
rcache.erase(si.id,si.node); rcache.erase(si.id,si.node);
...@@ -703,7 +702,7 @@ ObjectType UInterface::getType(const ObjectId name, const ObjectId node) const ...@@ -703,7 +702,7 @@ ObjectType UInterface::getType(const ObjectId name, const ObjectId node) const
} }
catch(CORBA::OBJECT_NOT_EXIST) catch(CORBA::OBJECT_NOT_EXIST)
{ {
rcache.erase(name, node); rcache.erase(name, node);
throw UniSetTypes::IOBadParam(set_err("UI(getType): object not exist",name,node)); throw UniSetTypes::IOBadParam(set_err("UI(getType): object not exist",name,node));
} }
catch(CORBA::COMM_FAILURE& ex) catch(CORBA::COMM_FAILURE& ex)
...@@ -1187,13 +1186,13 @@ string UInterface::set_err( const std::string& pre, const ObjectId id, const Obj ...@@ -1187,13 +1186,13 @@ string UInterface::set_err( const std::string& pre, const ObjectId id, const Obj
return string(pre+" DefaultObjectId"); return string(pre+" DefaultObjectId");
string nm(oind->getNameById(id,node)); string nm(oind->getNameById(id,node));
if( nm.empty() ) if( nm.empty() )
nm = "UnknownName"; nm = "UnknownName";
ostringstream s; ostringstream s;
s << pre << " (" << id << ")" << nm; s << pre << " (" << id << ")" << nm;
return s.str(); return s.str();
} }
// -------------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------------
void UInterface::askThreshold( const ObjectId sid, const ThresholdId tid, void UInterface::askThreshold( const ObjectId sid, const ThresholdId tid,
...@@ -1226,14 +1225,14 @@ void UInterface::askRemoteThreshold( const ObjectId sid, const ObjectId node, ...@@ -1226,14 +1225,14 @@ void UInterface::askRemoteThreshold( const ObjectId sid, const ObjectId node,
oref = rcache.resolve(sid, node); oref = rcache.resolve(sid, node);
} }
catch( NameNotFound ){} catch( NameNotFound ){}
for (unsigned int i=0; i<uconf->getRepeatCount(); i++) for (unsigned int i=0; i<uconf->getRepeatCount(); i++)
{ {
try try
{ {
if( CORBA::is_nil(oref) ) if( CORBA::is_nil(oref) )
oref = resolve( sid, node ); oref = resolve( sid, node );
IONotifyController_i_var inc = IONotifyController_i::_narrow(oref); IONotifyController_i_var inc = IONotifyController_i::_narrow(oref);
IOController_i::SensorInfo_var si; IOController_i::SensorInfo_var si;
si->id = sid; si->id = sid;
...@@ -1266,29 +1265,29 @@ void UInterface::askRemoteThreshold( const ObjectId sid, const ObjectId node, ...@@ -1266,29 +1265,29 @@ void UInterface::askRemoteThreshold( const ObjectId sid, const ObjectId node,
} }
catch(ORepFailed) catch(ORepFailed)
{ {
rcache.erase(sid, node); rcache.erase(sid, node);
throw UniSetTypes::IOBadParam(set_err("UI(askThreshold): resolve failed ",sid,node)); throw UniSetTypes::IOBadParam(set_err("UI(askThreshold): resolve failed ",sid,node));
} }
catch(CORBA::NO_IMPLEMENT) catch(CORBA::NO_IMPLEMENT)
{ {
rcache.erase(sid, node); rcache.erase(sid, node);
throw UniSetTypes::IOBadParam(set_err("UI(askThreshold): method no implement",sid,node)); throw UniSetTypes::IOBadParam(set_err("UI(askThreshold): method no implement",sid,node));
} }
catch(CORBA::OBJECT_NOT_EXIST) catch(CORBA::OBJECT_NOT_EXIST)
{ {
rcache.erase(sid, node); rcache.erase(sid, node);
throw UniSetTypes::IOBadParam(set_err("UI(askThreshold): object not exist",sid,node)); throw UniSetTypes::IOBadParam(set_err("UI(askThreshold): object not exist",sid,node));
} }
catch(CORBA::COMM_FAILURE& ex) catch(CORBA::COMM_FAILURE& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// uwarn << "UI(askThreshold): ошибка системы коммуникации" << endl; // uwarn << "UI(askThreshold): ошибка системы коммуникации" << endl;
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// uwarn << "UI(askThreshold): CORBA::SystemException" << endl; // uwarn << "UI(askThreshold): CORBA::SystemException" << endl;
} }
rcache.erase(sid, node); rcache.erase(sid, node);
throw UniSetTypes::TimeOut(set_err("UI(askThreshold): Timeout",sid,node)); throw UniSetTypes::TimeOut(set_err("UI(askThreshold): Timeout",sid,node));
...@@ -1348,30 +1347,30 @@ IONotifyController_i::ThresholdInfo ...@@ -1348,30 +1347,30 @@ IONotifyController_i::ThresholdInfo
} }
catch(ORepFailed) catch(ORepFailed)
{ {
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
// не смогли получить ссылку на объект // не смогли получить ссылку на объект
throw UniSetTypes::IOBadParam(set_err("UI(getThresholdInfo): resolve failed ",si.id,si.node)); throw UniSetTypes::IOBadParam(set_err("UI(getThresholdInfo): resolve failed ",si.id,si.node));
} }
catch(CORBA::NO_IMPLEMENT) catch(CORBA::NO_IMPLEMENT)
{ {
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
throw UniSetTypes::IOBadParam(set_err("UI(getThresholdInfo): method no implement",si.id,si.node)); throw UniSetTypes::IOBadParam(set_err("UI(getThresholdInfo): method no implement",si.id,si.node));
} }
catch(CORBA::OBJECT_NOT_EXIST) catch(CORBA::OBJECT_NOT_EXIST)
{ {
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
throw UniSetTypes::IOBadParam(set_err("UI(getThresholdInfo): object not exist",si.id,si.node)); throw UniSetTypes::IOBadParam(set_err("UI(getThresholdInfo): object not exist",si.id,si.node));
} }
catch(CORBA::COMM_FAILURE& ex) catch(CORBA::COMM_FAILURE& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// uwarn << "UI(getValue): CORBA::SystemException" << endl; // uwarn << "UI(getValue): CORBA::SystemException" << endl;
} }
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
throw UniSetTypes::TimeOut(set_err("UI(getThresholdInfo): Timeout",si.id,si.node)); throw UniSetTypes::TimeOut(set_err("UI(getThresholdInfo): Timeout",si.id,si.node));
} }
// -------------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------------
...@@ -1419,30 +1418,30 @@ long UInterface::getRawValue( const IOController_i::SensorInfo& si ) ...@@ -1419,30 +1418,30 @@ long UInterface::getRawValue( const IOController_i::SensorInfo& si )
} }
catch(ORepFailed) catch(ORepFailed)
{ {
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
// не смогли получить ссылку на объект // не смогли получить ссылку на объект
throw UniSetTypes::IOBadParam(set_err("UI(getRawValue): resolve failed ",si.id,si.node)); throw UniSetTypes::IOBadParam(set_err("UI(getRawValue): resolve failed ",si.id,si.node));
} }
catch(CORBA::NO_IMPLEMENT) catch(CORBA::NO_IMPLEMENT)
{ {
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
throw UniSetTypes::IOBadParam(set_err("UI(getRawValue): method no implement",si.id,si.node)); throw UniSetTypes::IOBadParam(set_err("UI(getRawValue): method no implement",si.id,si.node));
} }
catch(CORBA::OBJECT_NOT_EXIST) catch(CORBA::OBJECT_NOT_EXIST)
{ {
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
throw UniSetTypes::IOBadParam(set_err("UI(getRawValue): object not exist",si.id,si.node)); throw UniSetTypes::IOBadParam(set_err("UI(getRawValue): object not exist",si.id,si.node));
} }
catch(CORBA::COMM_FAILURE& ex) catch(CORBA::COMM_FAILURE& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// uwarn << "UI(getValue): CORBA::SystemException" << endl; // uwarn << "UI(getValue): CORBA::SystemException" << endl;
} }
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
throw UniSetTypes::TimeOut(set_err("UI(getRawValue): Timeout",si.id,si.node)); throw UniSetTypes::TimeOut(set_err("UI(getRawValue): Timeout",si.id,si.node));
} }
// -------------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------------
...@@ -1452,7 +1451,7 @@ void UInterface::calibrate(const IOController_i::SensorInfo& si, ...@@ -1452,7 +1451,7 @@ void UInterface::calibrate(const IOController_i::SensorInfo& si,
{ {
if( admId==UniSetTypes::DefaultObjectId ) if( admId==UniSetTypes::DefaultObjectId )
admId = myid; admId = myid;
// if( admId==UniSetTypes::DefaultObjectId ) // if( admId==UniSetTypes::DefaultObjectId )
// throw UniSetTypes::IOBadParam("UI(askTreshold): неизвестен ID администратора"); // throw UniSetTypes::IOBadParam("UI(askTreshold): неизвестен ID администратора");
...@@ -1499,32 +1498,32 @@ void UInterface::calibrate(const IOController_i::SensorInfo& si, ...@@ -1499,32 +1498,32 @@ void UInterface::calibrate(const IOController_i::SensorInfo& si,
} }
catch(ORepFailed) catch(ORepFailed)
{ {
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
// не смогли получить ссылку на объект // не смогли получить ссылку на объект
throw UniSetTypes::IOBadParam(set_err("UI(calibrate): resolve failed ",si.id,si.node)); throw UniSetTypes::IOBadParam(set_err("UI(calibrate): resolve failed ",si.id,si.node));
} }
catch(CORBA::NO_IMPLEMENT) catch(CORBA::NO_IMPLEMENT)
{ {
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
throw UniSetTypes::IOBadParam(set_err("UI(calibrate): method no implement",si.id,si.node)); throw UniSetTypes::IOBadParam(set_err("UI(calibrate): method no implement",si.id,si.node));
} }
catch(CORBA::OBJECT_NOT_EXIST) catch(CORBA::OBJECT_NOT_EXIST)
{ {
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
throw UniSetTypes::IOBadParam(set_err("UI(calibrate): object not exist",si.id,si.node)); throw UniSetTypes::IOBadParam(set_err("UI(calibrate): object not exist",si.id,si.node));
} }
catch(CORBA::COMM_FAILURE& ex) catch(CORBA::COMM_FAILURE& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// uwarn << "UI(getValue): CORBA::SystemException" << endl; // uwarn << "UI(getValue): CORBA::SystemException" << endl;
} }
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
throw UniSetTypes::TimeOut(set_err("UI(calibrate): Timeout",si.id,si.node)); throw UniSetTypes::TimeOut(set_err("UI(calibrate): Timeout",si.id,si.node));
} }
// -------------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------------
IOController_i::CalibrateInfo UInterface::getCalibrateInfo( const IOController_i::SensorInfo& si ) IOController_i::CalibrateInfo UInterface::getCalibrateInfo( const IOController_i::SensorInfo& si )
{ {
...@@ -1570,30 +1569,30 @@ IOController_i::CalibrateInfo UInterface::getCalibrateInfo( const IOController_i ...@@ -1570,30 +1569,30 @@ IOController_i::CalibrateInfo UInterface::getCalibrateInfo( const IOController_i
} }
catch(ORepFailed) catch(ORepFailed)
{ {
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
// не смогли получить ссылку на объект // не смогли получить ссылку на объект
throw UniSetTypes::IOBadParam(set_err("UI(getCalibrateInfo): resolve failed ",si.id,si.node)); throw UniSetTypes::IOBadParam(set_err("UI(getCalibrateInfo): resolve failed ",si.id,si.node));
} }
catch(CORBA::NO_IMPLEMENT) catch(CORBA::NO_IMPLEMENT)
{ {
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
throw UniSetTypes::IOBadParam(set_err("UI(getCalibrateInfo): method no implement",si.id,si.node)); throw UniSetTypes::IOBadParam(set_err("UI(getCalibrateInfo): method no implement",si.id,si.node));
} }
catch(CORBA::OBJECT_NOT_EXIST) catch(CORBA::OBJECT_NOT_EXIST)
{ {
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
throw UniSetTypes::IOBadParam(set_err("UI(getCalibrateInfo): object not exist",si.id,si.node)); throw UniSetTypes::IOBadParam(set_err("UI(getCalibrateInfo): object not exist",si.id,si.node));
} }
catch(CORBA::COMM_FAILURE& ex) catch(CORBA::COMM_FAILURE& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// uwarn << "UI(getValue): CORBA::SystemException" << endl; // uwarn << "UI(getValue): CORBA::SystemException" << endl;
} }
rcache.erase(si.id, si.node); rcache.erase(si.id, si.node);
throw UniSetTypes::TimeOut(set_err("UI(getCalibrateInfo): Timeout",si.id,si.node)); throw UniSetTypes::TimeOut(set_err("UI(getCalibrateInfo): Timeout",si.id,si.node));
} }
// -------------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------------
...@@ -1624,7 +1623,7 @@ IOController_i::SensorInfoSeq_var UInterface::getSensorSeq( UniSetTypes::IDList& ...@@ -1624,7 +1623,7 @@ IOController_i::SensorInfoSeq_var UInterface::getSensorSeq( UniSetTypes::IDList&
oref = resolve(sid,conf->getLocalNode()); oref = resolve(sid,conf->getLocalNode());
IOController_i_var iom = IOController_i::_narrow(oref); IOController_i_var iom = IOController_i::_narrow(oref);
UniSetTypes::IDSeq_var seq = lst.getIDSeq(); UniSetTypes::IDSeq_var seq = lst.getIDSeq();
return iom->getSensorSeq(seq); return iom->getSensorSeq(seq);
} }
...@@ -1651,26 +1650,26 @@ IOController_i::SensorInfoSeq_var UInterface::getSensorSeq( UniSetTypes::IDList& ...@@ -1651,26 +1650,26 @@ IOController_i::SensorInfoSeq_var UInterface::getSensorSeq( UniSetTypes::IDList&
rcache.erase(sid,conf->getLocalNode()); rcache.erase(sid,conf->getLocalNode());
// не смогли получить ссылку на объект // не смогли получить ссылку на объект
throw UniSetTypes::IOBadParam(set_err("UI(getSensorSeq): resolve failed ",sid,conf->getLocalNode())); throw UniSetTypes::IOBadParam(set_err("UI(getSensorSeq): resolve failed ",sid,conf->getLocalNode()));
} }
catch(CORBA::NO_IMPLEMENT) catch(CORBA::NO_IMPLEMENT)
{ {
rcache.erase(sid,conf->getLocalNode()); rcache.erase(sid,conf->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,conf->getLocalNode()));
} }
catch(CORBA::OBJECT_NOT_EXIST) catch(CORBA::OBJECT_NOT_EXIST)
{ {
rcache.erase(sid,conf->getLocalNode()); rcache.erase(sid,conf->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,conf->getLocalNode()));
} }
catch(CORBA::COMM_FAILURE& ex) catch(CORBA::COMM_FAILURE& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// uwarn << "UI(getValue): CORBA::SystemException" << endl; // uwarn << "UI(getValue): CORBA::SystemException" << endl;
} }
rcache.erase(sid,conf->getLocalNode()); rcache.erase(sid,conf->getLocalNode());
throw UniSetTypes::TimeOut(set_err("UI(getSensorSeq): Timeout",sid,conf->getLocalNode())); throw UniSetTypes::TimeOut(set_err("UI(getSensorSeq): Timeout",sid,conf->getLocalNode()));
...@@ -1727,26 +1726,26 @@ IDSeq_var UInterface::setOutputSeq( const IOController_i::OutSeq& lst, UniSetTyp ...@@ -1727,26 +1726,26 @@ IDSeq_var UInterface::setOutputSeq( const IOController_i::OutSeq& lst, UniSetTyp
rcache.erase(lst[0].si.id,lst[0].si.node); rcache.erase(lst[0].si.id,lst[0].si.node);
// не смогли получить ссылку на объект // не смогли получить ссылку на объект
throw UniSetTypes::IOBadParam(set_err("UI(setOutputSeq): resolve failed ",lst[0].si.id,lst[0].si.node)); throw UniSetTypes::IOBadParam(set_err("UI(setOutputSeq): resolve failed ",lst[0].si.id,lst[0].si.node));
} }
catch(CORBA::NO_IMPLEMENT) catch(CORBA::NO_IMPLEMENT)
{ {
rcache.erase(lst[0].si.id,lst[0].si.node); rcache.erase(lst[0].si.id,lst[0].si.node);
throw UniSetTypes::IOBadParam(set_err("UI(setOutputSeq): method no implement",lst[0].si.id,lst[0].si.node)); throw UniSetTypes::IOBadParam(set_err("UI(setOutputSeq): method no implement",lst[0].si.id,lst[0].si.node));
} }
catch(CORBA::OBJECT_NOT_EXIST) catch(CORBA::OBJECT_NOT_EXIST)
{ {
rcache.erase(lst[0].si.id,lst[0].si.node); rcache.erase(lst[0].si.id,lst[0].si.node);
throw UniSetTypes::IOBadParam(set_err("UI(setOutputSeq): object not exist",lst[0].si.id,lst[0].si.node)); throw UniSetTypes::IOBadParam(set_err("UI(setOutputSeq): object not exist",lst[0].si.id,lst[0].si.node));
} }
catch(CORBA::COMM_FAILURE& ex) catch(CORBA::COMM_FAILURE& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// uwarn << "UI(getValue): CORBA::SystemException" << endl; // uwarn << "UI(getValue): CORBA::SystemException" << endl;
} }
rcache.erase(lst[0].si.id,lst[0].si.node); rcache.erase(lst[0].si.id,lst[0].si.node);
throw UniSetTypes::TimeOut(set_err("UI(setOutputSeq): Timeout",lst[0].si.id,lst[0].si.node)); throw UniSetTypes::TimeOut(set_err("UI(setOutputSeq): Timeout",lst[0].si.id,lst[0].si.node));
} }
...@@ -1759,7 +1758,7 @@ UniSetTypes::IDSeq_var UInterface::askSensorsSeq( UniSetTypes::IDList& lst, ...@@ -1759,7 +1758,7 @@ UniSetTypes::IDSeq_var UInterface::askSensorsSeq( UniSetTypes::IDList& lst,
if( backid==UniSetTypes::DefaultObjectId ) if( backid==UniSetTypes::DefaultObjectId )
backid = myid; backid = myid;
if( backid==UniSetTypes::DefaultObjectId ) if( backid==UniSetTypes::DefaultObjectId )
throw UniSetTypes::IOBadParam("UI(askSensorSeq): unknown back ID"); throw UniSetTypes::IOBadParam("UI(askSensorSeq): unknown back ID");
...@@ -1816,26 +1815,26 @@ UniSetTypes::IDSeq_var UInterface::askSensorsSeq( UniSetTypes::IDList& lst, ...@@ -1816,26 +1815,26 @@ UniSetTypes::IDSeq_var UInterface::askSensorsSeq( UniSetTypes::IDList& lst,
rcache.erase(sid,conf->getLocalNode()); rcache.erase(sid,conf->getLocalNode());
// не смогли получить ссылку на объект // не смогли получить ссылку на объект
throw UniSetTypes::IOBadParam(set_err("UI(askSensorSeq): resolve failed ",sid,conf->getLocalNode())); throw UniSetTypes::IOBadParam(set_err("UI(askSensorSeq): resolve failed ",sid,conf->getLocalNode()));
} }
catch(CORBA::NO_IMPLEMENT) catch(CORBA::NO_IMPLEMENT)
{ {
rcache.erase(sid,conf->getLocalNode()); rcache.erase(sid,conf->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,conf->getLocalNode()));
} }
catch(CORBA::OBJECT_NOT_EXIST) catch(CORBA::OBJECT_NOT_EXIST)
{ {
rcache.erase(sid,conf->getLocalNode()); rcache.erase(sid,conf->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,conf->getLocalNode()));
} }
catch(CORBA::COMM_FAILURE& ex) catch(CORBA::COMM_FAILURE& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// uwarn << "UI(getValue): CORBA::SystemException" << endl; // uwarn << "UI(getValue): CORBA::SystemException" << endl;
} }
rcache.erase(sid,conf->getLocalNode()); rcache.erase(sid,conf->getLocalNode());
throw UniSetTypes::TimeOut(set_err("UI(askSensorSeq): Timeout",sid,conf->getLocalNode())); throw UniSetTypes::TimeOut(set_err("UI(askSensorSeq): Timeout",sid,conf->getLocalNode()));
} }
...@@ -1884,26 +1883,26 @@ IOController_i::ShortMapSeq* UInterface::getSensors( const UniSetTypes::ObjectId ...@@ -1884,26 +1883,26 @@ IOController_i::ShortMapSeq* UInterface::getSensors( const UniSetTypes::ObjectId
rcache.erase(id,node); rcache.erase(id,node);
// не смогли получить ссылку на объект // не смогли получить ссылку на объект
throw UniSetTypes::IOBadParam(set_err("UI(getSensors): resolve failed ",id,node)); throw UniSetTypes::IOBadParam(set_err("UI(getSensors): resolve failed ",id,node));
} }
catch(CORBA::NO_IMPLEMENT) catch(CORBA::NO_IMPLEMENT)
{ {
rcache.erase(id,node); rcache.erase(id,node);
throw UniSetTypes::IOBadParam(set_err("UI(getSensors): method no implement",id,node)); throw UniSetTypes::IOBadParam(set_err("UI(getSensors): method no implement",id,node));
} }
catch(CORBA::OBJECT_NOT_EXIST) catch(CORBA::OBJECT_NOT_EXIST)
{ {
rcache.erase(id,node); rcache.erase(id,node);
throw UniSetTypes::IOBadParam(set_err("UI(getSensors): object not exist",id,node)); throw UniSetTypes::IOBadParam(set_err("UI(getSensors): object not exist",id,node));
} }
catch(CORBA::COMM_FAILURE& ex) catch(CORBA::COMM_FAILURE& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
} }
catch(CORBA::SystemException& ex) catch(CORBA::SystemException& ex)
{ {
// ошибка системы коммуникации // ошибка системы коммуникации
// uwarn << "UI(getValue): CORBA::SystemException" << endl; // uwarn << "UI(getValue): CORBA::SystemException" << endl;
} }
rcache.erase(id,node); rcache.erase(id,node);
throw UniSetTypes::TimeOut(set_err("UI(getSensors): Timeout",id,node)); throw UniSetTypes::TimeOut(set_err("UI(getSensors): Timeout",id,node));
} }
...@@ -1921,10 +1920,10 @@ bool UInterface::waitReady( const ObjectId id, int msec, int pmsec, const Object ...@@ -1921,10 +1920,10 @@ bool UInterface::waitReady( const ObjectId id, int msec, int pmsec, const Object
break; break;
} }
catch(...){} catch(...){}
msleep(pmsec); msleep(pmsec);
} }
return ready; return ready;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
...@@ -1953,11 +1952,11 @@ UniversalIO::IOType UInterface::getConfIOType( const UniSetTypes::ObjectId id ) ...@@ -1953,11 +1952,11 @@ UniversalIO::IOType UInterface::getConfIOType( const UniSetTypes::ObjectId id )
{ {
if( !conf ) if( !conf )
return UniversalIO::UnknownIOType; return UniversalIO::UnknownIOType;
xmlNode* x = conf->getXMLObjectNode(id); xmlNode* x = conf->getXMLObjectNode(id);
if( !x ) if( !x )
return UniversalIO::UnknownIOType; return UniversalIO::UnknownIOType;
UniXML_iterator it(x); UniXML_iterator it(x);
return UniSetTypes::getIOType( it.getProp("iotype") ); return UniSetTypes::getIOType( it.getProp("iotype") );
} }
......
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