File indexing completed on 2024-04-21 05:27:32

0001 /*
0002 SPDX-FileCopyrightText: 2014 Martin Gräßlin <mgraesslin@kde.org>
0003 
0004 SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 #include "fakelogind.h"
0007 
0008 FakeLogind::FakeLogind(QObject *parent)
0009     : QObject(parent)
0010     , m_session(new FakeLogindSession(QStringLiteral("/org/freedesktop/login1/session/auto"), this))
0011 {
0012     QDBusConnection::sessionBus().registerObject(QStringLiteral("/org/freedesktop/login1"), this, QDBusConnection::ExportScriptableContents);
0013     QDBusConnection::sessionBus().registerService(QStringLiteral("org.freedesktop.login1"));
0014 }
0015 
0016 FakeLogind::~FakeLogind()
0017 {
0018     QDBusConnection::sessionBus().unregisterObject(QStringLiteral("/org/freedesktop/login1"));
0019     QDBusConnection::sessionBus().unregisterService(QStringLiteral("org.freedesktop.login1"));
0020 }
0021 
0022 QDBusObjectPath FakeLogind::GetSession(const QString &session)
0023 {
0024     Q_UNUSED(session)
0025     return QDBusObjectPath(m_session->path());
0026 }
0027 
0028 void FakeLogind::lock()
0029 {
0030     m_session->lock();
0031 }
0032 
0033 void FakeLogind::unlock()
0034 {
0035     m_session->unlock();
0036 }
0037 
0038 FakeLogindSession::FakeLogindSession(const QString &path, QObject *parent)
0039     : QObject(parent)
0040     , m_path(path)
0041 {
0042     QDBusConnection::sessionBus().registerObject(m_path, this, QDBusConnection::ExportScriptableContents);
0043 }
0044 
0045 FakeLogindSession::~FakeLogindSession()
0046 {
0047     QDBusConnection::sessionBus().unregisterObject(m_path);
0048 }
0049 
0050 void FakeLogindSession::lock()
0051 {
0052     Q_EMIT Lock();
0053 }
0054 
0055 void FakeLogindSession::unlock()
0056 {
0057     Q_EMIT Unlock();
0058 }
0059 
0060 #include "moc_fakelogind.cpp"