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

#include <UniSetManager.h>

Граф наследования:UniSetManager:
UniSetObject LT_Object IOController UniSetActivator IONotifyController UniExchange NullController NullSM NullSM SharedMemory

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

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

 UniSetManager (UniSetTypes::ObjectId id)
 UniSetManager (const std::string &name, const std::string &section)
std::shared_ptr< UniSetManagerget_mptr ()
virtual UniSetTypes::ObjectType getType () override
virtual void broadcast (const UniSetTypes::TransportMessage &msg) override
virtual
UniSetTypes::SimpleInfoSeq * 
getObjectsInfo (CORBA::Long MaxLength=300, CORBA::Long userparam=0) override
virtual bool add (const std::shared_ptr< UniSetObject > &obj)
virtual bool remove (const std::shared_ptr< UniSetObject > &obj)
const std::shared_ptr
< UniSetManager
itemM (const UniSetTypes::ObjectId id)
const std::shared_ptr
< UniSetObject
itemO (const UniSetTypes::ObjectId id)
UniSetManagerList::const_iterator beginMList ()
UniSetManagerList::const_iterator endMList ()
ObjectsList::const_iterator beginOList ()
ObjectsList::const_iterator endOList ()
int objectsCount ()
PortableServer::POA_ptr getPOA ()
PortableServer::POAManager_ptr getPOAManager ()

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

enum  OManagerCommand { deactiv, activ, initial, term }
typedef UniSetManagerList::iterator MListIterator

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

virtual bool addManager (const std::shared_ptr< UniSetManager > &mngr)
virtual bool removeManager (const std::shared_ptr< UniSetManager > &mngr)
virtual bool addObject (const std::shared_ptr< UniSetObject > &obj)
virtual bool removeObject (const std::shared_ptr< UniSetObject > &obj)
void objects (OManagerCommand cmd)
void managers (OManagerCommand cmd)
virtual void sigterm (int signo) override
void initPOA (const std::weak_ptr< UniSetManager > &rmngr)
virtual bool activateObject () override
virtual bool deactivateObject () override
int getObjectsInfo (const std::shared_ptr< UniSetManager > &mngr, UniSetTypes::SimpleInfoSeq *seq, int begin, const long uplimit, CORBA::Long userparam)

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

PortableServer::POA_var poa
PortableServer::POAManager_var pman

Друзья

std::ostream & operator<< (std::ostream &os, OManagerCommand &cmd)

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

Содержит в себе функции управления объектами. Их регистрации и т.п. Создается менеджер объектов, после чего вызывается initObjects() для инициализации объектов которыми управляет данный менеджер... Менеджер в свою очередь сам является объектом и обладает всеми его свойствами

Для пересылки сообщения всем подчиненным объектам используется функция UniSetManager::broadcast(const TransportMessage& msg)

У базового менеджера имеются базовые три функции см. UniSetManager_i.
Заметки:
Только при вызове функции UniSetManager::broadcast() происходит формирование сообщения всем подчиненным объектам... Если команда проиходит при помощи push, то пересылки всем починённым объектам не происходит...

Методы

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

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

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

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

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

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

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

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

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

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

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

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

const std::shared_ptr< UniSetManager > UniSetManager::itemM ( const UniSetTypes::ObjectId  id)

Получение доступа к подчиненному менеджеру по идентификатору

Возвращает:
shared_ptr<>, если объект не найден будет возвращен shared_ptr<> = nullptr
const std::shared_ptr< UniSetObject > UniSetManager::itemO ( const UniSetTypes::ObjectId  id)

Получение доступа к подчиненному объекту по идентификатору

Возвращает:
shared_ptr<>, если объект не найден будет возвращен shared_ptr<> = nullptr
void UniSetManager::managers ( OManagerCommand  cmd) [protected]

Функция работы со списком менеджеров

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

void UniSetManager::objects ( OManagerCommand  cmd) [protected]

Функция работы со списком объектов.

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

void UniSetManager::sigterm ( int  signo) [override, protected, virtual]

Функция вызываемая при приходе сигнала завершения или прерывания процесса. Переопределив ее можно выполнять специфичные для процесса действия по обработке сигнала. Например переход в безопасное состояние.

Предупреждения:
В обработчике сигналов ЗАПРЕЩЕНО вызывать функции подобные exit(..), abort()!!!!

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

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

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


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