Открытые члены | |
dyn_coop_t (so_4::rt::agent_t *agent) | |
Конструктор для кооперации из одного агента. | |
dyn_coop_t (const std::string &coop_name, so_4::rt::agent_t **coop_agents, size_t agent_count) | |
Конструктор для кооперации из нескольких агентов. | |
virtual void | deregistered (so_4::rt::impl::phys_coop_destroyer_t &dstr) |
Внутренний метод SObjectizer-a. | |
Закрытые типы | |
typedef so_4::rt::dyn_agent_coop_t | base_type_t |
Псевдоним для базового типа. |
so_4::disp::qt_ui::dyn_coop_t::dyn_coop_t | ( | so_4::rt::agent_t * | agent | ) |
Конструктор для кооперации из одного агента.
В качестве имени кооперации используется имя агента.
Для создания кооперации с одним агентом, но с именем, отличающимся от имени агента необходимо воспользоваться вторым конструктором.
agent |
Единственный входящий в кооперацию агент.
|
so_4::disp::qt_ui::dyn_coop_t::dyn_coop_t | ( | const std::string & | coop_name, | |
so_4::rt::agent_t ** | coop_agents, | |||
size_t | agent_count | |||
) |
Конструктор для кооперации из нескольких агентов.
coop_name | Имя кооперации. |
coop_agents |
Указатели на агентов кооперации. Каждый элемент должен содержать корректный указатель на объект, созданный оператором new. После завершения работы конструктора сам вектор может быть уничтожен, но все агенты должны существовать дольше, чем объект agent_coop_t. |
agent_count | Количество элементов в coop_agents. |
void so_4::disp::qt_ui::dyn_coop_t::deregistered | ( | so_4::rt::impl::phys_coop_destroyer_t & | dstr | ) | [virtual] |
Внутренний метод SObjectizer-a.
Информирование кооперации о том, что она была дерегистрирована.
Данная реализация вызывает у всех агентов метод so_handle_deregistration. После чего заносит в объект dstr указатели на сам объект-кооперацию и на все агенты, входящие в кооперацию.
Проходим по всем агентам кооперации и проверяем, производны ли они от QObject. Если да, то инициируем уничтожение через QObject::deleteLater(). В противном случае помещаем агента в dstr.
Переопределяет метод предка so_4::rt::dyn_agent_coop_t.
Перекрестные ссылки so_4::rt::impl::phys_coop_destroyer_t::add(), so_4::rt::dyn_agent_coop_t::agents_delivered_to_destroyer(), so_4::rt::dyn_agent_coop_t::deregistered(), so_4::rt::agent_coop_t::query_agent() и so_4::rt::agent_coop_t::size().
Документация по SObjectizer v.4.4 'Тебуломста'. Последние изменения: Thu Sep 18 10:26:48 2008. Создано системой 1.5.6 |