summaryrefslogtreecommitdiffstats
path: root/network/network.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/network.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/network.cpp')
-rw-r--r--network/network.cpp44
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();