File indexing completed on 2024-04-14 05:21:16
0001 /* 0002 SPDX-FileCopyrightText: 2014 Martin Gräßlin <mgraesslin@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 #pragma once 0007 0008 #include <QObject> 0009 #include <QtDBus> 0010 0011 class FakeLogindSession; 0012 0013 class FakeLogind : public QObject 0014 { 0015 Q_OBJECT 0016 Q_CLASSINFO("D-Bus Interface", "org.freedesktop.login1.Manager") 0017 public: 0018 explicit FakeLogind(QObject *parent = nullptr); 0019 ~FakeLogind() override; 0020 0021 FakeLogindSession *session() const 0022 { 0023 return m_session; 0024 } 0025 0026 public Q_SLOTS: 0027 Q_SCRIPTABLE QDBusObjectPath GetSession(const QString &session); 0028 Q_SCRIPTABLE void lock(); 0029 Q_SCRIPTABLE void unlock(); 0030 0031 private: 0032 FakeLogindSession *m_session; 0033 }; 0034 0035 class FakeLogindSession : public QObject 0036 { 0037 Q_OBJECT 0038 Q_CLASSINFO("D-Bus Interface", "org.freedesktop.login1.Session") 0039 public: 0040 explicit FakeLogindSession(const QString &path, QObject *parent = nullptr); 0041 ~FakeLogindSession() override; 0042 0043 const QString &path() 0044 { 0045 return m_path; 0046 } 0047 0048 void lock(); 0049 void unlock(); 0050 0051 Q_SIGNALS: 0052 Q_SCRIPTABLE void Lock(); 0053 Q_SCRIPTABLE void Unlock(); 0054 0055 private: 0056 QString m_path; 0057 };