File indexing completed on 2024-05-12 04:45:57
0001 /* 0002 SPDX-FileCopyrightText: 2019 Nicolas Fella <nicolas.fella@gmx.de> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "lockmanager.h" 0008 0009 #include <QDebug> 0010 0011 #if defined(Q_OS_ANDROID) 0012 #include "android/androidlockbackend.h" 0013 #elif (defined Q_OS_LINUX || defined Q_OS_FREEBSD) 0014 #include "linux/solidlockbackend.h" 0015 #endif 0016 0017 LockManager::LockManager(QObject *parent) 0018 : QObject(parent) 0019 , m_inhibit() 0020 { 0021 #if defined(Q_OS_ANDROID) 0022 m_backend = new AndroidLockBackend(this); 0023 #elif defined(Q_OS_LINUX) 0024 m_backend = new SolidLockBackend(this); 0025 #endif 0026 } 0027 0028 LockManager::~LockManager() = default; 0029 0030 void LockManager::toggleInhibitScreenLock(const QString &explanation) 0031 { 0032 if (!m_backend) 0033 return; 0034 0035 if (m_inhibit) { 0036 m_backend->setInhibitionOff(); 0037 } else { 0038 m_backend->setInhibitionOn(explanation); 0039 } 0040 m_inhibit = !m_inhibit; 0041 } 0042 0043 void LockManager::setInhibitionOff() 0044 { 0045 if (!m_backend) 0046 return; 0047 qDebug() << "Set Inhibition OOFF"; 0048 m_backend->setInhibitionOff(); 0049 0050 m_inhibit = false; 0051 } 0052 0053 void LockManager::setInhibitionOn(const QString &explanation) 0054 { 0055 if (!m_backend) 0056 return; 0057 qDebug() << "Set Inhibition ON"; 0058 0059 m_backend->setInhibitionOn(explanation); 0060 0061 m_inhibit = true; 0062 }