11. Подсистема "Управление модулями" (TModSchedul)
Подсистема "Управление модулями" представлена объектом TModSchedul.
Подсистема содержит механизм управления модулями, содержащихся в разделяемых библиотеках.
11.1. Объект подсистемы "Управление модулями" (TModSchedul)
Данные:
Структура информации о разделяемой библиотеке (struct – TModSchedul::SHD):
- void *hd; — заголовок разделяемой библиотеки (если NULL, то библиотека присутствует, но не подключена);
- vector<string> use; — список подключенных модулей;
- time_t tm; — время модификации библиотеки;
- string name; — полное имя/путь разделяемой библиотеки.
Публичные методы:
- string allowList( ) const; — Список разрешённых разделяемых библиотек (модулей).
- string denyList( ); — Список запрещённых разделяемых библиотек (модулей).
- int chkPer( ); — Периода проверки директории с модулями (сек).
- void setAllowList( const string &vl ); — Установка списка разрешённых разделяемых библиотек (модулей).
- void setDenyList( const string &vl ); — Установка списка запрещённых разделяемых библиотек (модулей).
- void setChkPer( int per ); — Установка периода проверки директории с модулями (сек). Если периодичность равна нуль, то проверка будет отключена.
- void subStart( ); — Запуск подсистемы.
- void subStop( ); — Останов подсистемы.
- int loadLibS( ); — Загрузка разделяемых библиотек и инициализация модулей. Возвращает количество загруженных модулей.
- SHD &lib( const string &name ); — Получение объекта разделяемой библиотеки name.
- void libList( vector<string> &list ); — Список разделяемых библиотек list.
- int libLoad( const string &path, bool full ); — Загрузка разделяемых библиотек по указанному пути path. Возвращает количество загруженных модулей.
- void libAtt( const string &name, bool full = false); — Подключение указанной разделяемой библиотеке name.
- void libDet( const string &name ); — Отключение разделяемой библиотеки name.