Задачи ConnMan
Данный файл содержит описание функций, которые позволяют управлять задачами в ConnMan. Под задачей подразумевается запуск внешнего приложения с возможностью отслеживания успешности его запуска.
Структуры
- struct connman_task;
- typedef void (* connman_task_exit_t) (struct connman_task *task, int exit_code, void *user_data);
Функции
- int connman_task_add_argument(struct connman_task *task, const char *name, const char *format, ...);
- int connman_task_run(struct connman_task *task, connman_task_exit_t function, void *user_data, int *stdin_fd, int *stdout_fd, int *stderr_fd);
Описание структур
connman_task
Структура используется для описания задачи ConnMan.
typedef void (* connman_task_exit_t) (struct connman_task *task,
int exit_code, void *user_data);
Эта функция будет вызвана ConnMan в случае неуспешного завершения работы задачи ConnMan. Функция принимает следующие аргументы:
connman_task
— указатель на задачу ConnMan, в рамках которой происходил запуск приложения;exit_code
— код выхода приложения, запущенного в рамках задачи;user_data
— указатель на пользовательские данные, которые были переданы во время запуска задачи.
Описание функций
int connman_task_add_argument(struct connman_task *task,
const char *name, const char *format, ...);
Данный метод позволяет добавить именованный аргумент к списку аргументов приложения для запуска.
В качестве значения поддерживается динамическое формирование строки из шаблона format
и произвольного набора аргументов.
int connman_task_run(struct connman_task *task,
connman_task_exit_t function, void *user_data,
int *stdin_fd, int *stdout_fd, int *stderr_fd);
Данный метод позволяет запустить задачу на исполнение. Метод принимает следующие аргументы:
task
— указатель на задачу, которую необходимо запустить;function
— указатель на функцию, которая будет вызвана в случае непредвиденного завершения работы приложения задачи;user_data
— указатель на данные, которые будут переданы функцииfunction
в момент вызова;stdin_fd
— файловый дескриптор на стандартный поток ввода для запускаемого приложения;stdout_fd
— файловый дескриптор на стандартный поток вывода для запускаемого приложения;stderr_fd
— файловый дескриптор на стандартный поток ошибок для запускаемого приложения.