File indexing completed on 2024-04-21 05:45:11

0001 /*
0002     SPDX-FileCopyrightText: 2018 Harald Sitter <sitter@kde.org>
0003     SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0004 */
0005 
0006 #include "upgraderwatcher.h"
0007 
0008 #include <QDBusConnection>
0009 #include <QDBusServiceWatcher>
0010 
0011 #include "debug.h"
0012 
0013 UpgraderWatcher *UpgraderWatcher::self()
0014 {
0015     static UpgraderWatcher watcher;
0016     return &watcher;
0017 }
0018 
0019 UpgraderWatcher::UpgraderWatcher(QObject *parent)
0020     : QObject(parent)
0021 {
0022     auto watcher = new QDBusServiceWatcher(this);
0023     watcher->setConnection(QDBusConnection::systemBus());
0024     watcher->addWatchedService(QStringLiteral("com.ubuntu.ReleaseUpgrader"));
0025     watcher->addWatchedService(QStringLiteral("com.ubuntu.ReleaseUpgrader.KDE"));
0026     connect(watcher, &QDBusServiceWatcher::serviceRegistered,
0027             this, &UpgraderWatcher::upgraderRunning);
0028     connect(watcher, &QDBusServiceWatcher::serviceUnregistered,
0029             this, &UpgraderWatcher::upgraderNotRunning);
0030     if (!NOTIFIER().isDebugEnabled()) {
0031         return;
0032     }
0033     connect(watcher, &QDBusServiceWatcher::serviceRegistered,
0034             [](const QString &service) {
0035         qCDebug(NOTIFIER) << "Service registered" << service;
0036     });
0037     connect(watcher, &QDBusServiceWatcher::serviceUnregistered,
0038             [](const QString &service) {
0039         qCDebug(NOTIFIER) << "Service unregistered" << service;
0040     });
0041 }