UniSet  2.6.0
Классы | Открытые типы | Открытые члены | Защищенные типы | Защищенные члены | Друзья
Класс uniset::IOController
Граф наследования:uniset::IOController:
Inheritance graph
[см. легенду]
Граф связей класса uniset::IOController:
Collaboration graph
[см. легенду]

Полный список членов класса

Классы

struct  USensorInfo

Открытые типы

typedef std::unordered_map
< uniset::ObjectId,
std::shared_ptr< USensorInfo > > 
IOStateList
typedef sigc::signal< void,
std::shared_ptr< USensorInfo >
&, IOController * > 
ChangeSignal
typedef sigc::signal< void,
std::shared_ptr< USensorInfo >
&, IOController * > 
ChangeUndefinedStateSignal

Открытые члены

 IOController (const std::string &name, const std::string &section)
 IOController (const uniset::ObjectId id)
virtual uniset::ObjectType getType () override
virtual uniset::SimpleInfogetInfo (const char *userparam="") override
virtual CORBA::Long getValue (uniset::ObjectId sid) override
virtual void setValue (uniset::ObjectId sid, CORBA::Long value, uniset::ObjectId sup_id=uniset::DefaultObjectId) override
virtual void setUndefinedState (uniset::ObjectId sid, CORBA::Boolean undefined, uniset::ObjectId sup_id=uniset::DefaultObjectId) override
virtual
IOController_i::SensorInfoSeq * 
getSensorSeq (const uniset::IDSeq &lst) override
virtual uniset::IDSeqsetOutputSeq (const IOController_i::OutSeq &lst, uniset::ObjectId sup_id) override
virtual UniversalIO::IOType getIOType (uniset::ObjectId sid) override
virtual
IOController_i::SensorInfoSeq * 
getSensorsMap () override
virtual
IOController_i::SensorIOInfo 
getSensorIOInfo (uniset::ObjectId sid) override
virtual CORBA::Long getRawValue (uniset::ObjectId sid) override
virtual void calibrate (uniset::ObjectId sid, const IOController_i::CalibrateInfo &ci, uniset::ObjectId adminId) override
IOController_i::CalibrateInfo getCalibrateInfo (uniset::ObjectId sid) override
IOController_i::SensorInfo SensorInfo (const uniset::ObjectId sid, const uniset::ObjectId node=uniset::uniset_conf()->getLocalNode())
uniset::Message::Priority getPriority (const uniset::ObjectId id)
virtual IOController_i::ShortIOInfo getTimeChange (const uniset::ObjectId id) override
virtual
IOController_i::ShortMapSeq * 
getSensors () override
virtual Poco::JSON::Object::Ptr httpHelp (const Poco::URI::QueryParameters &p) override
virtual Poco::JSON::Object::Ptr httpRequest (const std::string &req, const Poco::URI::QueryParameters &p) override
ChangeSignal signal_change_value (uniset::ObjectId sid)
ChangeSignal signal_change_value ()
ChangeUndefinedStateSignal signal_change_undefined_state (uniset::ObjectId sid)
ChangeUndefinedStateSignal signal_change_undefined_state ()
IOStateList::iterator ioBegin ()
IOStateList::iterator ioEnd ()
IOStateList::iterator find (uniset::ObjectId k)
int ioCount () const

Защищенные типы

typedef sigc::signal< void,
std::shared_ptr< USensorInfo >
&, IOController * > 
InitSignal

Защищенные члены

