UniSet  1.4.0
Классы | Открытые типы | Открытые члены | Защищенные типы | Защищенные члены | Друзья
Класс IOController

#include <IOController.h>

Граф наследования:IOController:
ObjectsManager UniSetObject IONotifyController UniExchange UniExchange IONotifyController_LT NullController SharedMemory SharedMemory

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

Классы

struct  DependsInfo
struct  UniAnalogIOInfo
struct  UniDigitalIOInfo

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

typedef std::list< DependsInfoDependsList
typedef sigc::slot< void,
DependsList::iterator, bool > 
DependsSlot
typedef std::map
< UniSetTypes::KeyType,
UniDigitalIOInfo
DIOStateList
typedef std::map
< UniSetTypes::KeyType,
UniAnalogIOInfo
AIOStateList

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

 IOController (const std::string name, const std::string section)
 IOController (UniSetTypes::ObjectId id)
virtual UniSetTypes::ObjectType getType ()
virtual CORBA::Boolean getState (const IOController_i::SensorInfo &si)
virtual CORBA::Long getValue (const IOController_i::SensorInfo &si)
virtual void setState (const IOController_i::SensorInfo &si, CORBA::Boolean state, UniSetTypes::ObjectId sup_id=UniSetTypes::DefaultObjectId)
virtual void setValue (const IOController_i::SensorInfo &si, CORBA::Long value, UniSetTypes::ObjectId sup_id=UniSetTypes::DefaultObjectId)
virtual void fastSetState (const IOController_i::SensorInfo &si, CORBA::Boolean state, UniSetTypes::ObjectId sup_id=UniSetTypes::DefaultObjectId)
virtual void fastSetValue (const IOController_i::SensorInfo &si, CORBA::Long value, UniSetTypes::ObjectId sup_id=UniSetTypes::DefaultObjectId)
virtual void saveState (const IOController_i::SensorInfo &si, CORBA::Boolean state, UniversalIO::IOTypes type=UniversalIO::DigitalInput, UniSetTypes::ObjectId sup_id=UniSetTypes::DefaultObjectId)
virtual void fastSaveState (const IOController_i::SensorInfo &si, CORBA::Boolean state, UniversalIO::IOTypes type=UniversalIO::DigitalInput, UniSetTypes::ObjectId sup_id=UniSetTypes::DefaultObjectId)
virtual void saveValue (const IOController_i::SensorInfo &si, CORBA::Long value, UniversalIO::IOTypes type=UniversalIO::AnalogInput, UniSetTypes::ObjectId sup_id=UniSetTypes::DefaultObjectId)
virtual void fastSaveValue (const IOController_i::SensorInfo &si, CORBA::Long value, UniversalIO::IOTypes type=UniversalIO::AnalogInput, UniSetTypes::ObjectId sup_id=UniSetTypes::DefaultObjectId)
virtual void setUndefinedState (const IOController_i::SensorInfo &si, CORBA::Boolean undefined, UniSetTypes::ObjectId sup_id=UniSetTypes::DefaultObjectId)
virtual
IOController_i::ASensorInfoSeq * 
getSensorSeq (const UniSetTypes::IDSeq &lst)
virtual UniSetTypes::IDSeqsetOutputSeq (const IOController_i::OutSeq &lst, UniSetTypes::ObjectId sup_id)
virtual UniversalIO::IOTypes getIOType (const IOController_i::SensorInfo &si)
virtual
IOController_i::ASensorInfoSeq * 
getAnalogSensorsMap ()
virtual
IOController_i::DSensorInfoSeq * 
getDigitalSensorsMap ()
virtual
IOController_i::DigitalIOInfo 
getDInfo (const IOController_i::SensorInfo &si)
virtual
IOController_i::AnalogIOInfo 
getAInfo (const IOController_i::SensorInfo &si)
virtual CORBA::Long getRawValue (const IOController_i::SensorInfo &si)
virtual void calibrate (const IOController_i::SensorInfo &si, const IOController_i::CalibrateInfo &ci, UniSetTypes::ObjectId adminId)
IOController_i::CalibrateInfo getCalibrateInfo (const IOController_i::SensorInfo &si)
IOController_i::SensorInfo SensorInfo (UniSetTypes::ObjectId id, UniSetTypes::ObjectId node=UniSetTypes::conf->getLocalNode())
UniSetTypes::Message::Priority getPriority (const IOController_i::SensorInfo &si, UniversalIO::IOTypes type)
virtual IOController_i::ShortIOInfo getChangedTime (const IOController_i::SensorInfo &si)
virtual
IOController_i::ShortMapSeq * 
getSensors ()
void setDependsSlot (DependsSlot sl)
void setBlockDependsSlot (DependsSlot sl)
DIOStateList::iterator dioBegin ()
DIOStateList::iterator dioEnd ()
DIOStateList::iterator dfind (UniSetTypes::KeyType k)
int dioCount ()
AIOStateList::iterator aioBegin ()
AIOStateList::iterator aioEnd ()
AIOStateList::iterator afind (UniSetTypes::KeyType k)
int aioCount ()
virtual void localSaveValue (AIOStateList::iterator &it, const IOController_i::SensorInfo &si, CORBA::Long newvalue, UniSetTypes::ObjectId sup_id)
virtual void localSaveState (DIOStateList::iterator &it, const IOController_i::SensorInfo &si, CORBA::Boolean newstate, UniSetTypes::ObjectId sup_id)
virtual void localSetState (DIOStateList::iterator &it, const IOController_i::SensorInfo &si, CORBA::Boolean newstate, UniSetTypes::ObjectId sup_id)
virtual void localSetValue (AIOStateList::iterator &it, const IOController_i::SensorInfo &si, CORBA::Long value, UniSetTypes::ObjectId sup_id)
virtual bool localGetState (DIOStateList::iterator &it, const IOController_i::SensorInfo &si)
virtual long localGetValue (AIOStateList::iterator &it, const IOController_i::SensorInfo &si)
virtual void localSetUndefinedState (AIOStateList::iterator &it, bool undefined, const IOController_i::SensorInfo &si)

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

