Commit e893e817 authored by Pavel Vainerman's avatar Pavel Vainerman

Мелкие правки коментариев и небольшой рефакторинг кода.

parent d86410c4
......@@ -31,10 +31,15 @@ class EvWatcher
// -------------------------------------------------------------------------
/*!
* \brief The CommonEventLoop class
* Реализация общего eventloop для всех использующих libev.
* Реализация механизма "один eventloop, много подписчиков" (libev).
* Создаётся один CommonEventLoop который обслуживает множество EvWatcher-ов.
* Каждый класс который хочет подключиться к основному loop, должен наследоваться от класса Watcher
* и при необходимости переопределить функции evprepare и evfinish
* и при необходимости переопределить функции evprepare и evfinish.
* EvWatcher добавляется(запускается) evrun(..) и останавливается функцией evstop(..).
* При этом фактически eventloop запускается при первом вызове evrun(), а останавливается при
* отключении последнего EvWatcher.
*
* Некоторые детали:
* Т.к. evprepare необходимо вызывать из потока в котором крутится event loop (иначе libev не работает),
* а функция run() в общем случае вызывается "откуда угодно" и может быть вызвана в том числе уже после
* запуска event loop, то задействован механизм асинхронного уведомления (см. evprep, onPrepapre) и ожидания
......
......@@ -15,7 +15,7 @@
*/
// --------------------------------------------------------------------------
// idea: lav@etersoft.ru
// realisation: pv@etersoft.ru, lav@etersoft.ru
// implementation: pv@etersoft.ru, lav@etersoft.ru
// --------------------------------------------------------------------------
#ifndef HourGlass_H_
#define HourGlass_H_
......@@ -77,7 +77,7 @@ class HourGlass
}
// "ёмкость" песочных часов..
inline int duration()
inline timeout_t duration() const
{
return _size;
}
......@@ -151,13 +151,13 @@ class HourGlass
}
// текущее "насыпавшееся" количество "песка" (прошедшее время)
inline timeout_t amount()
inline timeout_t amount() const
{
return ( _size - remain() );
}
// остаток песка (времени) (оставшееся время)
inline timeout_t remain()
inline timeout_t remain() const
{
timeout_t c = t.getCurrent();
......
......@@ -45,7 +45,7 @@ class MQMutex
void push( const VoidMessagePtr& msg );
/*! Извлечь сообщение из очереди
* \return не валидный shatred_ptr если сообщений нет
* \return не валидный shatred_ptr(nullptr) если сообщений нет
*/
VoidMessagePtr top();
......
......@@ -33,16 +33,13 @@ class SViewer
{
public:
explicit SViewer(const std::string& ControllersSection, bool isShort = true);
explicit SViewer(const std::string& ControllersSection, bool isShortName = true);
virtual ~SViewer();
void view();
void monitor( timeout_t timeoutMS = 500 );
protected:
friend class SViewer_glade;
void on_SViewer_destroy();
void readSection(const std::string& sec, const std::string& secRoot);
void getInfo(UniSetTypes::ObjectId id);
......@@ -57,8 +54,7 @@ class SViewer
private:
ObjectRepository rep;
UInterface::CacheOfResolve cache;
bool isShort;
bool isShortName = { true };
};
// --------------------------------------------------------------------------
......
......@@ -256,8 +256,7 @@ namespace ORepHelpers
}
string err("Имя не должно содержать символы: " + bad);
return std::move(err);
return std::move(bad);
}
// ---------------------------------------------------------------------------------------------------------------
}
......@@ -145,8 +145,8 @@ void UniSetObject::initObject()
// ------------------------------------------------------------------------------------------
/*!
* \param om - указазтель на менджер управляющий объектом
* \return Возращает \a true если инициализация прошда успешно, и \a false если нет
* \param om - указатель на менеджер управляющий объектом
* \return Возращает \a true если инициализация прошла успешно, и \a false если нет
*/
bool UniSetObject::init( const std::weak_ptr<UniSetManager>& om )
{
......@@ -192,7 +192,7 @@ void UniSetObject::setActive(bool set)
// ------------------------------------------------------------------------------------------
/*!
* \param vm - указатель на структуру, которая заполняется если есть сообщение
* \return Возвращает \a true если сообщение есть, и \a false если нет
* \return Возвращает указатель VoidMessagePtr если сообщение есть, и shared_ptr(nullptr) если нет
*/
VoidMessagePtr UniSetObject::receiveMessage()
{
......
......@@ -35,22 +35,15 @@ using namespace std;
SViewer::SViewer(const string& csec, bool sn):
csec(csec),
rep(UniSetTypes::uniset_conf()),
cache(500, 15),
isShort(sn)
isShortName(sn)
{
ui = make_shared<UInterface>(UniSetTypes::uniset_conf());
ui->setCacheMaxSize(500);
}
SViewer::~SViewer()
{
}
void SViewer::on_SViewer_destroy()
{
// activator->oakill(SIGINT);
// msleep(500);
// activator->oakill(SIGKILL);
}
// --------------------------------------------------------------------------
void SViewer::monitor( timeout_t timeMS )
{
......@@ -164,17 +157,8 @@ void SViewer::getInfo( ObjectId id )
try
{
try
{
oref = cache.resolve(id, uniset_conf()->getLocalNode());
}
catch( NameNotFound ) {}
if( CORBA::is_nil(oref) )
{
oref = ui->resolve(id);
cache.cache(id, uniset_conf()->getLocalNode(), oref);
}
IONotifyController_i_var ioc = IONotifyController_i::_narrow(oref);
......@@ -211,8 +195,6 @@ void SViewer::getInfo( ObjectId id )
{
cout << "(getInfo): catch ..." << endl;
}
cache.erase(id, uniset_conf()->getLocalNode());
}
// ---------------------------------------------------------------------------
......@@ -230,7 +212,7 @@ void SViewer::updateSensors( IOController_i::SensorInfoSeq_var& amap, UniSetType
{
string name(uniset_conf()->oind->getNameById(amap[i].si.id));
if( isShort )
if( isShortName )
name = ORepHelpers::getShortName(name);
string txtname( uniset_conf()->oind->getTextName(amap[i].si.id) );
......@@ -250,7 +232,7 @@ void SViewer::updateSensors( IOController_i::SensorInfoSeq_var& amap, UniSetType
{
string name(uniset_conf()->oind->getNameById(amap[i].si.id));
if( isShort )
if( isShortName )
name = ORepHelpers::getShortName(name);
string txtname( uniset_conf()->oind->getTextName(amap[i].si.id) );
......@@ -291,7 +273,7 @@ void SViewer::updateThresholds( IONotifyController_i::ThresholdsListSeq_var& tls
string sname(uniset_conf()->oind->getNameById(tlst[i].si.id));
if( isShort )
if( isShortName )
sname = ORepHelpers::getShortName(sname);
cout << " | " << setw(60) << sname << " | " << setw(5) << tlst[i].value << endl;
......
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