File indexing completed on 2024-05-12 05:36:09

0001 // SPDX-FileCopyrightText: 2023 Devin Lin <devin@kde.org>
0002 // SPDX-License-Identifier: GPL-2.0-or-later
0003 
0004 #pragma once
0005 
0006 #include <QDBusError>
0007 #include <QDBusServiceWatcher>
0008 #include <QObject>
0009 #include <QString>
0010 #include <qqmlregistration.h>
0011 
0012 class LockscreenDBusClient : public QObject
0013 {
0014     Q_OBJECT
0015     QML_ELEMENT
0016     QML_SINGLETON
0017     Q_PROPERTY(bool lockscreenActive READ lockscreenActive NOTIFY lockscreenActiveChanged);
0018 
0019 public:
0020     explicit LockscreenDBusClient(QObject *parent = nullptr);
0021 
0022     bool lockscreenActive() const;
0023 
0024 Q_SIGNALS:
0025     void lockscreenActiveChanged();
0026     void lockscreenUnlocked();
0027     void lockscreenLocked();
0028 
0029 public Q_SLOTS:
0030     void slotLockscreenActiveChanged(bool active);
0031     void dbusError(QDBusError error);
0032 
0033 private:
0034     bool m_lockscreenActive = false;
0035     bool m_firstPropertySet = false;
0036 };