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

#include <ObjectsManager.h>

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

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

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

 ObjectsManager (UniSetTypes::ObjectId id)
 ObjectsManager (const std::string name, const std::string section)
virtual UniSetTypes::ObjectType getType ()
virtual void broadcast (const UniSetTypes::TransportMessage &msg)
virtual
UniSetTypes::SimpleInfoSeq * 
getObjectsInfo (CORBA::Long MaxLength=300)
void initPOA (ObjectsManager *rmngr)
virtual bool addObject (UniSetObject *obj)
virtual bool removeObject (UniSetObject *obj)
virtual bool addManager (ObjectsManager *mngr)
virtual bool removeManager (ObjectsManager *mngr)
const ObjectsManageritemM (const UniSetTypes::ObjectId id)
const UniSetObjectitemO (const UniSetTypes::ObjectId id)
ObjectsManagerList::const_iterator beginMList ()
ObjectsManagerList::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
ObjectsManagerList::iterator 
MListIterator

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

void objects (OManagerCommand cmd)
void managers (OManagerCommand cmd)
virtual void sigterm (int signo)
virtual bool activateObject ()
virtual bool disactivateObject ()
int getObjectsInfo (ObjectsManager *mngr, UniSetTypes::SimpleInfoSeq *seq, int begin, const long uplimit)

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

PortableServer::POA_var poa
PortableServer::POAManager_var pman

Друзья

class ObjectsActivator

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

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

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

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

Методы

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

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

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

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

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

Перекрестные ссылки DebugStream::debugging(), managers(), objects() и UniSetTypes::unideb.

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

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

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

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

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

Перекрестные ссылки DebugStream::debugging(), managers(), objects() и UniSetTypes::unideb.

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

Возвращает:
объект ненайден будет возвращен 0.

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

Возвращает:
объект ненайден будет возвращен 0.
void ObjectsManager::managers ( OManagerCommand  cmd) [protected]

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

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

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

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

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

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

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

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

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

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

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

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

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


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