SObjectizer
5.1
|
Класс, реализующий работу с dll. Подробнее...
Открытые типы | |
typedef std::vector< std::string > | names_vec_t |
Открытые члены | |
dll_t (const std::string &dll_file) | |
bool | load (std::string &error_descr) |
Загрузить DLL. Подробнее... | |
bool | unload (std::string &error_descr) |
Выгрузить DLL. Подробнее... | |
const std::string & | query_file () const |
Получить путь к dll. | |
void | inc_ref_count () |
Увеличить количество ссылок на dll. | |
void | dec_ref_count () |
Уменьшить количество ссылок на dll. | |
unsigned int | query_ref_count () const |
Определить количество ссылок на dll. | |
module_description_t * | query_module_description () |
Получить описание модуля. | |
void | append_sysconf_info (sysconf_bulk_info_t &sysconf_bulk_info) const |
Добавить информацию о dll. Подробнее... | |
void | has_added_extra_layers () |
Переводит m_has_added_extra_layers в true. | |
Закрытые члены | |
pfn_module_description_t | module_description_func (std::string &error_descr) |
Получить указатель на функцию описания модуля. Подробнее... | |
bool | obtain_module_description (std::string &error_descr) |
Получить из dll описание модуля. Подробнее... | |
Закрытые данные | |
const std::string | m_dll_file |
Физический путь к dll. | |
unsigned int | m_ref_count |
Счетчик количества ссылок на DLL. Подробнее... | |
std::unique_ptr< ACE_DLL > | m_os_dll_ptr |
ACE обертка для работы с DLL. | |
module_description_unique_ptr_t | m_module_description |
Объект с описанием модуля. Подробнее... | |
bool | m_has_added_extra_layers |
dll содержит загруженный в so_5 дополнительный слой. Подробнее... | |
Класс, реализующий работу с dll.
so_sysconf_4::impl::dll_t::dll_t | ( | const std::string & | dll_file | ) |
dll_file | Физический путь к dll. |
void so_sysconf_4::impl::dll_t::append_sysconf_info | ( | sysconf_bulk_info_t & | sysconf_bulk_info | ) | const |
Добавить информацию о dll.
sysconf_bulk_info | Контейнер информации о составе SO SysConf 4. |
Перекрестные ссылки m_dll_file и so_sysconf_4::sysconf_bulk_info_t::m_dlls.
bool so_sysconf_4::impl::dll_t::load | ( | std::string & | error_descr | ) |
Загрузить DLL.
error_descr | Описание ошибки. |
Перекрестные ссылки m_dll_file, m_os_dll_ptr и obtain_module_description().
|
private |
Получить указатель на функцию описания модуля.
В случае успеха возвращает ненулевой указатель на функцию описания. В случае ошибки возвращает 0, а в error_msg записывает ообщение об ошибке.
error_descr | Описнание ошибки. |
Перекрестные ссылки m_os_dll_ptr и so_sysconf_4::module_descriptor_func_name().
Используется в obtain_module_description().
|
private |
Получить из dll описание модуля.
Если описание модуля получить удалось, то возвращается true. В противном случае вернется false.
error_descr | Описнание ошибки. |
Перекрестные ссылки m_module_description, module_description_func() и query_file().
Используется в load().
bool so_sysconf_4::impl::dll_t::unload | ( | std::string & | error_descr | ) |
Выгрузить DLL.
error_descr | Описнание ошибки. |
Перекрестные ссылки m_has_added_extra_layers, m_module_description, m_os_dll_ptr и query_ref_count().
|
private |
dll содержит загруженный в so_5 дополнительный слой.
После добавления дополнительного слоя в so_5, он не может быть выгружен из среды до завершения работы so_5, а значит и dll с данным слоем не может быть выгружена.
Используется в has_added_extra_layers() и unload().
|
private |
Объект с описанием модуля.
Создается при вызове метода load, если load прошел успешно.
Используется в obtain_module_description(), query_module_description() и unload().
|
private |
Счетчик количества ссылок на DLL.
Каждая зарегистрированная кооперация увеличивает счетчик ссылок на 1.
Используется в dec_ref_count(), inc_ref_count() и query_ref_count().
Документация по SObjectizer v.5.1 'Джимара'. Последние изменения: Ср 15 Май 2013 12:56:25. Создано системой 1.8.3.1 |