typedef sigc::slot< bool,
const UniAnalogIOInfo
&, CORBA::Long,
UniSetTypes::ObjectId
AFilterSlot
typedef sigc::slot< bool,
const UniDigitalIOInfo
&, CORBA::Boolean,
UniSetTypes::ObjectId
DFilterSlot
typedef std::list< AFilterSlot > AFilterSlotList
typedef std::list< DFilterSlot > DFilterSlotList

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

virtual bool disactivateObject ()
virtual bool activateObject ()
virtual void sensorsRegistration ()
virtual void sensorsUnregistration ()
void dsRegistration (const UniDigitalIOInfo &, bool force=false)
void asRegistration (const UniAnalogIOInfo &, bool force=false)
void sUnRegistration (const IOController_i::SensorInfo &si)
UniSetTypes::Message::Priority getMessagePriority (UniSetTypes::KeyType k, UniversalIO::IOTypes type)
IOController_i::DigitalIOInfo DigitalIOInfo (bool s, UniversalIO::IOTypes t, const IOController_i::SensorInfo &si, UniSetTypes::Message::Priority p=UniSetTypes::Message::Medium, bool defval=false)
IOController_i::AnalogIOInfo AnalogIOInfo (long v, UniversalIO::IOTypes t, const IOController_i::SensorInfo &si, UniSetTypes::Message::Priority p=UniSetTypes::Message::Medium, long defval=0, IOController_i::CalibrateInfo *ci=0)
virtual void logging (UniSetTypes::SensorMessage &sm)
 сохранение информации об изменении состояния датчика
virtual void dumpToDB ()
 сохранение состояния всех датчиков в БД
DIOStateList::iterator mydioBegin ()
DIOStateList::iterator mydioEnd ()
AIOStateList::iterator myaioBegin ()
AIOStateList::iterator myaioEnd ()
AIOStateList::iterator myafind (UniSetTypes::KeyType k)
DIOStateList::iterator mydfind (UniSetTypes::KeyType k)
AFilterSlotList::iterator addAFilter (AFilterSlot sl, bool push_front=false)
DFilterSlotList::iterator addDFilter (DFilterSlot sl, bool push_front=false)
void eraseAFilter (AFilterSlotList::iterator &it)
void eraseDFilter (DFilterSlotList::iterator &it)
bool checkDFilters (const UniDigitalIOInfo &ai, CORBA::Boolean newstate, UniSetTypes::ObjectId sup_id)
bool checkAFilters (const UniAnalogIOInfo &ai, CORBA::Long &newvalue, UniSetTypes::ObjectId sup_id)
bool afiltersEmpty ()
bool dfiltersEmpty ()
int afiltersSize ()
int dfiltersSize ()
void updateDepends (IOController::DependsList &lst, bool undefined, bool &lock)
void updateBlockDepends (IOController::DependsList &lst, bool blk_state, bool &lock)
void setCheckLockValuePause (int msec)
int getCheckLockValuePause ()

