Средства SObjectizer run-time.
Классы | |
class | traits_deinit_caller_t |
class | traits_init_caller_t |
class | a_sobjectizer_t |
Агент a_sobjectizer_t. Подробнее... | |
struct | msg_start |
Сообщение агента a_sobjectizer. Подробнее... | |
struct | msg_stop |
Сообщение агента a_sobjectizer. Подробнее... | |
struct | msg_normal_shutdown |
Сообщение агента a_sobjectizer. Подробнее... | |
struct | msg_alarm_shutdown |
Сообщение агента a_sobjectizer. Подробнее... | |
struct | msg_coop_registered |
Сообщение агента a_sobjectizer. Подробнее... | |
struct | msg_coop_deregistered |
Сообщение агента a_sobjectizer. Подробнее... | |
struct | so_msg_state |
Сообщение об изменении состояния агента. Подробнее... | |
struct | msg_global_agent |
Сообщение агента a_sobjectizer. Подробнее... | |
class | agent_traits_t |
Базовый класс для задания свойств агентов. Подробнее... | |
class | agent_state_listener_t |
Базовый класс "слушателей" состояния агента. Подробнее... | |
class | agent_t |
Базовый класс для всех агентов. Подробнее... | |
class | subscr_hook_t |
Базовый класс hook-а подписки агентов кооперации. Подробнее... | |
class | agent_coop_t |
Базовый класс кооперации агентов. Подробнее... | |
class | dyn_coop_controlled_obj_t |
Базовый класс для объектов, время жизни который определяется динамической кооперацией. Подробнее... | |
class | dyn_coop_controlled_templ_t |
Шаблон-адаптер для объектов, время жизни которых определяется динамической кооперацией. Подробнее... | |
class | dyn_agent_coop_t |
Динамическая кооперация. Подробнее... | |
class | dyn_agent_coop_helper_t |
Упрощение регистрации динамических коопераций. Подробнее... | |
class | def_subscr_hook_t |
Обобщенная реализация hook-а подписки агентов. Подробнее... | |
class | class_handler_t |
Интерфейс объекта для описания класса агента. Подробнее... | |
class | super_class_binder_t |
Связыватель описания класса с именем базового класса. Подробнее... | |
class | initial_state_binder_t |
Устанавливатель имени стартового состояния. Подробнее... | |
class | comm_buf_t |
Коммуникационный буфер переменного размера. Подробнее... | |
class | comm_channel_t |
Описание коммуникационного канала. Подробнее... | |
class | dispatcher_binding_t |
Интерфейс объекта, который знает о привязке агента к конкретному ресурсу диспетчера. Подробнее... | |
class | dispatcher_t |
Абстрактный базовый класс для всех диспетчеров. Подробнее... | |
class | event_data_t |
Описатель экземпляра события. Подробнее... | |
class | evt_handler_t |
Описатель обработчика события. Подробнее... | |
class | evt_subscr_t |
Информация об инцидентах события. Подробнее... | |
class | __init_t |
Класс для управления инициализацией и деинициализацией ядра. Подробнее... | |
class | msg_auto_ptr_t |
Вспомогательный класс для отправки сообщений. Подробнее... | |
class | msg_fld_handler_t |
Интерфейс обработчика значения поля сообщения при сериализации/десериализации в SOP. Подробнее... | |
class | msg_fld_handler_oess_io_custom_t |
Шаблон msg_fld_handler для работы с типами, сериализуемыми через oess_1::io вручную. Подробнее... | |
class | msg_handler_t |
Описатель сообщения. Подробнее... | |
class | msg_fld_binder_t |
Связыватель поля и его обработчика. Подробнее... | |
class | msg_checker_binder_t |
Связыватель сообщения и функции его проверки. Подробнее... | |
class | msg_data_t |
Описатель экземпляра сообщения. Подробнее... | |
class | state_handler_t |
Класс для описания состояния агента. Подробнее... | |
class | state_event_binder_t |
Связыватель состояния и события. Подробнее... | |
class | state_on_enter_binder_t |
Связыватель состояния и обработчика входа в состояние. Подробнее... | |
class | state_on_exit_binder_t |
Связыватель состояния и обработчика входа в состояние. Подробнее... | |
class | state_merge_binder_t |
Связывает операцию merge с состоянием. Подробнее... | |
class | state_event_excluder_t |
Изымает указанное событие из состояния. Подробнее... | |
class | set_on_enter_t |
class | set_on_exit_t |
Пространства имен | |
namespace | comm |
Коммуникационные средства SObjectizer. | |
namespace | comm_channel_localhost_consts |
Констатны, которые относятся к идентификации localhost. | |
namespace | impl |
Детали реализации SObjectizer run-time. | |
Определения типов | |
typedef void(* | pfn_action_t )(agent_t *, const event_data_t &) |
Часть реализации SObjectizer-а. | |
typedef void *(* | pfn_msg_creator_t )() |
Часть реализации SObjectizer-а. | |
typedef void(* | pfn_msg_destroyer_t )(void *) |
Часть реализации SObjectizer-а. | |
typedef so_4::rt::msg_fld_handler_t *(* | pfn_create_msg_fld_handler_t )(void *fld_ptr) |
Часть реализации SObjectizer-а. | |
typedef bool(* | pfn_msg_checker_t )(void *) |
Часть реализации SObjectizer-а. | |
typedef void(* | pfn_on_state_enter_t )(so_4::rt::agent_t *agent, const std::string &state_name) |
Указатель на функцию вызова обработчика входа в состояние. | |
typedef void(* | pfn_on_state_exit_t )(so_4::rt::agent_t *agent, const std::string &state_name) |
Указатель на функцию вызова обработчика выхода из состояния. | |
Функции | |
static std::string | g_a_sobjectizer_name ("a_sobjectizer") |
SOL4_MSG_START (msg_normal_shutdown, so_4::rt::msg_normal_shutdown) SOL4_MSG_START(msg_alarm_shutdown | |
so_4::rt::msg_alarm_shutdown | SOL4_MSG_START (msg_coop_registered, so_4::rt::msg_coop_registered) SOL4_MSG_START(msg_coop_deregistered |
so_4::rt::msg_alarm_shutdown so_4::rt::msg_coop_deregistered | SOL4_MSG_START (msg_global_agent, so_4::rt::msg_global_agent) SOL4_MSG_START(msg_check_dereg |
const std::string & | sobjectizer_agent_name () |
Определение имени агента a_sobjectizer. | |
void | call_send_so_msg_state (so_4::rt::agent_t *a, const std::string &state_name) |
Функция для вызова метода so_on_enter__send_so_msg_state. | |
void | def_subscr_hook (so_4::rt::agent_coop_t &coop,so_4::rt::agent_t &agent_to_subscribe,const std::string &evt_to_subscribe,const std::string &msg_owner,const std::string &msg_name,int priority=0,std::ostream *err=&std::cerr,const evt_subscr_t::dispatching_t &dispatching=evt_subscr_t::normal_dispatching) |
Упрощенный способ установки hook-а подписки типа so_4rt::def_subscr_hook_t. | |
void | def_subscr_hook (so_4::rt::agent_coop_t &coop,so_4::rt::agent_t &agent_to_subscribe,const std::string &evt_to_subscribe,so_4::rt::agent_t &msg_owner,const std::string &msg_name,int priority=0,std::ostream *err=&std::cerr,const evt_subscr_t::dispatching_t &dispatching=evt_subscr_t::normal_dispatching) |
Упрощенный способ установки hook-а подписки типа so_4rt::def_subscr_hook_t. | |
template<class T> | |
void | swap_auto_ptr (std::auto_ptr< T > &a, std::auto_ptr< T > &b) |
template<class T> | |
void | dyn_coop_controlled (so_4::rt::dyn_agent_coop_t &to, T *what) |
Упрощенный способ добавить в динамическую кооперацию еще один контролируемый объект. | |
std::ostream & | operator<< (std::ostream &to, const comm_channel_t &what) |
Отобразить идентификатор канала в указанный выходной поток. | |
template<class T> | |
std::auto_ptr < so_4::rt::msg_fld_handler_t > | create_msg_fld_handler_oess_io_custom (T *field) |
Фабрика для создания объектов msg_fld_handler_oess_io_custom_t. | |
Функции для вызова метода-события в зависимости от его формата. | |
template<class A, class A2> | |
void | call_event (A *a, void(A2::*evt)(), const event_data_t &e) |
template<class A, class A2> | |
void | call_event (A *a, void(A2::*evt)(const event_data_t &), const event_data_t &e) |
template<class A, class A2, class M> | |
void | call_event (A *a, void(A2::*evt)(const event_data_t &, const M *), const event_data_t &e, const M *m) |
template<class A, class A2, class M> | |
void | call_event (A *a, void(A2::*evt)(const event_data_t &, const M &), const event_data_t &e, const M *m) |
template<class A, class A2, class M> | |
void | call_event (A *a, void(A2::*evt)(const M *), const event_data_t &e, const M *m) |
template<class A, class A2, class M> | |
void | call_event (A *a, void(A2::*evt)(const M &), const event_data_t &e, const M *m) |
typedef void(* so_4::rt::pfn_action_t)(agent_t *, const event_data_t &) |
Часть реализации SObjectizer-а.
Тип указателя на функцию, которая осуществляет вызов обработчика у агента.
typedef so_4::rt::msg_fld_handler_t*(* so_4::rt::pfn_create_msg_fld_handler_t)(void *fld_ptr) |
Часть реализации SObjectizer-а.
Указатель на функцию, создающую обработчик поля сообщения.
typedef bool(* so_4::rt::pfn_msg_checker_t)(void *) |
Часть реализации SObjectizer-а.
Указатель на функцию, проверяющую корректность экземпляра сообщения.
typedef void*(* so_4::rt::pfn_msg_creator_t)() |
Часть реализации SObjectizer-а.
Указатель на функцию, создающую экземпляр сообщения.
typedef void(* so_4::rt::pfn_msg_destroyer_t)(void *) |
Часть реализации SObjectizer-а.
Указатель на функцию, уничтожающую экземпляр сообщения.
void so_4::rt::call_event | ( | A * | a, | |
void(A2::*)(const M &) | evt, | |||
const event_data_t & | e, | |||
const M * | m | |||
) | [inline] |
void A2::evt( const M & );
Обработчик вызывается только, если указатель на экземпляр события не 0.
Перекрестные ссылки so_4::rt::event_data_t::agent(), so_4::rt::event_data_t::msg() и so_4::rt::event_data_t::query_event_owner_name().
void so_4::rt::call_event | ( | A * | a, | |
void(A2::*)(const M *) | evt, | |||
const event_data_t & | e, | |||
const M * | m | |||
) | [inline] |
void A2::evt( const M * );
void so_4::rt::call_event | ( | A * | a, | |
void(A2::*)(const event_data_t &, const M &) | evt, | |||
const event_data_t & | e, | |||
const M * | m | |||
) | [inline] |
void A2::evt( const so_4::rt::event_data_t &, const M & );
Обработчик вызывается только, если указатель на экземпляр события не 0.
Перекрестные ссылки so_4::rt::event_data_t::agent(), so_4::rt::event_data_t::msg() и so_4::rt::event_data_t::query_event_owner_name().
void so_4::rt::call_event | ( | A * | a, | |
void(A2::*)(const event_data_t &, const M *) | evt, | |||
const event_data_t & | e, | |||
const M * | m | |||
) | [inline] |
void A2::evt( const so_4::rt::event_data_t &, const M * );
void so_4::rt::call_event | ( | A * | a, | |
void(A2::*)(const event_data_t &) | evt, | |||
const event_data_t & | e | |||
) | [inline] |
void A2::evt( const so_4::rt::event_data_t & );
void so_4::rt::call_event | ( | A * | a, | |
void(A2::*)() | evt, | |||
const event_data_t & | e | |||
) | [inline] |
void A2::evt();
void so_4::rt::call_send_so_msg_state | ( | so_4::rt::agent_t * | a, | |
const std::string & | state_name | |||
) |
Функция для вызова метода so_on_enter__send_so_msg_state.
std::auto_ptr< so_4::rt::msg_fld_handler_t > so_4::rt::create_msg_fld_handler_oess_io_custom | ( | T * | field | ) | [inline] |
void so_4::rt::def_subscr_hook | ( | so_4::rt::agent_coop_t & | coop, | |
so_4::rt::agent_t & | agent_to_subscribe, | |||
const std::string & | evt_to_subscribe, | |||
so_4::rt::agent_t & | msg_owner, | |||
const std::string & | msg_name, | |||
int | priority = 0 , |
|||
std::ostream * | err = &std::cerr , |
|||
const evt_subscr_t::dispatching_t & | dispatching = evt_subscr_t::normal_dispatching | |||
) |
Упрощенный способ установки hook-а подписки типа so_4rt::def_subscr_hook_t.
coop | Кооперация, в которую должен быть помещен hook. |
agent_to_subscribe | Агент, у которого нужно вызывать so_subscribe(). |
evt_to_subscribe | Имя события, которое нужно подписать. |
msg_owner | Агент-владельц сообщения. |
msg_name | Имя сообщения инцидента. |
priority | Приоритет события. |
err | Поток для вывода сообщений об ошибках подписки. |
dispatching | Тип диспетчеризации события. |
Перекрестные ссылки so_4::rt::def_subscr_hook_t::def_subscr_hook_t().
void so_4::rt::def_subscr_hook | ( | so_4::rt::agent_coop_t & | coop, | |
so_4::rt::agent_t & | agent_to_subscribe, | |||
const std::string & | evt_to_subscribe, | |||
const std::string & | msg_owner, | |||
const std::string & | msg_name, | |||
int | priority = 0 , |
|||
std::ostream * | err = &std::cerr , |
|||
const evt_subscr_t::dispatching_t & | dispatching = evt_subscr_t::normal_dispatching | |||
) |
Упрощенный способ установки hook-а подписки типа so_4rt::def_subscr_hook_t.
coop | Кооперация, в которую должен быть помещен hook. |
agent_to_subscribe | Агент, у которого нужно вызывать so_subscribe(). |
evt_to_subscribe | Имя события, которое нужно подписать. |
msg_owner | Имя агента-владельца сообщения. |
msg_name | Имя сообщения инцидента. |
priority | Приоритет события. |
err | Поток для вывода сообщений об ошибках подписки. |
dispatching | Тип диспетчеризации события. |
Перекрестные ссылки so_4::rt::def_subscr_hook_t::def_subscr_hook_t().
void so_4::rt::dyn_coop_controlled | ( | so_4::rt::dyn_agent_coop_t & | to, | |
T * | what | |||
) | [inline] |
Упрощенный способ добавить в динамическую кооперацию еще один контролируемый объект.
so_4::rt::dyn_agent_coop_t * coop = new so_4::rt::dyn_agent_coop_t( ... ); so_4::rt::dyn_coop_controlled( *coop, new some_obj_t( ... ) );
to | Кооперация, которая должна контролировать объект. |
what | Динамически созданный контролируемый объект. |
Перекрестные ссылки so_4::rt::dyn_agent_coop_t::add_controlled_obj().
std::ostream& so_4::rt::operator<< | ( | std::ostream & | to, | |
const comm_channel_t & | what | |||
) | [inline] |
Отобразить идентификатор канала в указанный выходной поток.
Перекрестные ссылки so_4::rt::comm_channel_t::dump().
const std::string & so_4::rt::sobjectizer_agent_name | ( | ) |
Определение имени агента a_sobjectizer.
Возвращает реальное имя агента a_sobjectizer. Именно это имя должно использоваться для отсылки сообщений msg_normal_shutdown, msg_alarm_shutdown и для подписки на сообщения msg_coop_registered, msg_coop_deregistered, msg_global_agent.
Перекрестные ссылки so_4::rt::a_sobjectizer_t::query_agent_name().
Используется в so_4::api::deregister_coop(), so_4::api::make_global_agent(), so_4::rt::comm::a_sop_outgoing_channel_t::so_on_subscription(), so_4::rt::comm::a_sop_incoming_channel_processor_t::so_on_subscription(), so_4::rt::comm::a_raw_outgoing_channel_t::so_on_subscription(), so_4::rt::comm::a_raw_incoming_channel_processor_t::so_on_subscription() и so_4::rt::comm::a_communicator_t::so_on_subscription().
Документация по SObjectizer v.4.4 'Тебуломста'. Последние изменения: Thu Sep 18 10:26:48 2008. Создано системой 1.5.6 |