Граф наследования:so_4::rt::agent_coop_t:
Класс agent_coop_t так же реализует статическую кооперацию статических агентов. Т.е. за уничтожение объекта agent_coop_t и за уничтожение всех агентов входящих в кооперацию отвечает прикладной программист.
sample/chstate/main.cpp, sample/dyn_reg/main.cpp, sample/hello_all/main.cpp, sample/hello_delay/main.cpp, sample/hello_periodic/main.cpp, sample/hello_world/main.cpp, sample/high_traffic/client.cpp, sample/high_traffic/server.cpp, sample/inheritance/main.cpp, sample/parent_insend/main.cpp, sample/raw_channel/tcp_cln.cpp, sample/raw_channel/tcp_srv.cpp и sample/subscr_hook/main.cpp.
Открытые члены | |
agent_coop_t (agent_t &agent) | |
Конструктор для кооперации из одного агента. | |
agent_coop_t (const char *coop_name, agent_t **coop_agents, size_t agent_count) | |
Конструктор для кооперации из нескольких агентов. | |
agent_coop_t (const std::string &coop_name, agent_t **coop_agents, size_t agent_count) | |
Конструктор для кооперации из нескольких агентов. | |
const std::string & | query_name () const |
Имя кооперации. | |
size_t | size () const |
Количество агентов в кооперации. | |
agent_t & | query_agent (size_t i) const |
Доступ к агенту по индексу. | |
void | add (subscr_hook_t *hook) |
Добавить еще один hook подписки. | |
virtual void | deregistered (so_4::rt::impl::phys_coop_destroyer_t &dstr) |
Внутренний метод SObjectizer-a. | |
void | init_traits () |
Внутренний метод SObjectizer-a. | |
void | call_subscr_hook () const |
Вызвать метод subscr_hook_thook() у всех hook-ов подписки. | |
so_4::rt::impl::coop_relation::storage_t & | relation () |
Доступ к информации об взаимосвязях между кооперациями. | |
const so_4::rt::impl::coop_relation::storage_t & | relation () const |
Доступ к информации об взаимосвязях между кооперациями. | |
void | set_parent_coop_name (const std::string &coop_name) |
Назначить имя родительской кооперации. | |
Закрытые члены | |
void | populate_coop_storage (agent_t **agents, size_t agent_count) |
членов кооперации. | |
agent_coop_t (const agent_coop_t &) | |
Защита от копирования. | |
agent_coop_t & | operator= (const agent_coop_t &) |
Защита от копирования. | |
Закрытые данные | |
auto_ptr_3::obj_ptr_t< impl::agent_coop_storage_t > | m_storage |
Реальный объект-кооперация. | |
auto_ptr_3::obj_ptr_t< impl::subscr_hook_storage_t > | m_subscr_hook_storage |
Хранилище объектов subscr_hook_t. |
|
Конструктор для кооперации из одного агента. В качестве имени кооперации используется имя агента. Для создания кооперации с одним агентом, но с именем, отличающимся от имени агента необходимо воспользоваться вторым конструктором.
|
|
Конструктор для кооперации из нескольких агентов.
|
|
Конструктор для кооперации из нескольких агентов.
|
|
Добавить еще один hook подписки.
Добавленый hook живет в объекте кооперации все время, пока существует кооперация. Т.е. если кооперация регистрируется и дерегистрируется несколько раз, то после каждой регистрации все ранее добавленные hook-и срабатывают при подписке агентов. |
|
Вызвать метод subscr_hook_thook() у всех hook-ов подписки.
|
|
членов кооперации.
|
|
Доступ к агенту по индексу.
|
|
Доступ к информации об взаимосвязях между кооперациями.
|
|
Доступ к информации об взаимосвязях между кооперациями.
|
|
Назначить имя родительской кооперации.
Указанная родительская кооперация должна быть зарегистрирована на момент регистрации данной кооперации.
|
|
Хранилище объектов subscr_hook_t.
|