Друзья

class AskDumper

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

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


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

typedef sigc::slot<void,DependsList::iterator,bool> IOController::DependsSlot

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

Аргументы:
it- интератор из DependsList
bool- текущее состояние undefined (TRUE|FALSE)

Методы

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

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

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

Переопределяет метод предка ObjectsManager.

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

Перекрестные ссылки sensorsRegistration().

void IOController::asRegistration ( const UniAnalogIOInfo ainf,
bool  force = false 
) [protected]

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

Перекрестные ссылки UniSetTypes::conf, DebugStream::debugging(), UniSetTypes::DefaultObjectId, UniSetObject::getRef(), IOController_i::SensorInfo::id, IOController_i::SensorInfo::node, UniSetTypes::Configuration::oind, UniversalInterface::registered(), UniSetObject::ui, UniSetTypes::unideb и UniversalInterface::unregister().

Используется в NCRestorer::asRegistration().

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

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

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

Переопределяет метод предка ObjectsManager.

Перекрестные ссылки sensorsUnregistration().

void IOController::dsRegistration ( const UniDigitalIOInfo dinf,
bool  force = false 
) [protected]

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

Перекрестные ссылки UniSetTypes::conf, DebugStream::debugging(), UniSetTypes::DefaultObjectId, UniSetObject::getRef(), IOController_i::SensorInfo::id, IOController_i::SensorInfo::node, UniSetTypes::Configuration::oind, UniversalInterface::registered(), UniSetObject::ui, UniSetTypes::unideb и UniversalInterface::unregister().

Используется в NCRestorer::dsRegistration().

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

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

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

Перекрестные ссылки UniSetTypes::conf, UniSetTypes::DefaultObjectId, UniSetTypes::Configuration::getDBServer() и logging().

void IOController::localSetUndefinedState ( AIOStateList::iterator &  it,
bool  undefined,
const IOController_i::SensorInfo si 
) [virtual]

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

Перекрестные ссылки UniSetTypes::conf, IOController_i::SensorInfo::id, IOController_i::SensorInfo::node и UniSetTypes::Configuration::oind.

Используется в SMInterface::localSetUndefinedState().

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

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

Перекрестные ссылки UniSetTypes::conf, UniSetTypes::DefaultObjectId, UniSetTypes::Configuration::getDBServer(), UniversalInterface::send(), UniSetObject::ui и UniSetTypes::unideb.

Используется в dumpToDB() и IONotifyController::loggingInfo().

void IOController::saveState ( const IOController_i::SensorInfo si,
CORBA::Boolean  state,
UniversalIO::IOTypes  type = UniversalIO::DigitalInput,
UniSetTypes::ObjectId  sup_id = UniSetTypes::DefaultObjectId 
) [virtual]
Предупреждения:
Не сделано проверки, зарегистрирован ли такой датчик
void IOController::saveValue ( const IOController_i::SensorInfo si,
CORBA::Long  value,
UniversalIO::IOTypes  type = UniversalIO::AnalogInput,
UniSetTypes::ObjectId  sup_id = UniSetTypes::DefaultObjectId 
) [virtual]
Предупреждения:
Не сделано проверки, зарегистрирован ли такой датчик
virtual void IOController::sensorsRegistration ( ) [inline, protected, virtual]

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

Используется в activateObject().

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

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

Перекрестные ссылки sUnRegistration() и UniSetTypes::unideb.

Используется в disactivateObject().

Предупреждения:
В данной реализации call-back функция только одна! Потом можно будет перейти на список (типа AFilter и DFilter)

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

Перекрестные ссылки IOController_i::SensorInfo::id, IOController_i::SensorInfo::node, UniSetObject::ui и UniversalInterface::unregister().

Используется в sensorsUnregistration().


Объявления и описания членов классов находятся в файлах: