Открытые типы | |
enum | state_t { state_not_processed, state_invalid, state_valid } |
Состояние класса. Подробнее... | |
typedef std::map< std::string, class_info_t > | class_info_map_t |
Тип словаря описаний классов. | |
typedef std::map< std::string, const msg_handler_impl_t * > | msg_handler_map_t |
Тип словаря описаний сообщений. | |
typedef std::map< std::string, const evt_handler_impl_t * > | evt_handler_map_t |
Тип словаря описаний событий. | |
typedef std::map< std::string, state_handler_impl_t * > | state_handler_map_t |
Тип словаря описаний состояний. | |
Открытые члены | |
virtual void | changed () |
Установить признак того, что системный словарь изменился. | |
virtual bool | check (const class_map_t &map_to_rebuild, const std::string &class_name, std::string &reason_desc) |
Закрытые члены | |
void | update (const class_map_t &map_to_rebuild) |
Реакция на изменение списка классов. | |
void | process_content (const class_map_t &map_to_rebuild) |
Полная обработка текущего содержимого. | |
int | try_merge_states (const class_handler_impl_t &class_handler, const class_map_t &all_classes, std::string &error_desc) |
Попытка слияния описаний состояний. | |
int | calc_bases_state (const class_handler_impl_t &class_handler, const class_map_t &all_classes, std::string &invalid_base_name, std::string &error_desc) |
Вычисление общего состояния базовых классов. | |
void | calc_class_state (class_handler_impl_t &class_handler, const class_map_t &all_classes, class_info_t &class_info) |
Вычисление состояние класса. | |
int | build_all_msg_list (class_handler_impl_t &class_handler, const class_map_t &all_classes, std::string &reason_desc) |
Построение полного списка сообщений. | |
int | build_all_evt_list (class_handler_impl_t &class_handler, const class_map_t &all_classes, std::string &reason_desc) |
Построение полного списка событий. | |
int | build_all_state_list (class_handler_impl_t &class_handler, const class_map_t &all_classes, std::string &reason_desc) |
Построение полного списка состояний. | |
int | detect_initial_state (class_handler_impl_t &class_handler, const class_map_t &all_classes, std::string &reason_desc) |
Определение начального состояния. | |
bool | query_full_evt_map (const class_handler_impl_t &class_handler, const class_map_t &all_classes, evt_handler_map_t &result, std::string &conflict_evt_name) |
Получение словаря всех событий класса, включая унаследованные. | |
bool | query_full_state_map (const class_handler_impl_t &class_handler, const class_map_t &all_classes, state_handler_map_t &result, std::string &conflict_state_name) |
Получение словаря всех состояний класса, включая унаследованные. | |
int | check_all_state_events (const state_handler_map_t &states, const evt_handler_impl_ptr_vector_t &, std::string &reason_desc) |
Проверка того, что в всех состояниях агента описаны только известные события. | |
Закрытые статические члены | |
static void | msg_vect_to_msg_map (const msg_handler_impl_ptr_vector_t &v, msg_handler_map_t &m) |
Вспомогательный метод. | |
static void | msg_map_to_msg_vect (const msg_handler_map_t &m, msg_handler_impl_ptr_vector_t &v) |
Вспомогательный метод. | |
static void | evt_vect_to_evt_map (const evt_handler_impl_ptr_vector_t &v, evt_handler_map_t &m) |
Вспомогательный метод. | |
static void | evt_map_to_evt_vect (const evt_handler_map_t &m, evt_handler_impl_ptr_vector_t &v) |
Вспомогательный метод. | |
static void | state_vect_to_state_map (const state_handler_impl_ptr_vector_t &v, state_handler_map_t &m) |
Вспомогательный метод. | |
static void | state_map_to_state_vect (const state_handler_map_t &m, state_handler_impl_ptr_vector_t &v) |
Вспомогательный метод. | |
Закрытые данные | |
class_info_map_t | m_classes |
Описания существующих в словаре системы классов. | |
bool | m_is_correct |
Признак того, что мы содержим корректную информацию. | |
Классы | |
struct | class_info_t |
Описание одного класса. Подробнее... |
typedef std::map< std::string, class_info_t > so_4::rt::impl::std_class_relation_handler_t::class_info_map_t |
Тип словаря описаний классов.
В качестве ключа используется имя класса.
typedef std::map< std::string, const msg_handler_impl_t * > so_4::rt::impl::std_class_relation_handler_t::msg_handler_map_t |
Тип словаря описаний сообщений.
Необходим для формирования полного списка сообщений.
В качестве ключа используется имя сообщения.
typedef std::map< std::string, const evt_handler_impl_t * > so_4::rt::impl::std_class_relation_handler_t::evt_handler_map_t |
Тип словаря описаний событий.
Необходим для формирования полного списка событий.
В качестве ключа используется имя события.
typedef std::map< std::string, state_handler_impl_t * > so_4::rt::impl::std_class_relation_handler_t::state_handler_map_t |
Тип словаря описаний состояний.
Необходим для формирования полного списка состояний.
В качестве ключа используется имя состояния.
bool so_4::rt::impl::std_class_relation_handler_t::check | ( | const class_map_t & | map_to_rebuild, | |
const std::string & | class_name, | |||
std::string & | reason_desc | |||
) | [virtual] |
Если мы содержим не корректную информацию, то информация перестраивается.
Замещает so_4::rt::impl::class_relation_handler_t.
Перекрестные ссылки m_classes, m_is_correct, state_valid и update().
void so_4::rt::impl::std_class_relation_handler_t::update | ( | const class_map_t & | map_to_rebuild | ) | [private] |
Реакция на изменение списка классов.
Осуществляется перестройка полного списка сообщений.
map_to_rebuild | Полный список классов в словаре. |
Перекрестные ссылки m_classes, m_is_correct и process_content().
Используется в check().
void so_4::rt::impl::std_class_relation_handler_t::process_content | ( | const class_map_t & | map_to_rebuild | ) | [private] |
Полная обработка текущего содержимого.
Содержимое m_classes должно точно соответствовать содержимому map_to_rebuild.
map_to_rebuild | Полный список классов в словаре. |
Перекрестные ссылки calc_bases_state(), calc_class_state(), so_4::rt::impl::invalid_class_to_stderr_dumper(), m_classes, so_4::rt::impl::std_class_relation_handler_t::class_info_t::m_reason_desc, so_4::rt::impl::std_class_relation_handler_t::class_info_t::m_state, state_invalid, state_valid и try_merge_states().
Используется в update().
int so_4::rt::impl::std_class_relation_handler_t::try_merge_states | ( | const class_handler_impl_t & | class_handler, | |
const class_map_t & | all_classes, | |||
std::string & | error_desc | |||
) | [private] |
Попытка слияния описаний состояний.
class_handler | Тип, состояния которого нужно проверять. |
all_classes | Все классы словаря. |
error_desc | Приемник описания причины, по которой класс был признан некорректным. |
Перекрестные ссылки m_classes, state_invalid, state_not_processed, state_valid и so_4::rt::impl::class_handler_impl_t::states_for_merge().
Используется в process_content().
int so_4::rt::impl::std_class_relation_handler_t::calc_bases_state | ( | const class_handler_impl_t & | class_handler, | |
const class_map_t & | all_classes, | |||
std::string & | invalid_base_name, | |||
std::string & | error_desc | |||
) | [private] |
Вычисление общего состояния базовых классов.
class_handler | Тип, состояние базовых типов которого нужно проверить. |
all_classes | Все классы словаря. |
invalid_base_name | Приемник имени некорректного базового класса. |
error_desc | Приемник описания причины, по которой базовый класс был признан некорректным. |
Перекрестные ссылки m_classes, so_4::rt::impl::class_handler_impl_t::query_bases(), state_invalid, state_not_processed и state_valid.
Используется в process_content().
void so_4::rt::impl::std_class_relation_handler_t::calc_class_state | ( | class_handler_impl_t & | class_handler, | |
const class_map_t & | all_classes, | |||
class_info_t & | class_info | |||
) | [private] |
Вычисление состояние класса.
Определяются полные списки сообщений, событий и состояний. На основании результата определяется состояние класса.
class_handler | Тип, описание которого нужно обработать. |
all_classes | Все классы словаря. |
class_info | Приемник вычисленного состояния. |
Перекрестные ссылки build_all_evt_list(), build_all_msg_list(), build_all_state_list(), detect_initial_state(), so_4::rt::impl::std_class_relation_handler_t::class_info_t::m_reason_desc, so_4::rt::impl::std_class_relation_handler_t::class_info_t::m_state и state_valid.
Используется в process_content().
int so_4::rt::impl::std_class_relation_handler_t::build_all_msg_list | ( | class_handler_impl_t & | class_handler, | |
const class_map_t & | all_classes, | |||
std::string & | reason_desc | |||
) | [private] |
Построение полного списка сообщений.
class_handler | Класс для обработки. |
all_classes | Все классы словаря. |
reason_desc | Приемник описания ошибки. |
Перекрестные ссылки msg_map_to_msg_vect(), msg_vect_to_msg_map(), so_4::rt::impl::class_handler_impl_t::query_bases(), so_4::rt::impl::class_handler_impl_t::query_msg_handlers(), so_4::rt::impl::class_handler_impl_t::query_self_msg_handlers(), so_4::rt::impl::class_handler_impl_t::set_all_msg_handlers(), state_invalid и state_valid.
Используется в calc_class_state().
int so_4::rt::impl::std_class_relation_handler_t::build_all_evt_list | ( | class_handler_impl_t & | class_handler, | |
const class_map_t & | all_classes, | |||
std::string & | reason_desc | |||
) | [private] |
Построение полного списка событий.
class_handler | Класс для обработки. |
all_classes | Все классы словаря. |
reason_desc | Приемник описания ошибки. |
Перекрестные ссылки evt_map_to_evt_vect(), query_full_evt_map(), so_4::rt::impl::class_handler_impl_t::set_all_evt_handlers(), state_invalid и state_valid.
Используется в calc_class_state().
int so_4::rt::impl::std_class_relation_handler_t::build_all_state_list | ( | class_handler_impl_t & | class_handler, | |
const class_map_t & | all_classes, | |||
std::string & | reason_desc | |||
) | [private] |
Построение полного списка состояний.
class_handler | Класс для обработки. |
all_classes | Все классы словаря. |
reason_desc | Приемник описания ошибки. |
Перекрестные ссылки check_all_state_events(), so_4::rt::impl::exclude_disabled_events_caller(), so_4::rt::impl::class_handler_impl_t::query_evt_handlers(), query_full_state_map(), so_4::rt::impl::class_handler_impl_t::query_self_state_handlers(), so_4::rt::impl::class_handler_impl_t::set_all_state_handlers(), state_invalid, state_map_to_state_vect() и state_valid.
Используется в calc_class_state().
int so_4::rt::impl::std_class_relation_handler_t::detect_initial_state | ( | class_handler_impl_t & | class_handler, | |
const class_map_t & | all_classes, | |||
std::string & | reason_desc | |||
) | [private] |
Определение начального состояния.
class_handler | Класс для обработки. |
all_classes | Все классы словаря. |
reason_desc | Приемник описания ошибки. |
Перекрестные ссылки so_4::rt::impl::class_handler_impl_t::query_bases(), so_4::rt::impl::class_handler_impl_t::query_initial_state(), so_4::rt::impl::class_handler_impl_t::query_initial_state_name(), so_4::rt::impl::class_handler_impl_t::query_self_state_handlers(), so_4::rt::impl::class_handler_impl_t::query_state_handlers(), so_4::rt::impl::class_handler_impl_t::set_initial_state(), state_invalid и state_valid.
Используется в calc_class_state().
bool so_4::rt::impl::std_class_relation_handler_t::query_full_evt_map | ( | const class_handler_impl_t & | class_handler, | |
const class_map_t & | all_classes, | |||
evt_handler_map_t & | result, | |||
std::string & | conflict_evt_name | |||
) | [private] |
Получение словаря всех событий класса, включая унаследованные.
class_handler | Класс, карту событий которого необходимо получить. |
all_classes | Все классы словаря. |
result | Приемник результирующего словаря. Новое содержимое дополняется к уже существующему. |
conflict_evt_name | Приемник имени конфликтного события. Заполняется только при обнаружении конфликта. |
Перекрестные ссылки evt_vect_to_evt_map(), so_4::rt::impl::class_handler_impl_t::query_bases() и so_4::rt::impl::class_handler_impl_t::query_self_evt_handlers().
Используется в build_all_evt_list().
bool so_4::rt::impl::std_class_relation_handler_t::query_full_state_map | ( | const class_handler_impl_t & | class_handler, | |
const class_map_t & | all_classes, | |||
state_handler_map_t & | result, | |||
std::string & | conflict_state_name | |||
) | [private] |
Получение словаря всех состояний класса, включая унаследованные.
class_handler | Класс, карту состояний которого необходимо получить. |
all_classes | Все классы словаря. |
result | Приемник результирующего словаря. Новое содержимое дополняется к уже существующему. |
conflict_state_name | Приемник имени конфликтного состояния. Заполняется только при обнаружении конфликта. |
Перекрестные ссылки so_4::rt::impl::class_handler_impl_t::query_bases(), so_4::rt::impl::class_handler_impl_t::query_self_state_handlers() и state_vect_to_state_map().
Используется в build_all_state_list().
int so_4::rt::impl::std_class_relation_handler_t::check_all_state_events | ( | const state_handler_map_t & | states, | |
const evt_handler_impl_ptr_vector_t & | event_vector, | |||
std::string & | reason_desc | |||
) | [private] |
Проверка того, что в всех состояниях агента описаны только известные события.
states | Все состояния класса. |
event_vector | Все события класса. |
reason_desc | Приемник описания ошибки. |
Перекрестные ссылки evt_vect_to_evt_map(), state_invalid и state_valid.
Используется в build_all_state_list().
Документация по SObjectizer v.4.4 'Тебуломста'. Последние изменения: Thu Sep 18 10:26:49 2008. Создано системой 1.5.6 |