11. Подсистема “Управление модулями” (TModSchedul)
Подсистема «Управление модулями» представлена объектом TModSchedul.
Подсистема содержит механизм управления модулями, содержащихся в разделяемых библиотеках.
11.1. Объект подсистемы «Управление модулями» (TModSchedul)
Данные:
Структура информации о разделяемой библиотеке (struct – TModSchedul::SHD):
- void *hd; - заголовок разделяемой библиотеки (если NULL, то библиотека присутствует, но не подключена);
- vector<string> use; - список подключенных модулей;
- time_t tm; - время модификации библиотеки;
- string name; - полное имя/путь разделяемой библиотеки.
Публичные методы:
- string allowList( ); - Список разрешённых разделяемых библиотек (модулей).
- 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>.