UniSet
1.4.0
|
#include <IONotifyController.h>
Классы | |
struct | ConsumerInfoExt |
struct | ThresholdInfoExt |
struct | ThresholdsListInfo |
Открытые типы | |
typedef sigc::signal< void, UniSetTypes::SensorMessage * > | ChangeSignal |
typedef std::list < ConsumerInfoExt > | ConsumerList |
typedef std::list < ThresholdInfoExt > | ThresholdExtList |
typedef std::map < UniSetTypes::KeyType, ConsumerList > | AskMap |
typedef std::map < UniSetTypes::KeyType, ThresholdsListInfo > | AskThresholdMap |
Открытые члены | |
IONotifyController (const std::string name, const std::string section, NCRestorer *dumper=0) | |
IONotifyController (UniSetTypes::ObjectId id, NCRestorer *dumper=0) | |
virtual UniSetTypes::ObjectType | getType () |
virtual void | askSensor (const IOController_i::SensorInfo &si, const UniSetTypes::ConsumerInfo &ci, UniversalIO::UIOCommand cmd) |
virtual void | askState (const IOController_i::SensorInfo &si, const UniSetTypes::ConsumerInfo &ci, UniversalIO::UIOCommand cmd) |
virtual void | askValue (const IOController_i::SensorInfo &si, const UniSetTypes::ConsumerInfo &ci, UniversalIO::UIOCommand cmd) |
virtual void | askThreshold (const IOController_i::SensorInfo &si, const UniSetTypes::ConsumerInfo &ci, UniSetTypes::ThresholdId tid, CORBA::Long lowLimit, CORBA::Long hiLimit, CORBA::Long sensibility, UniversalIO::UIOCommand cmd) |
virtual void | askOutput (const IOController_i::SensorInfo &si, const UniSetTypes::ConsumerInfo &ci, UniversalIO::UIOCommand cmd) |
virtual UniSetTypes::IDSeq * | askSensorsSeq (const UniSetTypes::IDSeq &lst, const UniSetTypes::ConsumerInfo &ci, UniversalIO::UIOCommand cmd) |
ChangeSignal | signal_change_state () |
virtual IONotifyController_i::ThresholdsListSeq * | getThresholdsList () |
virtual void | localSaveValue (IOController::AIOStateList::iterator &it, const IOController_i::SensorInfo &si, CORBA::Long newvalue, UniSetTypes::ObjectId sup_id) |
virtual void | localSaveState (IOController::DIOStateList::iterator &it, const IOController_i::SensorInfo &si, CORBA::Boolean newstate, UniSetTypes::ObjectId sup_id) |
virtual void | localSetState (IOController::DIOStateList::iterator &it, const IOController_i::SensorInfo &si, CORBA::Boolean newstate, UniSetTypes::ObjectId sup_id) |
virtual void | localSetValue (IOController::AIOStateList::iterator &it, const IOController_i::SensorInfo &si, CORBA::Long value, UniSetTypes::ObjectId sup_id) |
Защищенные члены | |
virtual bool | activateObject () |
bool | myAFilter (const UniAnalogIOInfo &ai, CORBA::Long newvalue, UniSetTypes::ObjectId sup_id) |
bool | myDFilter (const UniDigitalIOInfo &ai, CORBA::Boolean newstate, UniSetTypes::ObjectId sup_id) |
virtual void | send (ConsumerList &lst, UniSetTypes::SensorMessage &sm) |
посылка информации об изменении состояния датчика | |
virtual void | checkThreshold (AIOStateList::iterator &li, const IOController_i::SensorInfo &si, bool send=true) |
проверка срабатывания пороговых датчиков | |
ThresholdExtList::iterator | findThreshold (UniSetTypes::KeyType k, UniSetTypes::ThresholdId tid) |
поиск информации о пороговом датчике | |
virtual void | loggingInfo (UniSetTypes::SensorMessage &sm) |
сохранение информации об изменении состояния датчика в базу | |
virtual void | dumpOrdersList (const IOController_i::SensorInfo &si, const IONotifyController::ConsumerList &lst) |
virtual void | dumpThresholdList (const IOController_i::SensorInfo &si, const IONotifyController::ThresholdExtList &lst) |
virtual void | readDump () |
virtual void | buildDependsList () |
void | onChangeUndefined (DependsList::iterator it, bool undefined) |
Защищенные данные | |
NCRestorer * | restorer |
UniSetTypes::uniset_mutex | sig_mutex |
ChangeSignal | changeSignal |
Друзья | |
class | NCRestorer |
.... ConsumerMaxAttempts - максимальное число неудачных попыток послать сообщение "заказчику". Настраивается в конфигурационном файле. По умолчанию = 5.
typedef std::map<UniSetTypes::KeyType,ConsumerList> IONotifyController::AskMap |
массив пар датчик->список потребителей
typedef std::map<UniSetTypes::KeyType,ThresholdsListInfo> IONotifyController::AskThresholdMap |
массив пар датчик->список порогов
bool IONotifyController::activateObject | ( | ) | [protected, virtual] |
Регистрирация объекта и всех его подобъектов в репозитории.
Переопределяет метод предка IOController.
Переопределяется в SharedMemory и SharedMemory.
Перекрестные ссылки buildDependsList() и readDump().
void IONotifyController::askSensor | ( | const IOController_i::SensorInfo & | si, |
const UniSetTypes::ConsumerInfo & | ci, | ||
UniversalIO::UIOCommand | cmd | ||
) | [virtual] |
si | - информация о датчике |
ci | - информация о заказчике |
cmd | - команда см. UniversalIO::UIOCommand |
Перекрестные ссылки IONotifyController_i::askOutput(), IONotifyController_i::askState(), IONotifyController_i::askValue(), UniSetTypes::conf, DebugStream::debugging(), IOController_i::SensorInfo::id, UniSetTypes::Configuration::oind и UniSetTypes::unideb.
void IONotifyController::askState | ( | const IOController_i::SensorInfo & | si, |
const UniSetTypes::ConsumerInfo & | ci, | ||
UniversalIO::UIOCommand | cmd | ||
) | [virtual] |
si | - информация о датчике |
ci | - информация о заказчике |
cmd | - команда см. UniversalIO::UIOCommand |
Перекрестные ссылки UniSetTypes::conf, DebugStream::debugging(), UniSetObject_i::getId(), IOController_i::SensorInfo::id, UniSetTypes::ConsumerInfo::id, IOController_i::SensorInfo::node, UniSetTypes::ConsumerInfo::node, UniSetTypes::Configuration::oind, UniversalIO::UIODontNotify, UniversalIO::UIONotify, UniversalIO::UIONotifyFirstNotNull и UniSetTypes::unideb.
void IONotifyController::askValue | ( | const IOController_i::SensorInfo & | si, |
const UniSetTypes::ConsumerInfo & | ci, | ||
UniversalIO::UIOCommand | cmd | ||
) | [virtual] |
si | - информация о датчике |
ci | - информация о заказчике |
cmd | - команда см. UniversalIO::UIOCommand |
Перекрестные ссылки UniSetTypes::conf, DebugStream::debugging(), UniSetObject_i::getId(), IOController_i::SensorInfo::id, UniSetTypes::ConsumerInfo::id, IOController_i::SensorInfo::node, UniSetTypes::ConsumerInfo::node, UniSetTypes::Configuration::oind, UniversalIO::UIODontNotify, UniversalIO::UIONotify, UniversalIO::UIONotifyFirstNotNull и UniSetTypes::unideb.
void IONotifyController::buildDependsList | ( | ) | [protected, virtual] |
построение списка зависимостей по каждому io
Перекрестные ссылки UniSetTypes::unideb.
Используется в activateObject().
void IONotifyController::checkThreshold | ( | AIOStateList::iterator & | li, |
const IOController_i::SensorInfo & | si, | ||
bool | send = true |
||
) | [protected, virtual] |
проверка срабатывания пороговых датчиков
Перекрестные ссылки UniSetTypes::DefaultObjectId, IONotifyController_i::HiThreshold, IOController_i::SensorInfo::id, IONotifyController_i::LowThreshold, IOController_i::SensorInfo::node, IONotifyController_i::NormalThreshold, send() и UniSetTypes::unideb.
void IONotifyController::dumpOrdersList | ( | const IOController_i::SensorInfo & | si, |
const IONotifyController::ConsumerList & | lst | ||
) | [protected, virtual] |
сохранение списка заказчиков По умолчанию делает dump, если объявлен dumper.
Переопределяется в SharedMemory и SharedMemory.
Перекрестные ссылки UniSetTypes::unideb.
void IONotifyController::dumpThresholdList | ( | const IOController_i::SensorInfo & | si, |
const IONotifyController::ThresholdExtList & | lst | ||
) | [protected, virtual] |
сохранение списка заказчиков пороговых датчиков По умолчанию делает dump, если объявлен dumper.
Переопределяется в SharedMemory и SharedMemory.
Перекрестные ссылки UniSetTypes::unideb.
IONotifyController::ThresholdExtList::iterator IONotifyController::findThreshold | ( | UniSetTypes::KeyType | k, |
UniSetTypes::ThresholdId | tid | ||
) | [protected] |
поиск информации о пороговом датчике
void IONotifyController::loggingInfo | ( | UniSetTypes::SensorMessage & | sm | ) | [protected, virtual] |
сохранение информации об изменении состояния датчика в базу
Переопределяется в SharedMemory и SharedMemory.
Перекрестные ссылки IOController::logging().
void IONotifyController::readDump | ( | ) | [protected, virtual] |
void IONotifyController::send | ( | ConsumerList & | lst, |
UniSetTypes::SensorMessage & | sm | ||
) | [protected, virtual] |
посылка информации об изменении состояния датчика
Перекрестные ссылки UniSetTypes::conf, UniSetTypes::Configuration::oind, UniversalInterface::resolve(), UniSetObject::ui и UniSetTypes::unideb.
Используется в checkThreshold().