Класс so_4::rt::impl::coop_relation::storage_t

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

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

Хранилище информации о взаимосвязях коопераций.

Начиная с:
v.4.2.7
Кооперация, которая владеет данным хранилищем, должна явно вызывать метод bind() для того, чтобы связать хранилище и кооперацию.


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

typedef std::set< const so_4::rt::agent_coop_t * > set_t
 Тип множества дочерних коопераций.

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

void bind (so_4::rt::agent_coop_t &coop)
 хранилище принадлежит.
void set_parent_coop_name (const std::string &coop_name)
 Установить имя родительской кооперации.
const std::string & parent_coop_name () const
 Получить имя родительской кооперации.
void parent_bind (so_4::rt::agent_coop_t &parent_coop)
 Связать кооперацию с родительской кооперацией.
void parent_unbind ()
 Разорвать связь с родительской кооперацией.
void drop_parent_coop ()
 Сбросить указатель на объект родительской кооперации.
so_4::rt::agent_coop_tparent_coop () const
 Получить указатель на объект родительской кооперации.
void child_insert (const so_4::rt::agent_coop_t *coop)
 Добавить дочернюю кооперацию к списку дочерних коопераций.
void child_remove (const so_4::rt::agent_coop_t *coop)
 Изъять дочернюю кооперацию из списка имен дочерних коопераций.
const set_tchild_query_all () const
 Получить текущее множество дочерних коопераций.
size_t child_count () const
 Получить текущее количество дочерних коопераций.

Закрытые данные

so_4::rt::agent_coop_tm_self_coop
 Кооперация, которую обслуживает данное хранилище.
std::string m_parent_coop_name
 Имя родительской кооперации.
so_4::rt::agent_coop_tm_parent_coop
 Объект родительской кооперации.
set_t m_children
 Дочерние кооперации.


Методы

size_t so_4::rt::impl::coop_relation::storage_t::child_count  )  const
 

Получить текущее количество дочерних коопераций.

Заметки:
Выполняет блокировку coop_relation при выполнении своей работы.

void so_4::rt::impl::coop_relation::storage_t::drop_parent_coop  ) 
 

Сбросить указатель на объект родительской кооперации.

Этот метод только сбрасывает в 0 указатель на объект родительской кооперации. Тем самым устанавливается признак отсутствия у кооперации родителя.

Данный метод никак не воздействует на родительскую кооперацию.

void so_4::rt::impl::coop_relation::storage_t::parent_bind so_4::rt::agent_coop_t parent_coop  ) 
 

Связать кооперацию с родительской кооперацией.

Устанавливает указатель на родительскую кооперацию.

Добавляет себя в список дочерних коопераций родительской коопераци.

Предполагается, что этот метод будет вызываться системным словарем при регистрации кооперации.

Заметки:
Выполняет блокировку coop_relation при выполнении своей работы.
Аргументы:
parent_coop  Родительская кооперация.

so_4::rt::agent_coop_t * so_4::rt::impl::coop_relation::storage_t::parent_coop  )  const
 

Получить указатель на объект родительской кооперации.

Возвращает:
0, если родительской кооперации нет.

const std::string & so_4::rt::impl::coop_relation::storage_t::parent_coop_name  )  const
 

Получить имя родительской кооперации.

Возвращает:
пустая строка, если родительская кооперация не задана.

void so_4::rt::impl::coop_relation::storage_t::parent_unbind  ) 
 

Разорвать связь с родительской кооперацией.

Изымает себя из списока дочерних коопераций родительской коопераци.

Сбрасывает указатель на родительскую кооперацию в 0.

Предполагается, что этот метод будет вызываться в методе agent_coop_t::degeristered().

Заметки:
Выполняет блокировку coop_relation при выполнении своей работы.


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

so_4::rt::agent_coop_t* so_4::rt::impl::coop_relation::storage_t::m_parent_coop [private]
 

Объект родительской кооперации.

После того, как кооперация зарегистрирована содержит указатель на объект родительской кооперации или 0, если родительской кооперации нет.

std::string so_4::rt::impl::coop_relation::storage_t::m_parent_coop_name [private]
 

Имя родительской кооперации.

Пустая строка, если родительская кооперация не назначена.

so_4::rt::agent_coop_t* so_4::rt::impl::coop_relation::storage_t::m_self_coop [private]
 

Кооперация, которую обслуживает данное хранилище.

Значение устанавливается в методе bind().


Документация по SObjectizer. Последние изменения: Thu Jan 12 10:52:52 2006. Создано системой  doxygen 1.4.6-NO
Hosted by uCoz