Skip to content
Yurii Litvinov edited this page Nov 15, 2013 · 2 revisions

Управление беспроводной сетью происходит при помощи класса 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. Остальные случаи не рассматривались.