#include <agent_with_fatal_state.hpp>
Для того, чтобы в каждом прикладном агенте не повторять один и тот же код по обработке исключительного состояния, sysconf предоставляет агента agent_with_fatal_state_t. У этого агента уже есть состояние st_fatal при входе в которое агент порождает сообщение о фатальной ошибке.
Для использования агента agent_with_fatal_state_t нужно:
Открытые члены | |
agent_with_fatal_state_t (const std::string &agent_name) | |
virtual void | on_enter_st_fatal (const std::string &) |
Обработчик входа в состояние st_fatal. | |
Защищенные члены | |
void | switch_to_fatal_state (const std::string &error_name, const std::string &reason) |
const std::string & | fatal_error_name () const |
const std::string & | fatal_state_reason () const |
Закрытые типы | |
typedef so_4::rt::agent_t | base_type_t |
Псевдоним для базового типа. | |
Закрытые данные | |
std::string | m_fatal_error_name |
std::string | m_fatal_state_reason |
Причина перехода в фатальное состояние. |
so_sysconf_2::agent_with_fatal_state_t::agent_with_fatal_state_t | ( | const std::string & | agent_name | ) |
agent_name | Имя агента. |
void so_sysconf_2::agent_with_fatal_state_t::on_enter_st_fatal | ( | const std::string & | ) | [virtual] |
Обработчик входа в состояние st_fatal.
Порождает сообщение о фатальной ошибке. В качестве описания причины ошибки берутся значения fatal_error_name() и fatal_state_reason().
Метод сделан виртуальным, чтобы производные классы могли перекрыть его логику.
void so_sysconf_2::agent_with_fatal_state_t::switch_to_fatal_state | ( | const std::string & | error_name, | |
const std::string & | reason | |||
) | [protected] |
Выполнить переход в состояние st_fatal.
error_name | Имя фатальной ошибки из-за которой происходит переход. Это имя затем возвращается методом fatal_error_name(). |
reason | Подробное описание причины, по которой происходит переход. Эта причина затем возвращается методом fatal_state_reason(). |
const std::string & so_sysconf_2::agent_with_fatal_state_t::fatal_error_name | ( | ) | const [protected] |
Получить имя ошибки, из-за которой был осуществлен переход в фатальное состояние.
const std::string & so_sysconf_2::agent_with_fatal_state_t::fatal_state_reason | ( | ) | const [protected] |
Получить текст сообщения о причине перехода в фатальное состояние.
std::string so_sysconf_2::agent_with_fatal_state_t::m_fatal_error_name [private] |
Имя ошибки, из-за которой был осуществлен переход в фатальное состояние.
Документация по so_sysconf_2 v.2.4.0. Последние изменения: Wed Oct 31 18:55:07 2007. Создано системой 1.5.4 |