Классы | |
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 | dispatcher_t |
Абстрактный базовый класс для всех диспетчеров. Подробнее... | |
class | event_data_t |
Описатель экземпляра события. Подробнее... | |
class | evt_handler_t |
Описатель обработчика события. Подробнее... | |
class | evt_subscr_t |
Информация об инцидентах события. Подробнее... | |
class | __init_t |
Класс для управления инициализацией и деинициализацией ядра. Подробнее... | |
class | msg_auto_ptr_t |
Вспомогательный класс для отправки сообщений. Подробнее... | |
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 | impl |
Детали реализации SObjectizer run-time. | |
Функции для вызова метода-события в зависимости от его формата. | |
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(* | 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::impl::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 | dyn_coop_controlled (so_4::rt::dyn_agent_coop_t &to, T *what) |
еще один контролируемый объект. |
|
Часть реализации SObjectizer-а. Тип указателя на функцию, которая осуществляет вызов обработчика у агента. |
|
Часть реализации SObjectizer-а. Указатель на функцию, создающую обработчик поля сообщения. |
|
Часть реализации SObjectizer-а. Указатель на функцию, проверяющую корректность экземпляра сообщения. |
|
Часть реализации SObjectizer-а. Указатель на функцию, создающую экземпляр сообщения. |
|
Часть реализации SObjectizer-а. Указатель на функцию, уничтожающую экземпляр сообщения. |
|
void A2::evt( const M & ); Обработчик вызывается только, если указатель на экземпляр события не 0.
|
|
void A2::evt( const M * ); |
|
void A2::evt( const so_4::rt::event_data_t &, const M & ); Обработчик вызывается только, если указатель на экземпляр события не 0.
|
|
void A2::evt( const so_4::rt::event_data_t &, const M * ); |
|
void A2::evt( const so_4::rt::event_data_t & ); |
|
void A2::evt();
|
|
Функция для вызова метода so_on_enter__send_so_msg_state.
|
|
Упрощенный способ установки hook-а подписки типа so_4rt::def_subscr_hook_t.
|
|
Упрощенный способ установки hook-а подписки типа so_4rt::def_subscr_hook_t.
|
|
еще один контролируемый объект.
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( ... ) );
|
|
Определение имени агента a_sobjectizer. Возвращает реальное имя агента a_sobjectizer. Именно это имя должно использоваться для отсылки сообщений msg_normal_shutdown, msg_alarm_shutdown и для подписки на сообщения msg_coop_registered, msg_coop_deregistered, msg_global_agent.
|