Devel:CoreLibs:CorePlugin
Материал из Core-X! IRC Bot Kernel, Plugin, Client!
Класс CorePlugin
Класс CorePlugin предназначен для управления плагинами.
Данный класс является наследником класса QObject и имеет имя "CorePlugin".
Загрузка плагина происходит по его имени. Т.е., если у вас есть файл "plugin.dll" или "libplugin.so", то обращаться к нему надо как "plugin".
Все плагины располагаются в каталоге plugins в каталоге с ядра.
Список загружаемых плагинов содержится в файле core.ini в секции [plugins].
Пример секции:
[plugins] n1=logs n2=stat
Слоты предоставляемые классом CorePlugin
Слоты предоставляемые классом CorePlugin:
- Загрузка плагина (LoadPlugin);
- Выгрузка плагина (UnloadPlugin);
- Выгрузка всех плагинов (UnloadAllPlugins);
- Запрос списка загруженых плагинов (PluginList);
- Запрос информации о плагине (PluginInfo);
- Добавление плагина в список автозагрузки (AddPlugin);
- Удаление плагина из списка автозагрузки (DelPlugin);
- Запрос списка плагинов в автозагрузке (AutoList).
Загрузка плагина (LoadPlugin)
Слот LoadPlugin предназначен для загрузки плагина.
Описание:
void LoadPlugin(const QString& name, int& res); void LoadPlugin(const QString& name, bool& res); void LoadPlugin(const QString& name);
где
- name(входной параметр) - имя плагина;
- res (выходной параметр) - результат загрузки плагина.
Параметр res может принимать следующие значения:
- 0 - загрузка выполнены успешно;
- 1 - не указано имя плагина;
- 2 - плагин уже загружен;
- 3 - ошибка загрузки плагина.
Выгрузка плагина (UnloadPlugin)
Слот UnloadPlugin предназначен для выгрузки плагина.
Описание:
void UnloadPlugin(const QString& name, int& res); void UnloadPlugin(const QString& name, bool& res); void UnloadPlugin(const QString& name);
где
- name(входной параметр) - имя плагина;
- res (выходной параметр) - результат выгрузки плагина.
Выгрузка всех плагинов (UnloadAllPlugins)
Слот UnloadAllPlugins предназначен для выгрузки всех плагинов.
Описание:
void UnloadAllPlugins(int& res); void UnloadAllPlugins(bool& res); void UnloadAllPlugins();
Запрос списка загруженых плагинов (PluginList)
Слот PluginList предназначен для запроса списка загруженных плагинов.
Описание:
void PluginList(QStringList& list);
где
- list(выходной параметр) - список загруженных плагинов.
Запрос информации о плагине (PluginInfo)
Слот PluginInfo предназначен для запроса информации о плагине.
Описание:
void PluginInfo(const QString& name, QString& info, int& res); void PluginInfo(const QString& name, QString& info, bool& res); void PluginInfo(const QString& name, QString& info);
где
- name(входной параметр) - имя плагина;
- info (выходной параметр) - информация о плагине;
- res (выходной параметр) - результат запроса информации о плагине.
Добавление плагина в список автозагрузки (AddPlugin)
Слот AddPlugin предназначен для добавления плагина в список автозагрузки.
Описание:
void AddPlugin(const QString& name, int& res); void AddPlugin(const QString& name, bool& res); void AddPlugin(const QString& name);
где
- name(входной параметр) - имя плагина;
- res (выходной параметр) - результат добавления плагина.
Удаление плагина из списка автозагрузки (DelPlugin)
Слот DelPlugin предназначен для удаления плагина из списока автозагрузки.
Описание:
void DelPlugin(const QString& name, int& res); void DelPlugin(const QString& name, bool& res); void DelPlugin(const QString& name);
где
- name(входной параметр) - имя плагина;
- res (выходной параметр) - результат удаления плагина.
Запрос списка плагинов в автозагрузке (AutoList)
Слот AutoList предназначен для запроса списка плагинов в автозагрузке.
Описание:
void AutoList(QStringList& list);
где
- list(выходной параметр) - список плагинов в автозагрузке.
Сигналы предоставляемые классом CorePlugin
Сигналы предоставляемые классом CorePlugin:
- Сигнал загрузки плагина (PluginLoaded);
- Сигнал выгрузки плагина (PluginUnloaded);
- Сигнал загрузки всех плагинов (AllPluginsLoaded);
- Сигнал выгрузки всех плагинов (AllPluginsUnloaded).
Сигнал загрузки плагина (PluginLoaded)
Сигнал PluginLoaded вызывается при успешной загрузке плагина.
Описание:
void PluginLoaded(const QString& name);
где
- name- имя загруженного плагина.
Сигнал выгрузки плагина (PluginUnloaded)
Сигнал PluginUnloaded вызывается при успешной выгрузке плагина.
Описание:
void PluginUnloaded(const QString& name);
где
- name- имя выгруженного плагина.
Сигнал загрузки всех плагинов (AllPluginsLoaded)
Сигнал AllPluginsLoaded вызывается при успешной загрузке всех плагинов.
Описание:
void AllPluginsLoaded();
Сигнал выгрузки всех плагинов (AllPluginsUnloaded)
Сигнал AllPluginsUnloaded вызывается при успешной выгрузке всех плагинов.
Описание:
void AllPluginsUnloaded();
