SObjectizer
5.1
|
Открытые члены | |
so_sysconf_layer_t (std::unique_ptr< sysconf_logger_t > &&logger, unsigned int abnormal_termination_timeout_in_msec=60 *1000) | |
Конструктор. | |
so_sysconf_layer_t (std::unique_ptr< sysconf_logger_t > &&logger, const std::string &etc_path, const std::string &log_path, const std::string &data_path, const std::string &tmp_path, unsigned int abnormal_termination_timeout_in_msec=60 *1000) | |
Конструктор с возможностью установить пути. Подробнее... | |
virtual so_5::ret_code_t | start () |
Запустить слой. | |
virtual void | shutdown () |
Инициировать завершение выполнения слоя. | |
virtual void | wait () |
Ожидание завершения слоя. | |
void | load_dll (const std::string &dll_file) |
Загрузить dll. Подробнее... | |
void | unload_dll (const std::string &dll_file) |
Выгрузить dll. Подробнее... | |
void | reg_coop_by_handler (const std::string &coop_handler, const std::string &cfg_file) |
Регистрация кооперации через coop_handler. Подробнее... | |
void | reg_coop_by_factory (const std::string &coop_factory, const std::string &coop_name, const std::string &cfg_file) |
Регистрация кооперации через coop_factory. Подробнее... | |
void | dereg_coop (const std::string &coop_name) |
Дерегистрация кооперации. Подробнее... | |
sysconf_bulk_info_t | query_sysconf_info () |
void | query_meta_action_structure (const std::string &coop_name, const std::string &action_name) |
void | query_meta_action_execution (const std::string &coop_name, const std::string &action_name, const std::string &action_param_content) |
template<class AGENT > | |
void | subscribe_to_shutdown (so_5::rt::agent_t *agent_ptr, const so_5::rt::state_t &agent_state, void(AGENT::*FN_PTR_T)(const so_5::rt::event_data_t< msg_shutdown > &)) |
Подписка агента на сообщения msg_shutdown. Подробнее... | |
void | unsubscribe_from_shutdown (so_5::rt::agent_t *agent_ptr) |
Отписка агента от сообщений msg_shutdown. Подробнее... | |
so_5::ret_code_t | run_script (const std::string &file_name, so_5::throwing_strategy_t throwing_strategy=so_5::THROW_ON_ERROR) |
Выполнение команд, записанных в указанном конфигурационном файле. Подробнее... | |
void | stop () |
Инициирует завершение работы so_sysconf. Подробнее... | |
so_5::rt::mbox_ref_t | query_mbox () const |
Mbox sysconf-а. | |
const std::string & | sysconf_mbox_name () const |
Получение имени mbox'a с информационными сообениями. | |
const std::string & | sysconf_one_thread_dispatcher_name () const |
Получение имени диспетчера одной нити. | |
const std::string & | sysconf_active_obj_dispatcher_name () const |
Получение имени диспетчера активных объектов. | |
const std::string & | sysconf_active_group_dispatcher_name () const |
Получение имени диспетчера активных групп. | |
void | init_fatal_error (const std::string &trouble_source, const std::string &comment, const std::string &full_error) |
Методы получения подписок на диспетчеры so_5. | |
so_5::rt::disp_binder_unique_ptr_t | create_one_thread_disp_binder () |
so_5::rt::disp_binder_unique_ptr_t | create_active_obj_disp_binder () |
so_5::rt::disp_binder_unique_ptr_t | create_active_group_disp_binder (const std::string &group_name) |
const std::string & | etc_path () const |
Получение путей к рабочим каталогам приложения. | |
const std::string & | log_path () const |
const std::string & | data_path () const |
const std::string & | tmp_path () const |
Получение готовых имен файлов в нужных местах. | |
std::string | etc_file_name (const std::string &file_name) const |
std::string | log_file_name (const std::string &file_name) const |
std::string | data_file_name (const std::string &file_name) const |
std::string | tmp_file_name (const std::string &file_name) const |
Контроль работы слоя. |
Закрытые члены | |
void | real_subscribe (so_5::rt::agent_t *agent_ptr, event_shutdown_subscriber_t &event_subscriber) |
Прокси метод подписки агентов на событие завершения работы. | |
void | dereg_coop_final (const std::string &coop_name) |
Метод, вызываемый слушателем коопераций sysconf_coop_listener_t. Подробнее... | |
Закрытые данные | |
std::unique_ptr < impl::so_sysconf_layer_impl_t > | m_so_sysconf_layer_impl |
Реализация слоя so_sysconf. | |
Друзья | |
class | sysconf_coop_listener_t |
Additional Inherited Members | |
Защищенные члены inherited from so_5::rt::so_layer_t | |
so_environment_t & | so_environment () |
Получить среду SObjectizer. Подробнее... | |
so_sysconf_4::so_sysconf_layer_t::so_sysconf_layer_t | ( | std::unique_ptr< sysconf_logger_t > && | logger, |
const std::string & | etc_path, | ||
const std::string & | log_path, | ||
const std::string & | data_path, | ||
const std::string & | tmp_path, | ||
unsigned int | abnormal_termination_timeout_in_msec = 60*1000 |
||
) |
Конструктор с возможностью установить пути.
Может содержать empty-значения путей. В таком случае атрибуту-пути будет присвоено значение "./", и вся информация будеть браться из корневого каталога.
etc_path | Путь к конфигурационным файлам. |
log_path | Путь к логам. |
data_path | Путь к файлам данных. |
tmp_path | Путь к временным файлам. |
Перекрестные ссылки m_so_sysconf_layer_impl.
so_5::rt::disp_binder_unique_ptr_t so_sysconf_4::so_sysconf_layer_t::create_one_thread_disp_binder | ( | ) |
Перекрестные ссылки so_5::disp::one_thread::create_disp_binder() и sysconf_one_thread_dispatcher_name().
void so_sysconf_4::so_sysconf_layer_t::dereg_coop | ( | const std::string & | coop_name | ) |
Дерегистрация кооперации.
coop_name | Имя дерегистрируемой кооперации. |
Перекрестные ссылки m_so_sysconf_layer_impl.
|
private |
Метод, вызываемый слушателем коопераций sysconf_coop_listener_t.
Необходим для реализации двухступенчатой дерегистрации коопераций. Как только происходит окончательная дерегистрация кооперации в so_5, слушатель вызывает данный метод, чтобы можно было произвести удаление кооперации из словаря sysconf'а.
coop_name | Имя дерегистрируемой кооперации. |
Перекрестные ссылки m_so_sysconf_layer_impl.
void so_sysconf_4::so_sysconf_layer_t::init_fatal_error | ( | const std::string & | trouble_source, |
const std::string & | comment, | ||
const std::string & | full_error | ||
) |
Инициировать фатальную ошибку: -Посредством sysconf_mbox будет отправлено сообщение msg_fatal_error. -Сообщение с фатальной ошибкой будет так же передано в std::cerr. -Будет осуществлено завершение работы системы.
Перекрестные ссылки m_so_sysconf_layer_impl.
Используется в so_sysconf_log_3::hard_error_detector::hard_error_detector_backend_t::inner_log(), so_sysconf_log_3::hard_error_detector::coop_handler_t::reg() и so_sysconf_log_3::error_msg_extractor::coop_factory_t::reg().
void so_sysconf_4::so_sysconf_layer_t::load_dll | ( | const std::string & | dll_file | ) |
void so_sysconf_4::so_sysconf_layer_t::query_meta_action_execution | ( | const std::string & | coop_name, |
const std::string & | action_name, | ||
const std::string & | action_param_content | ||
) |
Попытка выполнения мета-действия.
coop_name | Имя зарегистрированной кооперации, которая может выполнять данное мета-действие. |
action_name | Название мета-действия. |
action_param_content | Параметры мета-действия в виде CLS, необходимые для выполнения данного мета-действия. |
Перекрестные ссылки m_so_sysconf_layer_impl.
void so_sysconf_4::so_sysconf_layer_t::query_meta_action_structure | ( | const std::string & | coop_name, |
const std::string & | action_name | ||
) |
Получение описания структуры мета-действия.
coop_name | Имя зарегистрированной кооперации, которая может выполнять данное мета-действие. |
action_name | Название мета-действия. |
Перекрестные ссылки m_so_sysconf_layer_impl.
sysconf_bulk_info_t so_sysconf_4::so_sysconf_layer_t::query_sysconf_info | ( | ) |
Получение полной информации о составе SO SysConf 4.
Перекрестные ссылки m_so_sysconf_layer_impl.
void so_sysconf_4::so_sysconf_layer_t::reg_coop_by_factory | ( | const std::string & | coop_factory, |
const std::string & | coop_name, | ||
const std::string & | cfg_file | ||
) |
Регистрация кооперации через coop_factory.
coop_factory | ! Имя coop_factory. |
coop_name | Имя регистрируемой кооперации. |
cfg_file | Конфигурационный файл для создания конфигурации. |
Перекрестные ссылки m_so_sysconf_layer_impl.
void so_sysconf_4::so_sysconf_layer_t::reg_coop_by_handler | ( | const std::string & | coop_handler, |
const std::string & | cfg_file | ||
) |
Регистрация кооперации через coop_handler.
coop_handler | Имя coop_handler. |
cfg_file | Конфигурационный файл для создания конфигурации. |
Перекрестные ссылки m_so_sysconf_layer_impl.
so_5::ret_code_t so_sysconf_4::so_sysconf_layer_t::run_script | ( | const std::string & | file_name, |
so_5::throwing_strategy_t | throwing_strategy = so_5::THROW_ON_ERROR |
||
) |
Выполнение команд, записанных в указанном конфигурационном файле.
throwing_strategy | Флаг - бросать ли исключение в случае ошибки. |
Перекрестные ссылки m_so_sysconf_layer_impl.
void so_sysconf_4::so_sysconf_layer_t::stop | ( | ) |
Инициирует завершение работы so_sysconf.
С вызовом данного метода начинается завершение работы системы. Происходит оповещение подписанных агентов о необходимости завершения работы , останавливается нить задач.
Перекрестные ссылки m_so_sysconf_layer_impl.
|
inline |
Подписка агента на сообщения msg_shutdown.
agent_ptr | Указатель на агента, совершающего подписку. |
agent_state | Состояние, в котором агент будет получать сообщение о завершении работы. |
FN_PTR_T | Указатель на метод-обработчик события. |
void so_sysconf_4::so_sysconf_layer_t::unload_dll | ( | const std::string & | dll_file | ) |
void so_sysconf_4::so_sysconf_layer_t::unsubscribe_from_shutdown | ( | so_5::rt::agent_t * | agent_ptr | ) |
Отписка агента от сообщений msg_shutdown.
agent_ptr | Указатель на агента, совершающего отподписку. |
Вызов данного метода может осуществляться как средство отписки от сообщений msg_shutdown, что означает, что агент больше не нуждается в оповещении о специальном завершении работы
Так же этот метод может вызываться как ответ на оповещение о специальном завершении работы. В этом случае, после того как все подписанные агенты отпишутся – произойдет нормально завершение работы системы.
Перекрестные ссылки m_so_sysconf_layer_impl.
|
friend |
Необходимо для вызова приватных методов при осуществлении второй ступени дерегистрации коопераций.
Документация по SObjectizer v.5.1 'Джимара'. Последние изменения: Ср 15 Май 2013 12:56:25. Создано системой 1.8.3.1 |