solid-networkstatus: correct connman signal connection

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2022-04-13 16:01:52 +03:00
parent 43445d0986
commit d0aa1f0c30
2 changed files with 11 additions and 4 deletions

View file

@ -27,6 +27,7 @@
// for reference:
// https://git.kernel.org/pub/scm/network/connman/connman.git/tree/doc/overview-api.txt
// https://git.kernel.org/pub/scm/network/connman/connman.git/tree/doc/manager-api.txt
#define CONNMAN_DBUS_SERVICE "net.connman"
#define CONNMAN_DBUS_PATH "/"
@ -40,8 +41,11 @@ ConnmanStatus::ConnmanStatus(QObject *parent)
m_connman(CONNMAN_DBUS_SERVICE, CONNMAN_DBUS_PATH, CONNMAN_DBUS_INTERFACE, QDBusConnection::systemBus())
{
if (isSupported()) {
connect(&m_connman, SIGNAL(PropertyChanged()), this, SLOT(connmanStateChanged()));
connmanStateChanged();
connect(
&m_connman, SIGNAL(PropertyChanged(QString,QDBusVariant)),
this, SLOT(connmanStateChanged(QString,QDBusVariant))
);
connmanStateChanged(QString(), QDBusVariant());
}
}
@ -60,8 +64,11 @@ QString ConnmanStatus::serviceName() const
return QString::fromLatin1(CONNMAN_DBUS_SERVICE);
}
void ConnmanStatus::connmanStateChanged()
void ConnmanStatus::connmanStateChanged(const QString &name, const QDBusVariant &value)
{
Q_UNUSED(name);
Q_UNUSED(value);
m_status = Solid::Networking::Unknown;
QDBusReply<ConnmanPropertiesType> reply = m_connman.call("GetProperties");
if (!reply.isValid()) {

View file

@ -38,7 +38,7 @@ public:
QString serviceName() const final;
private Q_SLOTS:
void connmanStateChanged();
void connmanStateChanged(const QString &name, const QDBusVariant &value);
private:
Solid::Networking::Status m_status;