summaryrefslogtreecommitdiffstats
path: root/network/wiredadapter.cpp
diff options
context:
space:
mode:
authorRaquel Medina <raquel.medina@konsulko.com>2019-09-09 00:35:55 +0200
committerraquel medina <raquel.medina@konsulko.com>2019-09-20 15:38:55 +0000
commit18dde87f580d41f6743b64b824b55d68df81aff1 (patch)
treed5666e316fc98c1d2ed70199c3309ee472c82de2 /network/wiredadapter.cpp
parentfc0369fdb69dcdcefeea80d3ddb580980e5365f4 (diff)
wired: add hooks for addressing configuration
- Add new roles to provide UI clients with the active configuration (values obtained from the stack: agl-service-network binding + connman). - Add Q_INVOKABLE methods to feed new values from the UI client. SPEC-2676 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: Id239ddc549ec8471d44d56f7631d4e9e3efda798 (cherry picked from commit 4221fd2f9e5b72090fe5c2c5f19aa16ab8bf68b8)
Diffstat (limited to 'network/wiredadapter.cpp')
-rw-r--r--network/wiredadapter.cpp21
1 files changed, 15 insertions, 6 deletions
diff --git a/network/wiredadapter.cpp b/network/wiredadapter.cpp
index 224d13a..297ba44 100644
--- a/network/wiredadapter.cpp
+++ b/network/wiredadapter.cpp
@@ -74,16 +74,25 @@ bool WiredAdapter::addService(QString id, QJsonObject properties)
if (type != getType())
return false;
- QString state = properties.value("state").toString();
- // 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 services already added
if (m_model->getNetwork(id))
return false;
- ConnectionProfile *network = new ConnectionProfile(address, security, id, state, "",0);
+ QString state = properties.value("state").toString();
+ // Initially support only IPv4 and the first security method found
+ QString security = properties.value("security").toArray().at(0).toString();
+ QJsonObject ipv4obj = properties.value("ipv4").toObject();
+ QString address = ipv4obj.value("address").toString();
+ QString netmask = ipv4obj.value("netmask").toString();
+ QString gateway = ipv4obj.value("gateway").toString();
+ QString amethod = ipv4obj.value("method").toString();
+ QString ns = properties.value("nameservers").toString();
+ QString nsmethod = (amethod == "dhcp")? "auto" : "manual";
+
+ ConnectionProfile *network = new ConnectionProfile(address, security, id,
+ state, "", 0, netmask,
+ gateway, amethod, ns,
+ nsmethod);
m_model->addNetwork(network);
return true;