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

Интерфейс для вывода информации Подробнее...

#include <InfoServer.h>

Граф наследования:InfoServer:
UniSetObject

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

Классы

struct  ConsumerInfoExt

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

typedef std::list
< ConsumerInfoExt
ConsumerList
typedef std::map
< UniSetTypes::MessageCode,
ConsumerList
AskMap

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

 InfoServer (UniSetTypes::ObjectId id=UniSetTypes::DefaultObjectId, ISRestorer *d=0)
virtual UniSetTypes::ObjectType getType ()
virtual void ackMessage (UniSetTypes::MessageCode msgid, const UniSetTypes::ConsumerInfo &ci, UniversalIO::UIOCommand cmd, CORBA::Boolean acknotify)
virtual void ackMessageRange (UniSetTypes::MessageCode from, UniSetTypes::MessageCode to, const UniSetTypes::ConsumerInfo &ci, UniversalIO::UIOCommand cmd, CORBA::Boolean acknotify)

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

virtual void processingMessage (UniSetTypes::VoidMessage *msg)
virtual void processing (UniSetTypes::AlarmMessage &amsg)
virtual void processing (UniSetTypes::InfoMessage &imsg)
virtual void processing (UniSetTypes::ConfirmMessage &cmsg)
void preprocessing (UniSetTypes::TransportMessage &tmsg, bool broadcast)
void preprocessingConfirm (UniSetTypes::ConfirmMessage &am, bool broadcast)
virtual bool activateObject ()
 Активизация объекта (переопределяется для необходимых действий после активизации)
virtual void dumpOrdersList (UniSetTypes::MessageCode mid, const ConsumerList &lst)
virtual void readDump ()
template<class TMessage >
void event (UniSetTypes::MessageCode key, TMessage &msg, CORBA::Boolean askn)
 посылка информации об приходе сообщения
template<class TMessage >
void send (ConsumerList &lst, TMessage &msg, CORBA::Boolean acknotify)
 посылка информации об изменении состояния датчика
bool addConsumer (ConsumerList &lst, const UniSetTypes::ConsumerInfo &cons, CORBA::Boolean acknotify)
 добавить потребителя сообщения
bool removeConsumer (ConsumerList &lst, const UniSetTypes::ConsumerInfo &cons, CORBA::Boolean acknotify)
 удалить потребителя сообщения
void ask (AskMap &askLst, UniSetTypes::MessageCode key, const UniSetTypes::ConsumerInfo &cons, UniversalIO::UIOCommand cmd, CORBA::Boolean acknotify)
 обработка заказа

Защищенные данные

ISRestorerrestorer

Друзья

class ISRestorer

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

Интерфейс для вывода информации


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

массив пар идентификатор->список потребителей

Список потребителей


Методы

void InfoServer::ackMessage ( UniSetTypes::MessageCode  msgid,
const UniSetTypes::ConsumerInfo ci,
UniversalIO::UIOCommand  cmd,
CORBA::Boolean  acknotify 
) [virtual]

заказ уведомления о приходе сообщения

Перекрестные ссылки UniSetTypes::conf, UniSetTypes::ConsumerInfo::id, UniSetTypes::Configuration::mi, UniSetTypes::ConsumerInfo::node, UniSetTypes::Configuration::oind и UniSetTypes::unideb.

void InfoServer::ackMessageRange ( UniSetTypes::MessageCode  from,
UniSetTypes::MessageCode  to,
const UniSetTypes::ConsumerInfo ci,
UniversalIO::UIOCommand  cmd,
CORBA::Boolean  acknotify 
) [virtual]

заказ уведомления о приходе сообщения из диапазона

bool InfoServer::activateObject ( ) [protected, virtual]

Активизация объекта (переопределяется для необходимых действий после активизации)

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

Перекрестные ссылки UniSetObject::activateObject().

bool InfoServer::addConsumer ( ConsumerList lst,
const UniSetTypes::ConsumerInfo cons,
CORBA::Boolean  acknotify 
) [protected]

добавить потребителя сообщения

Аргументы:
lst- указатель на список в который необходимо внести потребителя
name- имя вносимого потребителя
Заметки:
Добавление произойдет только если такого потребителя не существует в списке

Перекрестные ссылки UniSetTypes::ConsumerInfo::id и UniSetTypes::ConsumerInfo::node.

void InfoServer::ask ( AskMap askLst,
UniSetTypes::MessageCode  key,
const UniSetTypes::ConsumerInfo cons,
UniversalIO::UIOCommand  cmd,
CORBA::Boolean  acknotify 
) [protected]

обработка заказа

Перекрестные ссылки UniversalIO::UIODontNotify, UniversalIO::UIONotify и UniSetTypes::unideb.

void InfoServer::dumpOrdersList ( UniSetTypes::MessageCode  mid,
const ConsumerList lst 
) [protected, virtual]

сохранение списка заказчиков По умолчанию делает dump, если объявлен dumper.

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

template<class TMessage >
void InfoServer::event ( UniSetTypes::MessageCode  key,
TMessage &  msg,
CORBA::Boolean  askn 
) [protected]

посылка информации об приходе сообщения

void InfoServer::preprocessing ( UniSetTypes::TransportMessage tmsg,
bool  broadcast 
) [protected]

Предварительная обработка сообщения. Пересылка на другие узлы и сохранение в базе.

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

virtual void InfoServer::processing ( UniSetTypes::AlarmMessage amsg) [inline, protected, virtual]

Функция обработки UniSetTypes::AlarmMessage. Переопределяется в кокретном проекте, если требуется специфичная обработка.

virtual void InfoServer::processing ( UniSetTypes::InfoMessage imsg) [inline, protected, virtual]

Функция обработки UniSetTypes::InfoMessage. Переопределяется в кокретном проекте, если требуется специфичная обработка.

virtual void InfoServer::processing ( UniSetTypes::ConfirmMessage cmsg) [inline, protected, virtual]

Функция обработки UniSetTypes::AckMessage. Переопределяется в кокретном проекте, если требуется специфичная обработка.

void InfoServer::processingMessage ( UniSetTypes::VoidMessage msg) [protected, virtual]
void InfoServer::readDump ( ) [protected, virtual]

чтение dump-файла

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

bool InfoServer::removeConsumer ( ConsumerList lst,
const UniSetTypes::ConsumerInfo cons,
CORBA::Boolean  acknotify 
) [protected]

удалить потребителя сообщения

Аргументы:
lst- указатель на список из которго происходит удаление потребителя
name- имя удаляемого потребителя

Перекрестные ссылки UniSetTypes::ConsumerInfo::id и UniSetTypes::ConsumerInfo::node.

template<class TMessage >
void InfoServer::send ( ConsumerList lst,
TMessage &  msg,
CORBA::Boolean  askn 
) [protected]

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

Предупреждения:
В случае зависания в функции push, будет остановлена рассылка другим объектам.

Перекрестные ссылки UniSetTypes::conf, UniSetTypes::Configuration::oind и UniSetTypes::unideb.


Данные класса

указатель на объект реализующий дамп списка заказчиков


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