Пространство имен so_4::rt


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

Пространство имен системы run-time.

Средства 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-а.

Тип указателя на функцию, которая осуществляет вызов обработчика у агента.

Часть реализации 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-а.

Указатель на функцию, уничтожающую экземпляр сообщения.


Функции

template<class A, class A2, class M>
void so_4::rt::call_event ( A *  a,
void(A2::*)(const M &)  evt,
const event_data_t &  e,
const M *  m 
) [inline]

Начиная с:
v.4.2.6
Вызов обработчика события следующего формата:
void  A2::evt(
  const M & );

Обработчик вызывается только, если указатель на экземпляр события не 0.

Внимание:
Данная функция не может использоваться с компилятором Visual C++ v.6.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().

template<class A, class A2, class M>
void so_4::rt::call_event ( A *  a,
void(A2::*)(const M *)  evt,
const event_data_t &  e,
const M *  m 
) [inline]

Начиная с:
v.4.2.6
Вызов обработчика события следующего формата:
void  A2::evt(
  const M * );

template<class A, class A2, class 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]

Начиная с:
v.4.2.6
Вызов обработчика события следующего формата:
void  A2::evt(
  const so_4::rt::event_data_t &,
  const M & );

Обработчик вызывается только, если указатель на экземпляр события не 0.

Внимание:
Данная функция не может использоваться с компилятором Visual C++ v.6.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().

template<class A, class A2, class 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]

Начиная с:
v.4.2.6
Вызов обработчика события следующего формата:
void  A2::evt(
  const so_4::rt::event_data_t &,
  const M * );

template<class A, class A2>
void so_4::rt::call_event ( A *  a,
void(A2::*)(const event_data_t &)  evt,
const event_data_t &  e 
) [inline]

Начиная с:
v.4.2.6
Вызов обработчика события следующего формата:
void  A2::evt(
  const so_4::rt::event_data_t & );

template<class A, class A2>
void so_4::rt::call_event ( A *  a,
void(A2::*)()  evt,
const event_data_t &  e 
) [inline]

Начиная с:
v.4.2.6
Вызов обработчика события следующего формата:
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.

Внимание:
Это внутренняя функция SObjectizer-а. Она описана здесь для поддержки макроса SOL4_CHANGE_STATE_NOTIFY.

template<class T>
std::auto_ptr< so_4::rt::msg_fld_handler_t > so_4::rt::create_msg_fld_handler_oess_io_custom ( T *  field  )  [inline]

Фабрика для создания объектов msg_fld_handler_oess_io_custom_t.

Начиная с:
v.4.4.0-b2

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.

Начиная с:
v.4.2.6
См. также:
so_4::rt::def_subscr_hook_t.
Создает объект so_4::rt::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.

Начиная с:
v.4.2.6
См. также:
so_4::rt::def_subscr_hook_t.
Создает объект so_4::rt::def_subscr_hook_t и передает его в указанную кооперацию.
Аргументы:
coop  Кооперация, в которую должен быть помещен hook.
agent_to_subscribe  Агент, у которого нужно вызывать so_subscribe().
evt_to_subscribe  Имя события, которое нужно подписать.
msg_owner  Имя агента-владельца сообщения.
msg_name  Имя сообщения инцидента.
priority  Приоритет события.
err  Поток для вывода сообщений об ошибках подписки.
dispatching  Тип диспетчеризации события.
Примеры:
sample/parent_insend/main.cpp и sample/subscr_hook/main.cpp.

Перекрестные ссылки so_4::rt::def_subscr_hook_t::def_subscr_hook_t().

template<class T>
void so_4::rt::dyn_coop_controlled ( so_4::rt::dyn_agent_coop_t to,
T *  what 
) [inline]

Упрощенный способ добавить в динамическую кооперацию еще один контролируемый объект.

Начиная с:
v.4.2.6
Пример использования:
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  Динамически созданный контролируемый объект.
Примеры:
sample/dyn_coop_controlled/main.cpp.

Перекрестные ссылки 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]

Отобразить идентификатор канала в указанный выходной поток.

Начиная с:
v.4.2.6

Перекрестные ссылки so_4::rt::comm_channel_t::dump().

const std::string & so_4::rt::sobjectizer_agent_name (  ) 


Документация по SObjectizer v.4.4 'Тебуломста'. Последние изменения: Thu Sep 18 10:26:48 2008. Создано системой  doxygen1.5.6 Intervale SourceForge.net Logo