summaryrefslogtreecommitdiffstats
path: root/src/networksettings
diff options
context:
space:
mode:
authorKimmo Ollila <kimmo.ollila@theqtcompany.com>2016-06-06 15:04:03 +0300
committerKimmo Ollila <kimmo.ollila@theqtcompany.com>2016-06-06 12:33:30 +0000
commit75db95f0e6a7b55a770372a1e5d92c034bd934b3 (patch)
tree4a55a5f10a8092d5a0a3be9b459685d4f0c24a60 /src/networksettings
parent6cc1f9e3f1702dee79ec4a5d85869c3234f078ed (diff)
Fixed WPA supplicant and made it default backend for wifi settings.
Change-Id: Ic539098e2edc5d736da0331e06f5bfc6c51947e1 Reviewed-by: Teemu Holappa <teemu.holappa@theqtcompany.com>
Diffstat (limited to 'src/networksettings')
-rw-r--r--src/networksettings/networksettings.pro6
-rw-r--r--src/networksettings/qnetworksettingsmanager.cpp6
-rw-r--r--src/networksettings/qnetworksettingsmanager.h3
-rw-r--r--src/networksettings/wpasupplicant/qnetworksettingsinterface_p.cpp2
-rw-r--r--src/networksettings/wpasupplicant/qnetworksettingsmanager_p.cpp25
-rw-r--r--src/networksettings/wpasupplicant/qnetworksettingsmanager_p.h7
-rw-r--r--src/networksettings/wpasupplicant/qnetworksettingsservice_p.cpp8
7 files changed, 37 insertions, 20 deletions
diff --git a/src/networksettings/networksettings.pro b/src/networksettings/networksettings.pro
index 9ae1bb3..7220625 100644
--- a/src/networksettings/networksettings.pro
+++ b/src/networksettings/networksettings.pro
@@ -9,11 +9,11 @@ QT = core network
MODULE = networksettings
load(qt_module)
-wpasupplicant {
- include(wpasupplicant.pri)
+connman {
+ include(connman.pri)
}
else {
- include(connman.pri)
+ include(wpasupplicant.pri)
}
# Input
diff --git a/src/networksettings/qnetworksettingsmanager.cpp b/src/networksettings/qnetworksettingsmanager.cpp
index 2bd5a96..787a382 100644
--- a/src/networksettings/qnetworksettingsmanager.cpp
+++ b/src/networksettings/qnetworksettingsmanager.cpp
@@ -68,3 +68,9 @@ void QNetworkSettingsManager::setUserAgent(QNetworkSettingsUserAgent *agent)
Q_D(QNetworkSettingsManager);
d->setUserAgent(agent);
}
+
+QNetworkSettingsUserAgent* QNetworkSettingsManager::getUserAgent()
+{
+ Q_D(QNetworkSettingsManager);
+ return d->getUserAgent();
+}
diff --git a/src/networksettings/qnetworksettingsmanager.h b/src/networksettings/qnetworksettingsmanager.h
index 9b978f8..5d2ad13 100644
--- a/src/networksettings/qnetworksettingsmanager.h
+++ b/src/networksettings/qnetworksettingsmanager.h
@@ -43,11 +43,14 @@ class Q_DECL_EXPORT QNetworkSettingsManager : public QObject
Q_ENUMS(StateTypes NetworkTypeTypes)
Q_PROPERTY(QAbstractItemModel* services READ services NOTIFY servicesChanged)
Q_PROPERTY(QAbstractItemModel* interfaces READ interfaces NOTIFY interfacesChanged)
+ Q_PROPERTY(QNetworkSettingsUserAgent* userAgent READ getUserAgent CONSTANT)
+
public:
explicit QNetworkSettingsManager(QObject* parent = 0);
QAbstractItemModel* services();
QAbstractItemModel* interfaces();
void setUserAgent(QNetworkSettingsUserAgent *agent);
+ QNetworkSettingsUserAgent* getUserAgent();
Q_INVOKABLE QNetworkSettingsService* getService(const QString& name, const int type);
diff --git a/src/networksettings/wpasupplicant/qnetworksettingsinterface_p.cpp b/src/networksettings/wpasupplicant/qnetworksettingsinterface_p.cpp
index 6cb80ec..a2440a1 100644
--- a/src/networksettings/wpasupplicant/qnetworksettingsinterface_p.cpp
+++ b/src/networksettings/wpasupplicant/qnetworksettingsinterface_p.cpp
@@ -34,7 +34,7 @@ QNetworkSettingsInterfacePrivate::QNetworkSettingsInterfacePrivate(QNetworkSetti
:QObject(parent)
,q_ptr(parent)
{
- m_name = QWifiDevice::wifiInterfaceName();
+ m_name = QString::fromLatin1(QWifiDevice::wifiInterfaceName());
m_type.setType(QNetworkSettingsType::Wifi);
m_powered = true; //We don't really know
}
diff --git a/src/networksettings/wpasupplicant/qnetworksettingsmanager_p.cpp b/src/networksettings/wpasupplicant/qnetworksettingsmanager_p.cpp
index 7664427..30f3f61 100644
--- a/src/networksettings/wpasupplicant/qnetworksettingsmanager_p.cpp
+++ b/src/networksettings/wpasupplicant/qnetworksettingsmanager_p.cpp
@@ -38,7 +38,14 @@ QNetworkSettingsManagerPrivate::QNetworkSettingsManagerPrivate(QNetworkSettingsM
:QObject(parent)
,q_ptr(parent)
{
- m_serviceFilter.setSourceModel(&m_serviceModel);
+
+ QNetworkSettingsUserAgent* userAgent = new QNetworkSettingsUserAgent(this);
+ this->setUserAgent(userAgent);
+
+ m_serviceModel = new QNetworkSettingsServiceModel(this);
+ m_serviceFilter = new QNetworkSettingsServiceFilter(this);
+ m_serviceFilter->setSourceModel(m_serviceModel);
+
m_wifiController = new QWifiController(this);
m_wifiController->asyncCall(QWifiController::InitializeBackend);
@@ -97,7 +104,7 @@ void QNetworkSettingsManagerPrivate::connectNetwork(const QString& ssid)
void QNetworkSettingsManagerPrivate::userInteractionReady(bool cancel)
{
if (cancel) {
- m_currentSSID = "";
+ m_currentSSID = QStringLiteral("");
return;
}
bool networkKnown = false;
@@ -323,7 +330,7 @@ WpaSupplicantService* QNetworkSettingsManagerPrivate::networkForSSID(const QStri
WpaSupplicantService* QNetworkSettingsManagerPrivate::networkForSSID(const QString& ssid, int& pos)
{
- QList<QNetworkSettingsService*> services = m_serviceModel.getModel();
+ QList<QNetworkSettingsService*> services = m_serviceModel->getModel();
pos = 0;
foreach (QNetworkSettingsService *service, services) {
if (service->name() == ssid) {
@@ -384,20 +391,20 @@ void QNetworkSettingsManagerPrivate::parseScanResults(const QString &results)
network->setFlags(info.at(3));
network->wirelessConfig()->setSignalStrength(signalStrength);
network->setName(ssid);
- m_serviceModel.append(network);
+ m_serviceModel->append(network);
} else {
if (knownNetwork->wirelessConfig()->outOfRange()) {
// known network has come back into a range
knownNetwork->wirelessConfig()->setOutOfRange(false);
- m_serviceModel.append(knownNetwork);
- pos = m_serviceModel.getModel().size() - 1;
+ m_serviceModel->append(knownNetwork);
+ pos = m_serviceModel->getModel().size() - 1;
}
// ssids are the same, compare bssids..
if (knownNetwork->id() == info.at(0)) {
// same access point, simply update the signal strength
knownNetwork->wirelessConfig()->setSignalStrength(signalStrength);
knownNetwork->wirelessConfig()->setOutOfRange(false);
- m_serviceModel.updated(pos);
+ m_serviceModel->updated(pos);
} else if (knownNetwork->wirelessConfig()->signalStrength() < signalStrength) {
// replace with a stronger access point within the same network
knownNetwork->wirelessConfig()->setOutOfRange(false);
@@ -405,7 +412,7 @@ void QNetworkSettingsManagerPrivate::parseScanResults(const QString &results)
knownNetwork->setFlags(info.at(3));
knownNetwork->wirelessConfig()->setSignalStrength(signalStrength);
knownNetwork->setName(ssid);
- m_serviceModel.updated(pos);
+ m_serviceModel->updated(pos);
}
}
}
@@ -414,7 +421,7 @@ void QNetworkSettingsManagerPrivate::parseScanResults(const QString &results)
for (int i = 0; i < networks.size();) {
if (!sensibleNetworks.contains(networks.at(i)->name())) {
WpaSupplicantService *n = qobject_cast<WpaSupplicantService*>(networks.at(i));
- m_serviceModel.remove(i);
+ m_serviceModel->remove(i);
if (n) {
n->wirelessConfig()->setOutOfRange(true);
m_outOfRangeServiceModel.append(n);
diff --git a/src/networksettings/wpasupplicant/qnetworksettingsmanager_p.h b/src/networksettings/wpasupplicant/qnetworksettingsmanager_p.h
index 572166e..d042ece 100644
--- a/src/networksettings/wpasupplicant/qnetworksettingsmanager_p.h
+++ b/src/networksettings/wpasupplicant/qnetworksettingsmanager_p.h
@@ -51,6 +51,7 @@ public:
void disconnectNetwork();
QString call(const QString &command);
bool checkedCall(const QString &command);
+ QNetworkSettingsUserAgent *getUserAgent() {return m_agent;}
protected:
bool event(QEvent *event);
@@ -73,11 +74,11 @@ private:
WpaSupplicantService* outOfRangeListContains(const QString& ssid);
QNetworkSettingsInterfaceModel m_interfaceModel;
- QNetworkSettingsServiceModel m_serviceModel;
+ QNetworkSettingsServiceModel *m_serviceModel;
QNetworkSettingsServiceModel m_outOfRangeServiceModel;
- QNetworkSettingsServiceFilter m_serviceFilter;
+ QNetworkSettingsServiceFilter *m_serviceFilter;
QWifiController *m_wifiController;
- QNetworkSettingsUserAgent *m_agent; //Not owned
+ QNetworkSettingsUserAgent *m_agent;
QWifiController::BackendState m_backendState;
QString m_currentSSID;
diff --git a/src/networksettings/wpasupplicant/qnetworksettingsservice_p.cpp b/src/networksettings/wpasupplicant/qnetworksettingsservice_p.cpp
index 30fcacd..974f85b 100644
--- a/src/networksettings/wpasupplicant/qnetworksettingsservice_p.cpp
+++ b/src/networksettings/wpasupplicant/qnetworksettingsservice_p.cpp
@@ -78,7 +78,7 @@ void QNetworkSettingsServicePrivate::setupIpv4Config()
}
WpaSupplicantService::WpaSupplicantService(QNetworkSettingsManagerPrivate* manager, QObject* parent)
- :QNetworkSettingsService("", parent)
+ :QNetworkSettingsService(QStringLiteral(""), parent)
{
Q_D(QNetworkSettingsService);
d->setManager(manager);
@@ -101,13 +101,13 @@ void WpaSupplicantService::setFlags(const QString& aFlags)
{
Q_D(QNetworkSettingsService);
- if (aFlags.contains("WPA-")) {
+ if (aFlags.contains(QStringLiteral("WPA-"))) {
d->m_wifiConfig.setSecurity(QNetworkSettingsWireless::WPA);
}
- if (aFlags.contains("WPA2-")) {
+ if (aFlags.contains(QStringLiteral("WPA2-"))) {
d->m_wifiConfig.setSecurity(QNetworkSettingsWireless::WPA2);
}
- if (aFlags.contains("WEP-")) {
+ if (aFlags.contains(QStringLiteral("WEP-"))) {
d->m_wifiConfig.setSecurity(QNetworkSettingsWireless::WEP);
}
}