+ add CurrentWiFi method

+ add support of pid files with interface name to provide compability
with netctl module
* change default wpa_sup ctrl paths
* optimization of wifi calls
This commit is contained in:
arcan1s
2015-03-10 00:52:45 +03:00
parent 362a11f0bc
commit 19976819a1
16 changed files with 183 additions and 76 deletions

View File

@ -60,11 +60,12 @@ WPASUP_PATH=/usr/bin/wpa_supplicant
# path to wpa_cli
WPACLI_PATH=/usr/bin/wpa_cli
# wpa_supplicant PID file
PID_FILE=/run/wpa_supplicant_netctl-gui.pid
# $i is interface
PID_FILE=/run/wpa_supplicant_$i.pid
# wpa_supplicant drivers for wireless interface comma separated
WPA_DRIVERS=nl80211,wext
# path to control directory which is required by wpa_supplicant
CTRL_DIR=/run/wpa_supplicant_netctl-gui
CTRL_DIR=/run/wpa_supplicant
# group which is owner of CTRL_DIR
CTRL_GROUP=users

View File

@ -20,7 +20,7 @@ close helper after GUI application quit. This option is not recognized by
.IP "CLOSETOTRAY=true"
hide application to tray on exit if tray is available. This option is not recognized by
.BR netctlgui-helper (1)
.IP "CTRL_DIR=/run/wpa_supplicant_netctl-gui"
.IP "CTRL_DIR=/run/wpa_supplicant"
path to control directory which is required by
.BR wpa_supplicant (8)
.IP "CTRL_GROUP=users"
@ -56,7 +56,7 @@ path to
service name without
.I .service
suffix
.IP "PID_FILE=/run/wpa_supplicant_netctl-gui.pid"
.IP "PID_FILE=/run/wpa_supplicant_$i.pid"
.BR wpa_supplicant (8)
PID file
.IP "PREFERED_IFACE="

View File

@ -90,7 +90,7 @@ QStringList ControlAdaptor::FindSettings()
QString ControlAdaptor::LibraryDocs()
{
return (QString("html/index.html").arg(QString(DOCS_PATH)));
return (QString("%1html/index.html").arg(QString(DOCS_PATH)));
}
@ -249,6 +249,26 @@ bool ControlAdaptor::Remove(const QString profile)
// wpaCommand
QString ControlAdaptor::CurrentWiFi()
{
netctlWifiInfo wifiPoint = wpaCommand->current();
QStringList point;
point.append(wifiPoint.name);
point.append(wifiPoint.security);
point.append(QString::number(wifiPoint.type));
QStringList freqList;
for (int j=0; j<wifiPoint.frequencies.count(); j++)
freqList.append(QString::number(wifiPoint.frequencies[j]));
point.append(freqList.join(QChar(',')));
point.append(wifiPoint.macs.join(QChar(',')));
point.append(QString::number(wifiPoint.signal));
point.append(QString::number(wifiPoint.active));
point.append(QString::number(wifiPoint.exists));
return point.join(QChar('|'));
}
QStringList ControlAdaptor::VerboseWiFi()
{
QList<netctlWifiInfo> wifiPoints = wpaCommand->scanWifi();

View File

@ -68,6 +68,7 @@ public slots:
bool Create(const QString profile, const QStringList settingsList);
bool Remove(const QString profile);
// wpaCommand
QString CurrentWiFi();
QStringList VerboseWiFi();
QStringList WiFi();

View File

@ -137,6 +137,8 @@ QStringList NetctlAdaptor::netctlVerboseProfileList()
QStringList profileInfo;
profileInfo.append(profilesInfo[i].name);
profileInfo.append(profilesInfo[i].description);
profileInfo.append(profilesInfo[i].type);
profileInfo.append(profilesInfo[i].interface);
profileInfo.append(profilesInfo[i].essid);
profileInfo.append(QString::number(profilesInfo[i].active));
profileInfo.append(QString::number(profilesInfo[i].enabled));

View File

@ -164,9 +164,9 @@ QMap<QString, QString> NetctlHelper::getSettings(const QString file)
settings.beginGroup(QString("wpa_supplicant"));
config[QString("WPASUP_PATH")] = settings.value(QString("WPASUP_PATH"), QString("/usr/bin/wpa_supplicant")).toString();
config[QString("WPACLI_PATH")] = settings.value(QString("WPACLI_PATH"), QString("/usr/bin/wpa_cli")).toString();
config[QString("PID_FILE")] = settings.value(QString("PID_FILE"), QString("/run/wpa_supplicant_netctl-gui.pid")).toString();
config[QString("PID_FILE")] = settings.value(QString("PID_FILE"), QString("/run/wpa_supplicant_$i.pid")).toString();
config[QString("WPA_DRIVERS")] = settings.value(QString("WPA_DRIVERS"), QString("nl80211,wext")).toString();
config[QString("CTRL_DIR")] = settings.value(QString("CTRL_DIR"), QString("/run/wpa_supplicant_netctl-gui")).toString();
config[QString("CTRL_DIR")] = settings.value(QString("CTRL_DIR"), QString("/run/wpa_supplicant")).toString();
config[QString("CTRL_GROUP")] = settings.value(QString("CTRL_GROUP"), QString("users")).toString();
settings.endGroup();