UniWidgets  1.0.0
Открытые члены | Защищенные члены
Класс UniWidgets::SwitchRTVLogic

Логика для работы с переключателями РТВ. Подробнее...

#include <SwitchRTVLogic.h>

Граф наследования:UniWidgets::SwitchRTVLogic:
UniWidgets::AbstractLogic EventBox

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

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

 SwitchRTVLogic (Gtk::EventBox::BaseObjectType *gobject)
bool set_state (const long object, const long mode)
bool get_state (const long object)
bool get_control ()
void handler_message (const long object, const long mode, const long type)
bool is_controlled ()
bool is_initialized ()
virtual void set_confirm_handler (UMessages::MessageId id)
virtual void set_message_handler ()
virtual void set_sensor_handler ()
void set_control_sensor_handler ()
virtual void confirm_handler (UMessages::MessageId id, time_t sec)
virtual void message_handler (UMessages::MessageId id, Glib::ustring msg)
virtual void sensor_handler (UniSetTypes::ObjectId sensor, UniSetTypes::ObjectId node, long value, long object)
void localcontrol_sensor_handler (UniSetTypes::ObjectId sensor, UniSetTypes::ObjectId node, long value)
void remotecontrol_sensor_handler (UniSetTypes::ObjectId sensor, UniSetTypes::ObjectId node, long value)
virtual void connect ()

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

virtual void on_init ()

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

Логика для работы с переключателями РТВ.

Логика предназначена для работы с кнопками переключения РТВ. В данной задаче было два основных РТВ и один резервный. Резервный мог включаться вместо одного из основных и другой уже нельзя было переключить на резервный, пока первый не переключиться обратно на основной. Логика помещается в контейнер вместе с переключателями iButton, при инициализации логика сама находит переключатели и может управлять ими через указатели. Также в логике учитывается наличие удаленного управления или местного управления. При местном управленнии переключение невозможно с графической станции и все переключатели становятся нечувствительными. В проекте ЯУЗА две графические станции, поэтому логика учитывает переключение на другой станции и обрабатывает удаленную команду как локальную, чтобы обеспечить синхронную работу.

Методы

void SwitchRTVLogic::connect ( ) [virtual]

обработчик события присоединения к процессу SharedMemory

Переопределяет метод предка UniWidgets::AbstractLogic.

проверка режима управления переключателями

Перекрестные ссылки UniWidgets::SimpleObject::get_value_from_sm() и UniWidgets::AbstractLogic::object_.

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

bool SwitchRTVLogic::get_state ( const long  object)

выставить текущее состояние для переключателей

Перекрестные ссылки get_control(), UniWidgets::SimpleObject::get_value_from_sm() и UniWidgets::AbstractLogic::object_.

void SwitchRTVLogic::handler_message ( const long  object,
const long  mode,
const long  type 
)

обработчик ошибок переключения и состояния переключения

Перекрестные ссылки UniWidgets::AbstractLogic::object_, UniWidgetsTypes::rtvALARM, UniWidgetsTypes::rtvSWITCH, UniWidgets::SimpleObject::set_value_obj() и UniWidgets::IButton::start_blink().

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

получить состояние управления(локальное - 0, удаленное - 1)

проверка была ли логика проинициализирована

void SwitchRTVLogic::localcontrol_sensor_handler ( UniSetTypes::ObjectId  sensor,
UniSetTypes::ObjectId  node,
long  value 
)

обработчик переключения на локальное управление

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

void SwitchRTVLogic::on_init ( ) [protected, virtual]

инициализация логики

Замещает UniWidgets::AbstractLogic.

Перекрестные ссылки UniWidgets::AbstractLogic::object_ и set_control_sensor_handler().

void SwitchRTVLogic::remotecontrol_sensor_handler ( UniSetTypes::ObjectId  sensor,
UniSetTypes::ObjectId  node,
long  value 
)

обработчик переключения на удаленное управление

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

установить обработчик переключения режима управления переключением

Перекрестные ссылки localcontrol_sensor_handler(), UniWidgets::AbstractLogic::object_, remotecontrol_sensor_handler() и UniWidgets::SimpleObject::set_sensor_handler().

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

bool SwitchRTVLogic::set_state ( const long  object,
const long  mode 
)

выставить состояние переключателя(переключить на основной или на резервный)

Перекрестные ссылки UniWidgets::IButton::current_state_, handler_message(), UniWidgets::AbstractLogic::object_, UniWidgetsTypes::rtvSWITCH, UniWidgets::SimpleObject::set_value_obj() и UniWidgetsTypes::Workcommon.

Используется в UniWidgets::IButton::on_clicked().


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