Граф наследования:so_4::rt::impl::std_class_relation_handler_t:
Открытые типы | |
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 |
Тип словаря описаний состояний. | |
enum | state_t { state_not_processed, state_invalid, state_valid } |
Состояние класса. Подробнее... | |
Открытые члены | |
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 |
Описание одного класса. Подробнее... |
|
Тип словаря описаний классов. В качестве ключа используется имя класса. |
|
Тип словаря описаний событий. Необходим для формирования полного списка событий. В качестве ключа используется имя события. |
|
Тип словаря описаний сообщений. Необходим для формирования полного списка сообщений. В качестве ключа используется имя сообщения. |
|
Тип словаря описаний состояний. Необходим для формирования полного списка состояний. В качестве ключа используется имя состояния. |
|
Состояние класса.
|
|
Построение полного списка событий.
|
|
Построение полного списка сообщений.
|
|
Построение полного списка состояний.
|
|
Вычисление общего состояния базовых классов.
|
|
Вычисление состояние класса. Определяются полные списки сообщений, событий и состояний. На основании результата определяется состояние класса.
|
|
Если мы содержим не корректную информацию, то информация перестраивается. Замещает so_4::rt::impl::class_relation_handler_t. |
|
только известные события
|
|
Определение начального состояния.
|
|
Полная обработка текущего содержимого. Содержимое m_classes должно точно соответствовать содержимому map_to_rebuild.
|
|
включая унаследованные.
|
|
включая унаследованные.
|
|
Попытка слияния описаний состояний.
|
|
Реакция на изменение списка классов. Осуществляется перестройка полного списка сообщений.
|