UniSet  2.8.0
Открытые типы | Открытые члены | Защищенные члены | Защищенные данные | Полный список членов класса
Класс uniset::ObjectRepository
Граф связей класса uniset::ObjectRepository:
Collaboration graph
[см. легенду]

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

enum  ObjectType { ObjectRef, Section }
 

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

 ObjectRepository (const std::shared_ptr< uniset::Configuration > &conf)
 
void registration (const std::string &name, const uniset::ObjectPtr oRef, const std::string &section, bool force=false) const
 
void registration (const std::string &fullName, const uniset::ObjectPtr oRef, bool force=false) const
 
void unregistration (const std::string &name, const std::string &section) const
 
void unregistration (const std::string &fullName) const
 
uniset::ObjectPtr resolve (const std::string &name, const std::string &NSName="NameService") const
 
bool isExist (const uniset::ObjectPtr &oref) const
 
bool isExist (const std::string &fullName) const
 
bool list (const std::string &section, uniset::ListObjectName *ls, size_t how_many=300) const
 
bool listSections (const std::string &in_section, uniset::ListObjectName *ls, size_t how_many=300) const
 
bool createSection (const std::string &name, const std::string &in_section) const
 
bool createSectionF (const std::string &fullName) const
 
bool createRootSection (const std::string &name) const
 Функция создания секции в корневом 'каталоге'. Подробнее...
 
bool removeSection (const std::string &fullName, bool recursive=false) const
 Функция удаления секции Подробнее...
 
bool renameSection (const std::string &newName, const std::string &fullName) const
 Функция переименования секции Подробнее...
 
void printSection (const std::string &fullName) const
 

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

bool list (const std::string &section, uniset::ListObjectName *ls, size_t how_many, ObjectType type) const
 
bool createContext (const std::string &cname, CosNaming::NamingContext_ptr ctx) const
 

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

std::string nsName
 
std::shared_ptr< uniset::Configurationuconf
 

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

Работа с CORBA-репозиторием (NameService).
Заметки
Репозиторий работает только, с локальным репозиторием

Методы

◆ createContext()

bool ObjectRepository::createContext ( const std::string &  cname,
CosNaming::NamingContext_ptr  ctx 
) const
protected

Создание нового контекста(секции)

◆ isExist() [1/2]

bool ObjectRepository::isExist ( const uniset::ObjectPtr oref) const

Проверка существования и доступности объекта

◆ isExist() [2/2]

bool ObjectRepository::isExist ( const std::string &  fullName) const

Проверка существования и доступности объекта

◆ list()

bool ObjectRepository::list ( const std::string &  section,
uniset::ListObjectName ls,
size_t  how_many,
ObjectType  type 
) const
protected
Аргументы
ls- указатель на список который надо заполнить
how_many- максимальное количество заносимых элементов
in_section- полное имя секции начиная с Root.
type- тип вынимаемых(заносимых в список) объектов.
Возвращает
Функция возвращает false, если в список были внесены не все элементы. Т.е. действительное количество объектов в этой секции превышает заданное how_many.
Исключения
ORepFailed- генерируется если произошла при получении доступа к секции

◆ resolve()

ObjectPtr ObjectRepository::resolve ( const std::string &  name,
const std::string &  NSName = "NameService" 
) const

Получение ссылки по заданному полному имени (разыменовывание) throw(uniset::ORepFailed, uniset::NameNotFound);