virtual long localSetValueIt (IOStateList::iterator &it, const uniset::ObjectId sid, CORBA::Long value, uniset::ObjectId sup_id)
virtual long localGetValue (IOStateList::iterator &it, const uniset::ObjectId sid)
virtual void localSetUndefinedState (IOStateList::iterator &it, bool undefined, const uniset::ObjectId sid)
virtual long localSetValue (std::shared_ptr< USensorInfo > &usi, CORBA::Long value, uniset::ObjectId sup_id)
long localGetValue (std::shared_ptr< USensorInfo > &usi)
virtual Poco::JSON::Object::Ptr request_get (const std::string &req, const Poco::URI::QueryParameters &p)
virtual Poco::JSON::Object::Ptr request_sensors (const std::string &req, const Poco::URI::QueryParameters &p)
void getSensorInfo (Poco::JSON::Array::Ptr &jdata, std::shared_ptr< USensorInfo > &s, bool shortInfo=false)
virtual bool deactivateObject () override
virtual bool activateObject () override
virtual void activateInit ()
virtual void sensorsRegistration ()
virtual void sensorsUnregistration ()
InitSignal signal_init ()
void ioRegistration (std::shared_ptr< USensorInfo > &usi, bool force=false)
void ioUnRegistration (const uniset::ObjectId sid)
IOController_i::SensorIOInfo SensorIOInfo (long v, UniversalIO::IOType t, const IOController_i::SensorInfo &si, uniset::Message::Priority p=uniset::Message::Medium, long defval=0, IOController_i::CalibrateInfo *ci=0, uniset::ObjectId sup_id=uniset::DefaultObjectId)
virtual void logging (uniset::SensorMessage &sm)
 сохранение информации об изменении состояния датчика
virtual void dumpToDB ()
 сохранение состояния всех датчиков в БД
IOStateList::iterator myioBegin ()
IOStateList::iterator myioEnd ()
IOStateList::iterator myiofind (uniset::ObjectId id)
size_t ioCount ()

Друзья

class NCRestorer
class SMInterface

Подробное описание

Реализация интерфейса IOController-а


Определения типов

typedef sigc::signal<void, std::shared_ptr<USensorInfo>&, IOController*> uniset::IOController::ChangeSignal
Предупреждения:
В сигнале напрямую передаётся указатель на внутреннюю структуру! Это не очень хорошо, с точки зрения "архитектуры", но оптимальнее по быстродействию! необходимо в обработчике не забывать использовать uniset_rwmutex_wrlock(val_lock) или uniset_rwmutex_rlock(val_lock)

Методы

void IOController::activateInit ( ) [protected, virtual]

Начальная инициализация (выставление значений)

bool IOController::activateObject ( ) [override, protected, virtual]
Заметки:
Переопределяя не забывайте вызвать базовую

Регистрирация объекта и всех его подобъектов в репозитории.

Заметки:
Только после этого он (и они) становятся доступны другим процессам

Переопределяет метод предка uniset::UniSetManager.

Переопределяется в uniset::SharedMemory и uniset::IONotifyController.

bool IOController::deactivateObject ( ) [override, protected, virtual]
Заметки:
Переопределяя не забывайте вызвать базовую

Удаление объекта и всех его подобъектов из репозитория.

Заметки:
Объект становится недоступен другим процессам

Переопределяет метод предка uniset::UniSetManager.

Переопределяется в uniset::SharedMemory.

void IOController::dumpToDB ( ) [protected, virtual]

сохранение состояния всех датчиков в БД

Переопределяется в NullController.

void IOController::ioRegistration ( std::shared_ptr< USensorInfo > &  usi,
bool  force = false 
) [protected]

регистрация датчика force=true - не проверять на дублирование (оптимизация)

void IOController::ioUnRegistration ( const uniset::ObjectId  sid) [protected]

разрегистрация датчика

void IOController::localSetUndefinedState ( IOStateList::iterator &  it,
bool  undefined,
const uniset::ObjectId  sid 
) [protected, virtual]

функция выставления признака неопределённого состояния для аналоговых датчиков для дискретных датчиков необходимости для подобной функции нет. см. логику выставления в функции localSaveState

void IOController::logging ( uniset::SensorMessage sm) [protected, virtual]

сохранение информации об изменении состояния датчика

Переопределяется в uniset::SharedMemory, NullSM и NullSM.

virtual void uniset::IOController::sensorsRegistration ( ) [inline, protected, virtual]

регистрация датчиков, за информацию о которых отвечает данный IOController

void IOController::sensorsUnregistration ( ) [protected, virtual]

удаление из репозитория датчиков за информацию о которых отвечает данный IOController