OSDN Git Service

solsolid-networkstatus: connect to interface signals and query it only if supported
authorIvailo Monev <xakepa10@gmail.com>
Sat, 10 Jul 2021 02:09:04 +0000 (05:09 +0300)
committerIvailo Monev <xakepa10@gmail.com>
Sat, 10 Jul 2021 02:09:04 +0000 (05:09 +0300)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
solid-networkstatus/kded/wicdstatus.cpp

index 2535ea2..e13b6b0 100644 (file)
 #define WICD_DAEMON_DBUS_PATH "/org/wicd/daemon"
 #define WICD_DAEMON_DBUS_INTERFACE "org.wicd.daemon"
 
-WicdStatus::WicdStatus( QObject *parent )
-    : SystemStatusInterface( parent ),
-      m_wicd( WICD_DBUS_SERVICE,
-                 WICD_DAEMON_DBUS_PATH,
-                 WICD_DAEMON_DBUS_INTERFACE,
-                 QDBusConnection::systemBus() ),
+WicdStatus::WicdStatus(QObject *parent)
+    : SystemStatusInterface(parent),
+      m_wicd(WICD_DBUS_SERVICE, WICD_DAEMON_DBUS_PATH, WICD_DAEMON_DBUS_INTERFACE, QDBusConnection::systemBus()),
       cachedState(Solid::Networking::Unknown)
 {
     qDBusRegisterMetaType<WicdConnectionInfo>();
-    QDBusConnection::systemBus().connect(WICD_DBUS_SERVICE, WICD_DAEMON_DBUS_PATH, WICD_DAEMON_DBUS_INTERFACE,
-                                         "StatusChanged", this, SLOT(wicdStateChanged()));
-    wicdStateChanged();
+    if (isSupported()) {
+        QDBusConnection::systemBus().connect(WICD_DBUS_SERVICE, WICD_DAEMON_DBUS_PATH, WICD_DAEMON_DBUS_INTERFACE,
+            "StatusChanged", this, SLOT(wicdStateChanged()));
+        wicdStateChanged();
+    }
 }
 
 Solid::Networking::Status WicdStatus::status() const
@@ -96,7 +95,7 @@ void WicdStatus::wicdStateChanged()
         break;
     }
 
-    Q_EMIT statusChanged( status );
+    Q_EMIT statusChanged(status);
 }
 
 #include "moc_wicdstatus.cpp"