-
Notifications
You must be signed in to change notification settings - Fork 55
Trikwifi
Управление беспроводной сетью происходит при помощи класса TrikWiFi. Конструктор класса принимает два обязательных параметра:
- interfaceFilePrefix - путь и начало имени файлов, которые TrikWiFi будет создавать для связи с wpa_supplicant. Что-нибудь вроде /tmp/trikwifi.
- daemonFile - файл, который создал wpa_supplicant для связи с клиентами. Что-нибудь вроде /run/wpa_supplicant/wlan0.
Для подключения используется список настроенных сетей wpa_supplicant. Получить его можно при помощи метода listNetworks.
- addNetwork - добавить сеть в список. Возвращает номер сети либо -1 в случае ошибки.
- removeNetwork(int id) - удалить сеть с номером id.
- setSsid(int id, QString ssid) - задать сети с номером id SSID.
- setKey(int id, QString key) - задать сети с номером id ключ key.
- saveConfiguration - сохранить список сетей в конфигурационном файле.
- connect(int id) - подключиться к сети с номером id.
- disconnect - отключиться.
- scan - запустить сканирование. По окончании сканирования будет подан сигнал scanFinished.
- scanResult - получить результаты последнего сканирования.
Методы removeNetwork, setSsid, setKey, saveConfiguration, connect, disconnect, scan возвращают 0 в случае успеха, -1 в случае ошибки. Успех в случае метода connect означает лишь, что была подана соответствующая команда демону и получен утвердительный ответ от него. Это не означает, что было успешно проведено подключение.
TODO: добавить сигналы connected и disconnected.
Примечание 1. Подключение будет производиться только к сети, id которой был последним передан с помощью метода connect. Остальные сети будут отключены. Это можно изменить, т.к. обычное поведение wpa_supplicant - самостоятельно выбирать сеть из доступных, исходя из приоритета, уровня сигнала и т.п.
Примечание 2. Библиотека работает только в сетях с шифрованием WPA-PSK. Остальные случаи не рассматривались.