SObjectizer  5.1
Открытые члены | Закрытые члены | Закрытые данные | Друзья | Полный список членов класса
Класс so_sysconf_4::so_sysconf_layer_t
Граф наследования:so_sysconf_4::so_sysconf_layer_t:
so_5::rt::so_layer_t

Открытые члены

 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_tso_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_sysconf_4.

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

void so_sysconf_4::so_sysconf_layer_t::dereg_coop_final ( const std::string &  coop_name)
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)

Загрузить dll.

Аргументы
dll_fileИмя pагружаемой dll.

Перекрестные ссылки m_so_sysconf_layer_impl.

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 
)

Выполнение команд, записанных в указанном конфигурационном файле.

Возвращает
true, если разбор конфигурационного файла прошел успешно; false - в противном случае.
Аргументы
throwing_strategyФлаг - бросать ли исключение в случае ошибки.

Перекрестные ссылки m_so_sysconf_layer_impl.

void so_sysconf_4::so_sysconf_layer_t::stop ( )

Инициирует завершение работы so_sysconf.

С вызовом данного метода начинается завершение работы системы. Происходит оповещение подписанных агентов о необходимости завершения работы , останавливается нить задач.

Перекрестные ссылки m_so_sysconf_layer_impl.

template<class AGENT >
void so_sysconf_4::so_sysconf_layer_t::subscribe_to_shutdown ( so_5::rt::agent_t agent_ptr,
const so_5::rt::state_t agent_state,
void(AGENT::*)(const so_5::rt::event_data_t< msg_shutdown > &)  FN_PTR_T 
)
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)

Выгрузить dll.

Аргументы
dll_fileИмя выгружаемой dll.

Перекрестные ссылки m_so_sysconf_layer_impl.

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 class sysconf_coop_listener_t
friend

Необходимо для вызова приватных методов при осуществлении второй ступени дерегистрации коопераций.


Документация по SObjectizer v.5.1 'Джимара'. Последние изменения: Ср 15 Май 2013 12:56:25. Создано системой  doxygen1.8.3.1 Intervale SourceForge.net Logo