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)17LockManager::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)30void 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