Плагины ConnMan
Плагины ConnMan предназначены для расширения возможностей ConnMan, например, для реализации поддержки VPN-соединений.
Подключение: | #include <connman/plugin.h> |
Макросы
- CONNMAN_PLUGIN_DEFINE(name, description, version, priority, init, exit)
Константы
Функции
Описание макросов
CONNMAN_PLUGIN_DEFINE(name, description, version, priority, init, exit)
Данный макрос предназначен для регистрации плагина в ConnMan. Он выполняется при загрузке бинарного файла плагина. Макросу передаются следующие параметры:
name
— строка,const char *
, имя плагина без кавычек, является уникальным идентификатором;description
— строка,const char *
, текстовое описание плагина;version
— строка,const char *
, версия плагина;priority
— число,int
, приоритет загрузки плагина. Следует использовать одну из соответствующих констант.init
— ссылка на функцию инициализации,void *
, которая вызывается при загрузке плагина;exit
— ссылка на функцию,void *
, которая вызывается при выгрузке плагина.
Описание констант
#define CONNMAN_PLUGIN_PRIORITY_LOW -100
Самый низкий приоритет для плагина.
#define CONNMAN_PLUGIN_PRIORITY_DEFAULT 0
Обычный приоритет для плагина.
#define CONNMAN_PLUGIN_PRIORITY_HIGH 100
Высокий приоритет для плагина.
Описание функций
static int init(void)
Функция загрузки плагина, которая передаётся макросу, выполняет инициализацию плагина. Она должна содержать в себе вызов функций для расширения соответствующих подсистем ConnMan.
При успешном выполнении должна возвращать 0.
static void exit(void)
Функция вызывается при выгрузке VPN-плагина из ConnMan. Данная функция должна отключать те подсистемы, которые были настроены в функции загрузки.