Question

i am trying to compile a simple Qt5.2 program wich uses libnm-qt5 & libmm-qt5 to manage connections, but when i am trying to list them with this code:

#include <arpa/inet.h>

#include <QtCore/QTextStream>

#include <NetworkManagerQt5/manager.h>
#include <NetworkManagerQt5/device.h>
#include <NetworkManagerQt5/activeconnection.h>
#include <NetworkManagerQt5/connection.h>

QString typeAsString(const int type)
{
    switch (type) {
    case 0x0: return QString("Unknown");
    case 0x1: return QString("Ethernet");
    case 0x2: return QString("Wifi");
    case 0x3: return QString("Unused1");
    case 0x4: return QString("Unused2");
    case 0x5: return QString("Bluetooth");
    case 0x6: return QString("OlpcMesh");
    case 0x7: return QString("Wimax");
    case 0x8: return QString("Modem");
    }
    return QString("Unknown");
}

int main()
{
    QTextStream qout(stdout, QIODevice::WriteOnly);

    NetworkManager::Device::List list = NetworkManager::networkInterfaces();

    foreach (NetworkManager::Device *dev, list) {
        qout << dev->uni() << "\n";

i am getting an error in QtCreator: "/home/me/Qt/5.2.1/gcc_64/include/QtCore/qglobal.h:860: error: cannot convert 'const QSharedPointer' to 'NetworkManager::Device*' in initialization for (variable = *container.i;; extension ({--container.brk; break;})) ^"

I've been searching in some repositories like tis: https://build.merproject.org/package/view_file?file=enable-contour.patch&package=plasma-mobile&project=home%3Awonko%3Apa-devel-contour-hack&rev=21 and they use:

NetworkManager::Device::List iflist = NetworkManager::networkInterfaces();
    foreach (NetworkManager::Device::Ptr iface, iflist){

}

but it gives me error too. Does anyone know the correct solution?

Thanks.

Was it helpful?

Solution

Try replacing

foreach (NetworkManager::Device *dev, list) { ... 

with this:

foreach (NetworkManager::Device::ptr dev, list) { ...
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top