diff options
author | Raquel Medina <raquel.medina@konsulko.com> | 2019-09-09 00:35:55 +0200 |
---|---|---|
committer | raquel medina <raquel.medina@konsulko.com> | 2019-09-20 15:38:55 +0000 |
commit | 18dde87f580d41f6743b64b824b55d68df81aff1 (patch) | |
tree | d5666e316fc98c1d2ed70199c3309ee472c82de2 /network/network.cpp | |
parent | fc0369fdb69dcdcefeea80d3ddb580980e5365f4 (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/network.cpp')
-rw-r--r-- | network/network.cpp | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/network/network.cpp b/network/network.cpp index 4ce701f..f7baf06 100644 --- a/network/network.cpp +++ b/network/network.cpp @@ -102,6 +102,50 @@ void Network::input(int id, QString passphrase) delete nmsg; } +void Network::configureAddress(QString service, QVariantList paramlist) +{ + NetworkMessage *nmsg = new NetworkMessage(); + QJsonObject parameter, properties; + QJsonArray values = QJsonArray::fromVariantList(paramlist); + + if (values.isEmpty() || values.count() < 4) { + qWarning("Invalid addressing params"); + return; + } + + properties.insert("method", values[0]); + properties.insert("address", values[1]); + properties.insert("netmask", values[2]); + properties.insert("gateway", values[3]); + parameter.insert("properties", properties); + parameter.insert("service", service); + + nmsg->createRequest("set_property", parameter); + m_mloop->sendMessage(nmsg); + delete nmsg; +} + +void Network::configureNameServer(QString service, QVariantList paramlist) +{ + NetworkMessage *nmsg = new NetworkMessage(); + QJsonObject parameter, properties; + QJsonArray values = QJsonArray::fromVariantList(paramlist); + + if (values.isEmpty() || values.count() < 2) { + qWarning("Invalid nameserver params"); + return; + } + + parameter.insert("service", service); + properties.insert("method", values[0]); + properties.insert("nameservers", values[1]); + parameter.insert("properties", properties); + + nmsg->createRequest("set_property", parameter); + m_mloop->sendMessage(nmsg); + delete nmsg; +} + void Network::getServices() { NetworkMessage *nmsg = new NetworkMessage(); |