diff options
author | Raquel Medina <raquel.medina@konsulko.com> | 2019-06-17 19:39:23 +0200 |
---|---|---|
committer | raquel medina <raquel.medina@konsulko.com> | 2019-06-18 11:20:43 +0000 |
commit | e89c4886888a322a21cf7c89c1ee2864dbb4e815 (patch) | |
tree | 1f943c3afd60bf56f79d4e28803ffe1aca55f654 /network/networkadapter.cpp | |
parent | 9d896c9c8f5622370362091f38bbc5d1f4189901 (diff) |
network: add wired adapter & model
-Add WiredAdapter implementation
-Add WiredNetworkModel implementation
Bug-AGL: SPEC-2293
Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
Change-Id: Ibed93ae3a3cca1bc8e7a23c872c7ab3b8271e586
Diffstat (limited to 'network/networkadapter.cpp')
-rw-r--r-- | network/networkadapter.cpp | 111 |
1 files changed, 0 insertions, 111 deletions
diff --git a/network/networkadapter.cpp b/network/networkadapter.cpp deleted file mode 100644 index 6cfb9be..0000000 --- a/network/networkadapter.cpp +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Copyright (C) 2019 Konsulko Group - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include <QMetaEnum> -#include <QSortFilterProxyModel> -#include <QtQml/QQmlEngine> - -#include "network.h" -#include "networkadapter.h" -#include "wifinetworkmodel.h" -#include "connectionprofile.h" - -WifiAdapter::WifiAdapter(Network *network, QQmlContext *context, QObject *parent) : - QObject(parent), - AdapterIf(), - m_wifiConnected(false), - m_wifiEnabled(false), - m_wifiStrength(0), - m_model(nullptr), - nw(network) -{ - m_model = new WifiNetworkModel(); - QSortFilterProxyModel *model = new QSortFilterProxyModel(); - model->setSourceModel(m_model); - model->setSortRole(WifiNetworkModel::WifiNetworkRoles::SsidRole); - model->setSortCaseSensitivity(Qt::CaseInsensitive); - model->sort(0); - - context->setContextProperty("WifiNetworkModel", m_model); - QObject::connect(m_model, &WifiNetworkModel::strengthChanged, this, &WifiAdapter::updateWifiStrength); - context->setContextProperty("WifiAdapter", this); -} - -WifiAdapter::~WifiAdapter() -{ - delete m_model; -} - -void WifiAdapter::updateWifiStatus(QJsonObject properties) -{ - if (properties.contains("connected")) { - m_wifiConnected = properties.value("connected").toBool(); - emit wifiConnectedChanged(m_wifiConnected); - } - - if (properties.contains("powered")) { - m_wifiEnabled = properties.value("powered").toBool(); - emit wifiEnabledChanged(m_wifiEnabled); - if (m_wifiEnabled) - nw->getServices(); - } -} - -void WifiAdapter::updateWifiStrength(int strength) -{ - m_wifiStrength = strength; - emit wifiStrengthChanged(m_wifiStrength); -} - -void WifiAdapter::updateProperties(QString id, QJsonObject properties) -{ - if (m_model->getNetwork(id)) - m_model->updateProperties(id, properties); -} - -bool WifiAdapter::addService(QString id, QJsonObject properties) -{ - QString ssid = properties.value("name").toString(); - QString state = properties.value("state").toString(); - QString type = properties.value("type").toString(); - int strength = properties.value("strength").toInt(); - // Initially support only IPv4 and the first security method found - QString address = properties.value("ipv4").toObject().value("address").toString(); - QString security = properties.value("security").toArray().at(0).toString(); - - // Ignore hidden SSIDs or services already added - if (m_model->getNetwork(id) || (ssid == "")) - return false; - - // only process wifi services - if (type != getType()) - return false; - - ConnectionProfile *network = new ConnectionProfile(address, security, id, state, ssid, strength); - m_model->addNetwork(network); - - if ((state == "ready") || (state == "online")) - updateWifiStrength(strength); - - return true; -} - -void WifiAdapter::removeService(QString id) -{ - m_model->removeNetwork(m_model->getNetwork(id)); - -} - |