summaryrefslogtreecommitdiffstats
path: root/tests/manual/networkmanager/nmview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/manual/networkmanager/nmview.cpp')
-rw-r--r--tests/manual/networkmanager/nmview.cpp1028
1 files changed, 0 insertions, 1028 deletions
diff --git a/tests/manual/networkmanager/nmview.cpp b/tests/manual/networkmanager/nmview.cpp
deleted file mode 100644
index 9e28ff0..0000000
--- a/tests/manual/networkmanager/nmview.cpp
+++ /dev/null
@@ -1,1028 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "nmview.h"
-
-#include <QLabel>
-#include <QLayout>
-#include <QListWidget>
-#include <QDebug>
-#include <QPushButton>
-
-#include <QtDBus>
-#include <QtNetwork>
-#include <NetworkManager/NetworkManager.h>
-#include <arpa/inet.h>
-
-#include <QDBusConnection>
-#include <QDBusError>
-#include <QDBusInterface>
-#include <QDBusMessage>
-#include <QDBusReply>
-
-#include <QHostAddress>
-#include <QNetworkInterface>
-#include <QTreeWidgetItem>
-#include <QMessageBox>
-
-//#include "ui_dialog.h"
-
-#include <qnetworkconfiguration.h>
-#include <qnetworkconfigmanager.h>
-#include <qnetworksession.h>
-#include <QtNetwork/private/qnetworkmanagerservice_p.h>
-
-//static QDBusConnection dbc = QDBusConnection::systemBus();
-//typedef QMap< QString, QMap<QString,QVariant> > SettingsMap;
-//Q_DECLARE_METATYPE(SettingsMap)
-
-
-NMView::NMView(QDialog* parent)
- : QDialog(parent, 0), dbc(QDBusConnection::systemBus())
-{
- init();
-
- if (!dbc.isConnected()) {
- qWarning() << "Unable to connect to D-Bus:" << dbc.lastError();
- return;
- }
- updateConnections();
- getDevices();
-}
-
-NMView::~NMView()
-{
-}
-void NMView::init()
-{
- setupUi(this);
- sess = 0;
-// readSettings();
- connect(startButton, SIGNAL(clicked()), this, SLOT(activate()));
- connect(stopButton, SIGNAL(clicked()), this, SLOT(deactivate()));
- connect(scanButton, SIGNAL(clicked()), this, SLOT(findAccessPoints()));
- connect(updateButton, SIGNAL(clicked()), this, SLOT(update()));
-
- connect(cons, SIGNAL(itemActivated(QTreeWidgetItem*, int)),
- this,SLOT(connectionItemActivated(QTreeWidgetItem*, int)));
-
-
- connect(devicesTreeWidget, SIGNAL(itemActivated(QTreeWidgetItem*, int)),
- this, SLOT(deviceItemActivated(QTreeWidgetItem*, int)));
-
- cons->header()->setResizeMode(QHeaderView::ResizeToContents);
- devicesTreeWidget->header()->setResizeMode(QHeaderView::ResizeToContents);
- accessPointsTreeWidget->header()->setResizeMode(QHeaderView::ResizeToContents);
-// accessPointsTreeWidget->header()->setResizeMode(QHeaderView::ResizeToContents);
-
- manager = new QNetworkConfigurationManager(this);
-
- connect(manager, SIGNAL(updateCompleted()), this, SLOT(updateCompleted()));
-
- connect(manager, SIGNAL(configurationAdded(const QNetworkConfiguration &)),
- this, SLOT(configurationAdded(const QNetworkConfiguration&)));
-
- devicesTreeWidget->header()->hideSection(0);
- devicesTreeWidget->header()->hideSection(1);
- devicesTreeWidget->header()->hideSection(3);
- devicesTreeWidget->header()->hideSection(5);
- devicesTreeWidget->header()->hideSection(6);
- devicesTreeWidget->header()->hideSection(7);
- devicesTreeWidget->header()->hideSection(8);
- devicesTreeWidget->header()->hideSection(9);
-}
-
-void NMView::updateConnections()
-{
- cons->clear();
- manager->updateConfigurations();
- QList<QNetworkConfiguration> configs = manager->allConfigurations();
- foreach(QNetworkConfiguration p, configs) {
- QStringList strlist;
- strlist << p.name();
- strlist << stateToString(p.state());
- strlist << p.identifier();
- strlist << typeToString(p.type());
- QTreeWidgetItem *item;
- item = new QTreeWidgetItem(strlist);
- cons->insertTopLevelItem(0, item);
- }
- cons->sortItems ( 1, Qt::AscendingOrder);
-}
-
-void NMView::getActiveConnections()
-{
- QList<QNetworkConfiguration> configs = manager->allConfigurations(QNetworkConfiguration::Active);
- foreach(QNetworkConfiguration p, configs) {
- qWarning() << __FUNCTION__ << p.name() << p.identifier();
- }
-
-// QDBusInterface iface(NM_DBUS_SERVICE, NM_DBUS_PATH, NM_DBUS_INTERFACE, dbc);
-// if (!iface.isValid()) {
-// qWarning() << "Could not find NetworkManager";
-// return;
-// }
-
-// QVariant prop = iface.property("ActiveConnections");
-// QList<QDBusObjectPath> connections = prop.value<QList<QDBusObjectPath> >();
-// foreach(QDBusObjectPath path, connections) {
-// QDBusInterface conDetails(NM_DBUS_SERVICE, path.path(), NM_DBUS_INTERFACE_ACTIVE_CONNECTION, dbc);
-// if (conDetails.isValid()) {
-// QString desc = path.path();
-// conDetails.property("Connection Path").value<QDBusObjectPath>().path();
-
-// QList<QDBusObjectPath> devices = conDetails.property("Devices").value<QList<QDBusObjectPath> >();
-//
-// foreach(QDBusObjectPath devpath, devices) {
-// QDBusInterface devIface(NM_DBUS_SERVICE, devpath.path(), NM_DBUS_INTERFACE_DEVICE, dbc);
-// desc += " "+devIface.property("Interface").toString();
-// desc += " "+QHostAddress(htonl(devIface.property("Ip4Address").toUInt())).toString();
-
-// }
-
-// qWarning() << conDetails.property("Connection").value<QDBusObjectPath>().path() << path.path();
-
-// QListWidgetItem* item = new QListWidgetItem(desc, activeCons);
-// item->setData(Qt::UserRole, path.path());
-// }
-// }
-}
-
-void NMView::update()
-{
-// QNetworkManagerInterface *dbIface;
-// dbIface = new QNetworkManagerInterface;
-// QList <QDBusObjectPath> connections = dbIface->activeConnections();
-//
-// foreach(QDBusObjectPath conpath, connections) {
-// QNetworkManagerConnectionActive *aConn;
-// aConn = new QNetworkManagerConnectionActive(conpath.path());
-// // in case of accesspoint, specificObject will hold the accessPOintObjectPath
-// qWarning() << aConn->connection().path() << aConn->specificObject().path() << aConn->devices().count();
-// QList <QDBusObjectPath> devs = aConn->devices();
-// foreach(QDBusObjectPath device, devs) {
-// qWarning() << " " << device.path();
-// }
-// }
-
- QStringList connectionServices;
- connectionServices << NM_DBUS_SERVICE_SYSTEM_SETTINGS;
- connectionServices << NM_DBUS_SERVICE_USER_SETTINGS;
- foreach (QString service, connectionServices) {
- QDBusInterface allCons(service,
- NM_DBUS_PATH_SETTINGS,
- NM_DBUS_IFACE_SETTINGS,
- dbc);
- if (allCons.isValid()) {
- QDBusReply<QList<QDBusObjectPath> > reply = allCons.call("ListConnections");
- if ( reply.isValid() ) {
- QList<QDBusObjectPath> list = reply.value();
- foreach(QDBusObjectPath path, list) {
- QDBusInterface sysIface(service,
- path.path(),
- NM_DBUS_IFACE_SETTINGS_CONNECTION,
- dbc);
- if (sysIface.isValid()) {
- qWarning() << "";
- qWarning() << path.path();
-
- // QDBusMessage r = sysIface.call("GetSettings");
- QDBusReply< QNmSettingsMap > rep = sysIface.call("GetSettings");
-
- QMap< QString, QMap<QString,QVariant> > map = rep.value();
- QList<QString> list = map.keys();
- foreach (QString key, list) {
- QMap<QString,QVariant> innerMap = map[key];
- qWarning() << " Key: " << key;
- QMap<QString,QVariant>::const_iterator i = innerMap.constBegin();
-
- while (i != innerMap.constEnd()) {
- QString k = i.key();
- qWarning() << " Key: " << k << " Entry: " << i.value();
- i++;
- }//end innerMap
- }//end foreach key
- }//end settings connection
- } // foreach path
- } //end ListConnections
- } //end settingsInterface
- }// end services
- QDBusInterface iface(NM_DBUS_SERVICE,
- NM_DBUS_PATH,
- NM_DBUS_INTERFACE,
- dbc);
- if (iface.isValid()) {
- QVariant prop = iface.property("ActiveConnections");
- QList<QDBusObjectPath> connections = prop.value<QList<QDBusObjectPath> >();
- foreach(QDBusObjectPath conpath, connections) {
- qWarning() << "Active connection" << conpath.path();
- QDBusInterface conDetails(NM_DBUS_SERVICE,
- conpath.path(),
- NM_DBUS_INTERFACE_ACTIVE_CONNECTION,
- dbc);
- if (conDetails.isValid()) {
-
- QVariant prop = conDetails.property("Connection");
- QDBusObjectPath connection = prop.value<QDBusObjectPath>();
- qWarning() << conDetails.property("Default").toBool() << connection.path();
-
-// QVariant Sprop = conDetails.property("Devices");
-// QList<QDBusObjectPath> so = Sprop.value<QList<QDBusObjectPath> >();
-// foreach(QDBusObjectPath device, so) {
-// if(device.path() == devicePath) {
-// path = connection.path();
-// }
-// break;
-// }
- }
- }
- }
-qWarning() << "";
-}
-
-void NMView::deactivate()
-{
- QList<QNetworkConfiguration> configs = manager->allConfigurations(QNetworkConfiguration::Active);
- foreach(QNetworkConfiguration p, configs) {
- qWarning() << "Active cons" << p.name();
- if(p.name() == cons->currentItem()->text(0)
- && p.identifier() == cons->currentItem()->text(2)) {
- qWarning() <<__FUNCTION__<< p.name();
- if(!sess) {
- sess = new QNetworkSession(p);
-
- connect(sess, SIGNAL(stateChanged(QNetworkSession::State)),
- this, SLOT(stateChanged(QNetworkSession::State)));
-
- connect(sess, SIGNAL(error(QNetworkSession::SessionError)),
- this, SLOT(networkSessionError(QNetworkSession::SessionError)));
- }
- sess->close();
- delete sess;
- sess = 0;
- }
- }
-}
-
-void NMView::activate()
-{
- qWarning() << __FUNCTION__ << cons->currentItem()->text(0);
-
- QList<QNetworkConfiguration> configs = manager->allConfigurations();
- foreach(QNetworkConfiguration p, configs) {
- if(p.name() == cons->currentItem()->text(0)) {
-
- sess = new QNetworkSession(p);
-
- connect(sess, SIGNAL(newConfigurationActivated()),
- this, SLOT(getActiveConnections()));
-
- connect(sess, SIGNAL(stateChanged(QNetworkSession::State)),
- this, SLOT(stateChanged(QNetworkSession::State)));
-
- connect(sess, SIGNAL(error(QNetworkSession::SessionError)),
- this, SLOT(networkSessionError(QNetworkSession::SessionError)));
-
- sess->open();
- }
- }
-}
-
-void NMView::getDevices()
-{
- qWarning() << "";
- qWarning() << __FUNCTION__;
- devicesTreeWidget->clear();
- //qDBusRegisterMetaType<SettingsMap>();
-
- if (!dbc.isConnected()) {
- qWarning() << "Unable to connect to D-Bus:" << dbc.lastError();
- return;
- }
- QDBusInterface iface(NM_DBUS_SERVICE,
- NM_DBUS_PATH,
- NM_DBUS_INTERFACE,
- dbc);
-//NetworkManager interface
- if (!iface.isValid()) {
- qWarning() << "Could not find NetworkManager";
- return;
- }
-
-// uint state = iface.property("State").toUInt();
-// switch(state) {
-// case NM_STATE_UNKNOWN:
-// qWarning() << "State: Unknown"; break;
-// case NM_STATE_ASLEEP:
-// qWarning() << "State: Asleep"; break;
-// case NM_STATE_CONNECTING:
-// qWarning() << "State: Connecting"; break;
-// case NM_STATE_CONNECTED:
-// qWarning() << "State: Connected"; break;
-// case NM_STATE_DISCONNECTED:
-// qWarning() << "State: Disconnected"; break;
-// }
-
- //get list of network devices
- QTreeWidgetItem *item;
- QDBusReply<QList<QDBusObjectPath> > reply = iface.call("GetDevices");
- if ( reply.isValid() ) {
-// qWarning() << "Current devices:";
- QList<QDBusObjectPath> list = reply.value();
- foreach(QDBusObjectPath path, list) {
- QStringList devicesList;
- qWarning() << " " << path.path();
- devicesList << path.path();
-
- QDBusInterface devIface(NM_DBUS_SERVICE,
- path.path(),
- NM_DBUS_INTERFACE_DEVICE,
- dbc);
- if (devIface.isValid()) {
-
-
-
- ////// connect the dbus signal
-// /*if(*/dbc.connect(NM_DBUS_SERVICE,
-// path.path(),
-// NM_DBUS_INTERFACE_DEVICE,
-// "StateChanged",
-// this,SLOT(deviceStateChanged(quint32)));
-// {
-// qWarning() << "XXXXXXXXXX dbus connect successful" << path.path();
-// }
-
-
- // qWarning() << " Managed: " << devIface.property("Managed").toBool();
- devicesList << devIface.property("Managed").toString();
- // qWarning() << " Interface: " << devIface.property("Interface").toString();
- devicesList << devIface.property("Interface").toString();
- // qWarning() << " HAL UDI: " << devIface.property("Udi").toString();
- // qWarning() << " Driver: " << devIface.property("Driver").toString();
- devicesList << devIface.property("Driver").toString();
-
- QString x = deviceTypeToString(devIface.property("DeviceType").toUInt());
- // qWarning() << " Type:" << x;
- devicesList << x;
-
- if( devIface.property("DeviceType").toUInt() == DEVICE_TYPE_802_11_WIRELESS) {
- qWarning() << "Device is WIFI";
- // // findAccessPoints(path.path());
- }
-
- QVariant v = devIface.property("State");
- x = deviceStateToString(v.toUInt());
-// qWarning() << " State:" << x;
- devicesList << x;
-
- quint32 ip = devIface.property("Ip4Address").toUInt();
-// qWarning() << " IP4Address: " << QHostAddress(htonl(ip)).toString();
- devicesList << QHostAddress(htonl(ip)).toString();
-
-
- if (v.toUInt() == NM_DEVICE_STATE_ACTIVATED) {
- QString path = devIface.property("Ip4Config").value<QDBusObjectPath>().path();
-// qWarning() << " IP4Config: " << path;
- devicesList << path;
- QDBusInterface ipIface(NM_DBUS_SERVICE,
- path,
- NM_DBUS_INTERFACE_IP4_CONFIG,
- dbc);
- if (ipIface.isValid()) {
- // qWarning() << " Hostname: " << ipIface.property("Hostname").toString();
- devicesList << ipIface.property("Hostname").toString();
-// qWarning() << " Domains: " << ipIface.property("Domains").toStringList();
- devicesList << ipIface.property("Domains").toStringList().join(", ");
-// qWarning() << " NisDomain: " << ipIface.property("NisDomain").toString();
- QDBusArgument arg= ipIface.property("Addresses").value<QDBusArgument>();
-// qWarning() << " Addresses: " << ipIface.property("Addresses");
-// qWarning() << " Nameservers: " << ipIface.property("Nameservers");
-// qWarning() << " NisServers: " << ipIface.property("NisServers");
- }
-
- }
-
- }
- item = new QTreeWidgetItem(devicesList);
- devicesTreeWidget->insertTopLevelItem(0, item);
- }
- }
-
-
-// netconfig();
-
-}
-
-void NMView::readSettings()
-{
- QDBusInterface settingsiface(NM_DBUS_SERVICE_SYSTEM_SETTINGS,
- NM_DBUS_PATH_SETTINGS,
- NM_DBUS_IFACE_SETTINGS,
- dbc);
- //NetworkManagerSettings interface
- if (settingsiface.isValid()) {
- QDBusReply<QList<QDBusObjectPath> > reply = settingsiface.call("ListConnections");
- if ( reply.isValid() ) {
- QList<QDBusObjectPath> list = reply.value();
- foreach(QDBusObjectPath path, list) {
- qWarning() <<__FUNCTION__ << path.path();
-
- }
- }
- }
-
- QDBusInterface iface(NM_DBUS_SERVICE, NM_DBUS_PATH, NM_DBUS_INTERFACE, dbc);
- if (!iface.isValid()) {
- qWarning() << "Could not find NetworkManager";
- return;
- }
-
- // QStringList list = item->text().split(" -> ");
-
- QVariant prop = iface.property("ActiveConnections");
- QList<QDBusObjectPath> connections = prop.value<QList<QDBusObjectPath> >();
- foreach(QDBusObjectPath path, connections) {
- QDBusInterface conDetails(NM_DBUS_SERVICE,
- path.path(),
- NM_DBUS_INTERFACE_ACTIVE_CONNECTION,
- dbc);
-
- if (conDetails.isValid()) {
- QString desc = path.path();
- qWarning() << desc;
- //if ( item->text(0) == conDetails.property("Connection").value<QDBusObjectPath>().path() ) {
- // QListWidgetItem* item = new QTreeWidgetItem( desc,
- // cons);
- // item->setData(Qt::UserRole, desc);
- // activeItemActivated( item );
- //}
- }
- }
-}
-
-void NMView::printConnectionDetails(const QString& service)
-{
- Q_UNUSED(service);
-
-//
-// qWarning() << __FUNCTION__ << service;
-//
-// QDBusConnection dbc = QDBusConnection::systemBus();
-// if (!dbc.isConnected()) {
-// qWarning() << "Unable to connect to D-Bus:" << dbc.lastError();
-// return;
-// }
-// QDBusInterface allCons(service,
-// NM_DBUS_PATH_SETTINGS,
-// NM_DBUS_IFACE_SETTINGS,
-// dbc);
-//
-// if (allCons.isValid()) {
-// QDBusReply<QList<QDBusObjectPath> > reply = allCons.call("ListConnections");
-//
-// if ( reply.isValid() ) {
-// qWarning() << "Known connections:";
-// QList<QDBusObjectPath> list = reply.value();
-//
-// foreach(QDBusObjectPath path, list) {
-// qWarning() << " " << path.path();
-//
-// QDBusInterface sysIface(NM_DBUS_SERVICE_SYSTEM_SETTINGS,
-// path.path(),
-// NM_DBUS_IFACE_SETTINGS_CONNECTION,
-// dbc);
-//
-// if (sysIface.isValid()) {
-// QDBusMessage r = sysIface.call("GetSettings");
-// QDBusReply< QSettingsMap > rep = sysIface.call("GetSettings");
-//
-// qWarning() << " GetSettings:" << r.arguments() << r.signature() << rep.isValid() << sysIface.lastError();
-//
-// QMap< QString, QMap<QString,QVariant> > map = rep.value();
-// QList<QString> list = map.keys();
-//
-// foreach (QString key, list) {
-// QMap<QString,QVariant> innerMap = map[key];
-// qWarning() << " Key: " << key;
-// QMap<QString,QVariant>::const_iterator i = innerMap.constBegin();
-//
-// while (i != innerMap.constEnd()) {
-// QString k = i.key();
-// qWarning() << " Key: " << k << " Entry: " << i.value();
-//
-// if (k == "addresses" && i.value().canConvert<QDBusArgument>()) {
-// QDBusArgument arg = i.value().value<QDBusArgument>();
-// arg.beginArray();
-//
-// while (!arg.atEnd()) {
-// QDBusVariant addr;
-// arg >> addr;
-// uint ip = addr.variant().toUInt();
-// qWarning() << ip;
-// qWarning() << " " << QHostAddress(htonl(ip)).toString();
-// }
-//
-// }
-// i++;
-// }
-// }
-// }
-// }
-// }
-// }
- qWarning() << "";
-}
-
-void NMView::getNetworkDevices()
-{
-
-}
-
-void NMView::connectionItemActivated( QTreeWidgetItem * item, int col )
-{
- Q_UNUSED(col);
-
- qWarning() <<__FUNCTION__<< item->text(0);
- QDBusInterface iface(NM_DBUS_SERVICE,
- NM_DBUS_PATH,
- NM_DBUS_INTERFACE,
- dbc);
- if (!iface.isValid()) {
- qWarning() << "Could not find NetworkManager";
- return;
- }
- QVariant prop = iface.property("ActiveConnections");
- QList<QDBusObjectPath> connections = prop.value<QList<QDBusObjectPath> >();
- foreach(QDBusObjectPath path, connections) {
- QDBusInterface conDetails(NM_DBUS_SERVICE,
- path.path(),
- NM_DBUS_INTERFACE_ACTIVE_CONNECTION,
- dbc);
-
- if (conDetails.isValid()) {
- QString desc = path.path();
- qWarning() << desc;
- if ( item->text(0) == conDetails.property("Connection").value<QDBusObjectPath>().path() ) {
-// QListWidgetItem* item = new QTreeWidgetItem( desc,
-// cons);
-// item->setData(Qt::UserRole, desc);
-// activeItemActivated( item );
- }
- }
- }
-}
-
-
-
-void NMView::deviceItemActivated( QTreeWidgetItem * item , int section)
-{
- Q_UNUSED(item);
- Q_UNUSED(section);
-
- // qWarning() << item->text(section) << item->text(4);
- //if(item->text(4) == "Wireless") findAccessPoints(item->text(0));
-}
-
-
-void NMView::netconfig()
-{
-// qWarning() << __FUNCTION__;
-
-// qDBusRegisterMetaType<SettingsMap>();
- QDBusConnection dbc = QDBusConnection::systemBus();
- if (!dbc.isConnected()) {
- qWarning() << "Unable to connect to D-Bus:" << dbc.lastError();
- return;
- }
-
- QDBusInterface iface(NM_DBUS_SERVICE,
- NM_DBUS_PATH,
- NM_DBUS_IFACE_SETTINGS_CONNECTION,
- dbc);
- if (!iface.isValid()) {
- qWarning() << "Could not find NetworkManager Settings";
- return;
- } else {
- QDBusReply<QList<QDBusObjectPath> > reply = iface.call("ListConnections");
- QList<QDBusObjectPath> list = reply.value();
-// qWarning() << reply.value();
- foreach(QDBusObjectPath path, list) {
- qWarning() << " " << path.path();
- }
- }
-}
-
-
-void NMView::findAccessPoints()
-{
- accessPointsTreeWidget->clear();
-
- QDBusInterface iface(NM_DBUS_SERVICE,
- NM_DBUS_PATH,
- NM_DBUS_INTERFACE,
- dbc);
-
- QDBusReply<QList<QDBusObjectPath> > reply = iface.call("GetDevices");
- if ( reply.isValid() ) {
- QList<QDBusObjectPath> list = reply.value();
- foreach(QDBusObjectPath path, list) {
- QDBusInterface devIface(NM_DBUS_SERVICE,
- path.path(),
- NM_DBUS_INTERFACE_DEVICE,
- dbc);
- if (devIface.isValid()) {
-
- if( devIface.property("DeviceType").toUInt() == DEVICE_TYPE_802_11_WIRELESS) {
-
-// qWarning() <<"deviface"<< devIface.path();
- QDBusInterface wififace(NM_DBUS_SERVICE,
- devIface.path(),
- NM_DBUS_INTERFACE_DEVICE_WIRELESS,
- dbc);
- if (!wififace.isValid()) {
- qWarning() << "Could not find NetworkManager wireless interface";
- return;
- }
-
-/////////////////////////
-// if(dbc.connect(NM_DBUS_SERVICE,
-// path.path(),
-// NM_DBUS_INTERFACE_DEVICE_WIRELESS,
-// "PropertiesChanged",
-// this,SLOT(aPPropertiesChanged( QMap<QString,QVariant>))) ) {
-// qWarning() << "PropertiesChanged connect";
-// } else {
-// qWarning() << "NOT connect";
-
-// }
-/////////////////////////
- qWarning() <<"wififace"<< wififace.path();
- QDBusReply<QList<QDBusObjectPath> > reply2 = wififace.call("GetAccessPoints");
- if ( reply2.isValid() ) {
- QTreeWidgetItem *item;
- QList<QDBusObjectPath> list2 = reply2.value();
- foreach(QDBusObjectPath path2, list2) {
- QDBusInterface accessPointIface(NM_DBUS_SERVICE,
- path2.path(),
- NM_DBUS_INTERFACE_ACCESS_POINT,
- dbc);
- if (accessPointIface.isValid()) {
-//// qWarning() <<"path2" << path2.path();
-
-// if(dbc.connect(NM_DBUS_SERVICE, //signal strength
-// path2.path(),
-// NM_DBUS_INTERFACE_ACCESS_POINT,
-// "PropertiesChanged",
-// this,SLOT(aPPropertiesChanged( QMap<QString,QVariant>))) ) {
-// qWarning() << "PropertiesChanged connect";
-// } else {
-// qWarning() << "NOT connect";
-//
-// }
-
- QStringList accessPoints;
- accessPoints << accessPointIface.property("Ssid").toString();
- accessPoints << QString::number(accessPointIface.property("Strength").toInt());
- accessPoints << securityCapabilitiesToString(accessPointIface.property("WpaFlags" ).toInt());
- accessPoints << securityCapabilitiesToString(accessPointIface.property("RsnFlags" ).toInt());
- accessPoints << accessPointIface.property("Frequency" ).toString();
- accessPoints << accessPointIface.property("HwAddress" ).toString();
- accessPoints << deviceModeToString(accessPointIface.property("Mode" ).toInt());
- accessPoints << accessPointIface.property("MaxBitrate" ).toString();
- //HwAddress
- // if(accessPointIface.property("Flags" ).toInt() == NM_802_11_AP_FLAGS_PRIVACY ) {
- // qWarning() << "Secure";
- // }
- item = new QTreeWidgetItem(accessPoints);
- accessPointsTreeWidget->insertTopLevelItem(0, item);
- }
- }
- }
- }
- }
- }
- }
-}
-
-QString NMView::deviceStateToString(int state)
-{
- QString ret;
- switch(state) {
- case NM_DEVICE_STATE_UNKNOWN:
- ret = "Unknown";
- break;
- case NM_DEVICE_STATE_UNMANAGED:
- ret = "Unmanaged";
- break;
- case NM_DEVICE_STATE_UNAVAILABLE:
- ret = "Unavailable";
- break;
- case NM_DEVICE_STATE_DISCONNECTED:
- ret = "Disconnected";
- break;
- case NM_DEVICE_STATE_PREPARE:
- ret = "Preparing to connect";
- break;
- case NM_DEVICE_STATE_CONFIG:
- ret = "Being configured";
- break;
- case NM_DEVICE_STATE_NEED_AUTH:
- ret = "Awaiting secrets";
- break;
- case NM_DEVICE_STATE_IP_CONFIG:
- ret = "IP requested";
- break;
- case NM_DEVICE_STATE_ACTIVATED:
- ret = "Activated";
- break;
- case NM_DEVICE_STATE_FAILED:
- ret = "FAILED";
- break;
- };
- return ret;
-}
-
-QString NMView::deviceTypeToString(int device)
-{
- QString ret;
- switch(device) {
- case DEVICE_TYPE_UNKNOWN:
- ret = "Unknown";
- break;
- case DEVICE_TYPE_802_3_ETHERNET:
- ret = "Ethernet";
- break;
- case DEVICE_TYPE_802_11_WIRELESS:
- ret = "Wireless";
- break;
- case DEVICE_TYPE_GSM:
- ret = "GSM";
- break;
- case DEVICE_TYPE_CDMA:
- ret = "CDMA";
- break;
- };
- return ret;
-}
-
-QString NMView::securityCapabilitiesToString(int caps)
-{
- int check = caps;
-// qWarning() << __FUNCTION__<< caps;
- QString ret;
- if( check == 0 )
- ret += "None.";
- if( (check & NM_802_11_AP_SEC_PAIR_WEP40))
- ret += " 40-bit WEP encryption. ";
- if( (check & NM_802_11_AP_SEC_PAIR_WEP104) )
- ret += " 104-bit WEP encryption. ";
- if( (check & NM_802_11_AP_SEC_PAIR_TKIP) )
- ret += " TKIP encryption. ";
- if( (check & NM_802_11_AP_SEC_PAIR_CCMP) )
- ret += " CCMP encryption. ";
- if( (check & NM_802_11_AP_SEC_GROUP_WEP40))
- ret += " 40-bit WEP cipher. ";
- if( (check & NM_802_11_AP_SEC_GROUP_WEP104))
- ret += " 104-bit WEP cipher. ";
- if( (check & NM_802_11_AP_SEC_GROUP_TKIP) )
- ret += " TKIP cipher. ";
- if( (check & NM_802_11_AP_SEC_GROUP_CCMP) )
- ret += " CCMP cipher. ";
- if( (check & NM_802_11_AP_SEC_KEY_MGMT_PSK))
- ret += " PSK key management. ";
- if( (check & NM_802_11_AP_SEC_KEY_MGMT_802_1X) )
- ret += " 802.1x key management. ";
- return ret;
-}
-
-QString NMView::deviceModeToString(int mode)
-{
- QString ret;
- switch (mode) {
- case NM_802_11_MODE_UNKNOWN:
- ret = "Unknown";
- break;
- case NM_802_11_MODE_ADHOC:
- ret = " (Adhoc).";
- break;
- case NM_802_11_MODE_INFRA:
- ret = " (Infrastructure)";
- };
- return ret;
-}
-
-void NMView::netManagerState(quint32 state)
-{
- qWarning() << __FUNCTION__ << state;// << old << reason;
- switch(state) {
- case NM_STATE_UNKNOWN:
- qWarning() << "The NetworkManager daemon is in an unknown state. ";
- break;
- case NM_STATE_ASLEEP:
- qWarning() << "The NetworkManager daemon is asleep and all interfaces managed by it are inactive. ";
- break;
- case NM_STATE_CONNECTING:
- qWarning() << "The NetworkManager daemon is connecting a device. FIXME: What does this mean when one device is active and another is connecting? ";
- break;
- case NM_STATE_CONNECTED:
- qWarning() <<"The NetworkManager daemon is connected. ";
- break;
- case NM_STATE_DISCONNECTED:
- qWarning() << "The NetworkManager daemon is disconnected.";
- break;
-
- };
-}
-
-void NMView::deviceStateChanged(quint32 state)
-{
- qWarning() << __FUNCTION__ << state;
- switch(state) {
- case NM_DEVICE_STATE_UNKNOWN :
- qWarning() <<"The device is in an unknown state. ";
- break;
- case NM_DEVICE_STATE_UNMANAGED:
- qWarning() <<"The device is not managed by NetworkManager.";
- break;
- case NM_DEVICE_STATE_UNAVAILABLE:
- qWarning() <<"The device cannot be used (carrier off, rfkill, etc).";
- break;
- case NM_DEVICE_STATE_DISCONNECTED:
- qWarning() <<"The device is not connected.";
- break;
- case NM_DEVICE_STATE_PREPARE:
- qWarning() <<"The device is preparing to connect.";
- break;
- case NM_DEVICE_STATE_CONFIG:
- qWarning() <<"The device is being configured.";
- break;
- case NM_DEVICE_STATE_NEED_AUTH:
- qWarning() <<"The device is awaiting secrets necessary to continue connection.";
- break;
- case NM_DEVICE_STATE_IP_CONFIG:
- qWarning() <<"The IP settings of the device are being requested and configured.";
- break;
- case NM_DEVICE_STATE_ACTIVATED:
- qWarning() <<"The device is active.";
- break;
- case NM_DEVICE_STATE_FAILED:
- qWarning() <<"The device is in a failure state following an attempt to activate it.";
- break;
- };
-}
-
-void NMView::updateCompleted()
-{
- qWarning() << __FUNCTION__;
-}
-
-void NMView::newConfigurationActivated()
-{
- qWarning() << __FUNCTION__;
- getActiveConnections();
-}
-
-void NMView::stateChanged(QNetworkSession::State state)
-{
- // QString stateStringstr;
- switch (state) {
- case QNetworkSession::Invalid:
- stateString = "Invalid session";
- break;
- case QNetworkSession::NotAvailable:
- stateString = "Session is defined but not yet discovered";
- break;
- case QNetworkSession::Connecting:
- stateString = "Session is being established";
- break;
- case QNetworkSession::Connected:
- stateString = "Session is active and can be used for socket operations";
- cons->currentItem()->setText(1, "Active");
- break;
- case QNetworkSession::Closing:
- stateString = "Session is being shutdown";
- break;
- case QNetworkSession::Disconnected:
- qWarning() << __FUNCTION__;
- manager->updateConfigurations();
- stateString = "Session disconnected";
- cons->currentItem()->setText(1,"Discovered") ;
- break;
- case QNetworkSession::Roaming:
- stateString = "session is roaming from one AP to another";
- break;
- };
- qWarning() << __FUNCTION__ << state << stateString;
-}
-
-QString NMView::stateToString(int state)
-{
- switch (state) {
- case QNetworkConfiguration::Undefined:
- return "Undefined";
- break;
- case QNetworkConfiguration::Defined:
- return "Defined";
- break;
- case QNetworkConfiguration::Discovered:
- return "Discovered";
- break;
- case QNetworkConfiguration::Active:
- return "Active";
- break;
- };
- return "";
-}
-
-void NMView::configurationAdded(const QNetworkConfiguration &config)
-{
- qWarning() << __FUNCTION__<< config.name() << config.identifier();
-}
-
-QString NMView::typeToString(int type)
-{
- switch(type) {
- case QNetworkConfiguration::InternetAccessPoint:
- return "Internet AccessPoint";
- break;
- case QNetworkConfiguration::ServiceNetwork:
- return "Service Network";
- break;
- };
- return QString();
-}
-
-void NMView::aPPropertiesChanged( QMap<QString,QVariant> map)
-{
- //QMap<QString, QVariant>::const_iterator iterator = d->values.find(type + QLatin1String("Path"))
- QMapIterator<QString, QVariant> i(map);
- while (i.hasNext()) {
- i.next();
- if( i.key() == "State") {
- qWarning() << __FUNCTION__ << i.key() << ": " << i.value().toUInt();
-// deviceStateChanged(i.value().toUInt());
- } else if( i.key() == "ActiveAccessPoint") {
- qWarning() << __FUNCTION__ << i.key() << ": " << i.value().value<QDBusObjectPath>().path();
- } else if( i.key() == "Strength")
- qWarning() << __FUNCTION__ << i.key() << ": " << i.value().toUInt();
- else
- qWarning() << __FUNCTION__ << i.key() << ": " << i.value();
- }
-}
-
-void NMView::networkSessionError(QNetworkSession::SessionError error)
-{
- QString errorStr;
- switch(error) {
- case QNetworkSession::RoamingError:
- errorStr = "Roaming error";
- break;
- case QNetworkSession::SessionAbortedError:
- errorStr = "Session aborted by user or system";
- break;
- default:
- case QNetworkSession::UnknownSessionError:
- errorStr = "Unidentified Error";
- break;
- };
-
- QMessageBox::warning(this, tr("NMView"), errorStr, QMessageBox::Ok);
-}