From ff35e2d1529c4a72c32b07ceac534a9752511fd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20St=C3=BCrz?= Date: Thu, 22 Nov 2018 11:38:54 +0100 Subject: [PATCH] Fix dbus type registration --- libnymea-networkmanager/networkconnection.cpp | 9 ++++++--- libnymea-networkmanager/networkconnection.h | 2 ++ libnymea-networkmanager/networkmanager.cpp | 3 ++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/libnymea-networkmanager/networkconnection.cpp b/libnymea-networkmanager/networkconnection.cpp index a10e23c..a81a358 100644 --- a/libnymea-networkmanager/networkconnection.cpp +++ b/libnymea-networkmanager/networkconnection.cpp @@ -30,9 +30,6 @@ NetworkConnection::NetworkConnection(const QDBusObjectPath &objectPath, QObject QObject(parent), m_objectPath(objectPath) { - qRegisterMetaType("ConnectionSettings"); - qDBusRegisterMetaType(); - m_connectionInterface = new QDBusInterface(NetworkManagerUtils::networkManagerServiceString(), m_objectPath.path(), NetworkManagerUtils::connectionsInterfaceString(), QDBusConnection::systemBus(), this); if(!m_connectionInterface->isValid()) { qCWarning(dcNetworkManager()) << "Invalid connection dbus interface"; @@ -65,6 +62,12 @@ void NetworkConnection::deleteConnection() } +void NetworkConnection::registerTypes() +{ + qRegisterMetaType("ConnectionSettings"); + qDBusRegisterMetaType(); +} + /*! Returns the dbus object path of this \l{NetworkConnection}. */ QDBusObjectPath NetworkConnection::objectPath() const { diff --git a/libnymea-networkmanager/networkconnection.h b/libnymea-networkmanager/networkconnection.h index 7bbff9f..8da6d84 100644 --- a/libnymea-networkmanager/networkconnection.h +++ b/libnymea-networkmanager/networkconnection.h @@ -42,6 +42,8 @@ public: void deleteConnection(); + static void registerTypes(); + QDBusObjectPath objectPath() const; ConnectionSettings connectionSettings() const; diff --git a/libnymea-networkmanager/networkmanager.cpp b/libnymea-networkmanager/networkmanager.cpp index 212a9c2..18d7d1f 100644 --- a/libnymea-networkmanager/networkmanager.cpp +++ b/libnymea-networkmanager/networkmanager.cpp @@ -30,11 +30,12 @@ NetworkManager::NetworkManager(QObject *parent) : QObject(parent) { + NetworkConnection::registerTypes(); + // Get notification when network-manager appears/disappears on DBus m_serviceWatcher = new QDBusServiceWatcher(NetworkManagerUtils::networkManagerServiceString(), QDBusConnection::systemBus(), QDBusServiceWatcher::WatchForRegistration | QDBusServiceWatcher::WatchForUnregistration, this); connect(m_serviceWatcher, &QDBusServiceWatcher::serviceRegistered, this, &NetworkManager::onServiceRegistered); connect(m_serviceWatcher, &QDBusServiceWatcher::serviceUnregistered, this, &NetworkManager::onServiceUnregistered); - } NetworkManager::~NetworkManager()