1 /*
2     SPDX-FileCopyrightText: 2019 Nicolas Fella <nicolas.fella@gmx.de>
3 
4     SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6 
7 #include "lockmanager.h"
8 
9 #include <QDebug>
10 
11 #if defined(Q_OS_ANDROID)
12 #include "androidlockbackend.h"
13 #elif defined(Q_OS_LINUX)
14 #include "solidlockbackend.h"
15 #endif
16 
LockManager(QObject * parent)17 LockManager::LockManager(QObject *parent)
18     : QObject(parent)
19     , m_inhibit()
20 {
21 #if defined(Q_OS_ANDROID)
22     m_backend = new AndroidLockBackend(this);
23 #elif defined(Q_OS_LINUX)
24     m_backend = new SolidLockBackend(this);
25 #endif
26 }
27 
28 LockManager::~LockManager() = default;
29 
toggleInhibitScreenLock(const QString & explanation)30 void LockManager::toggleInhibitScreenLock(const QString &explanation)
31 {
32     if (!m_backend)
33         return;
34 
35     if (m_inhibit) {
36         m_backend->setInhibitionOff();
37     } else {
38         m_backend->setInhibitionOn(explanation);
39     }
40     m_inhibit = !m_inhibit;
41 }
42