File indexing completed on 2024-03-24 05:30:32
0001 /* 0002 SPDX-FileCopyrightText: 2016 Martin Gräßlin <mgraesslin@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 #pragma once 0007 0008 #include <QObject> 0009 0010 class PowerManagement : public QObject 0011 { 0012 Q_OBJECT 0013 Q_PROPERTY(bool canSuspend READ canSuspend NOTIFY canSuspendChanged) 0014 Q_PROPERTY(bool canHibernate READ canHibernate NOTIFY canHibernateChanged) 0015 public: 0016 ~PowerManagement() override; 0017 0018 bool canSuspend() const; 0019 bool canHibernate() const; 0020 0021 static PowerManagement *instance(); 0022 0023 public Q_SLOTS: 0024 void suspend(); 0025 void hibernate(); 0026 0027 Q_SIGNALS: 0028 void canSuspendChanged(); 0029 void canHibernateChanged(); 0030 0031 protected: 0032 explicit PowerManagement(); 0033 0034 private: 0035 class Private; 0036 QScopedPointer<Private> d; 0037 };