File indexing completed on 2024-05-19 16:31:39

0001 /*
0002  * SPDX-FileCopyrightText: 2019 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
0003  *
0004  * SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #pragma once
0008 
0009 #include <QObject>
0010 
0011 class MonitorPrivate : public QObject
0012 {
0013     Q_OBJECT
0014 
0015 public:
0016     explicit MonitorPrivate(QObject *parent = nullptr);
0017     ~MonitorPrivate() override;
0018 
0019     int currentTemperature() const;
0020     int targetTemperature() const;
0021     bool isAvailable() const;
0022     bool isEnabled() const;
0023     bool isRunning() const;
0024 
0025 Q_SIGNALS:
0026     void currentTemperatureChanged();
0027     void targetTemperatureChanged();
0028     void availableChanged();
0029     void enabledChanged();
0030     void runningChanged();
0031 
0032 private Q_SLOTS:
0033     void handlePropertiesChanged(const QString &interfaceName, const QVariantMap &changedProperties, const QStringList &invalidatedProperties);
0034 
0035 private:
0036     void updateProperties(const QVariantMap &properties);
0037     void setCurrentTemperature(int temperature);
0038     void setTargetTemperature(int temperature);
0039     void setAvailable(bool available);
0040     void setEnabled(bool enabled);
0041     void setRunning(bool running);
0042 
0043     int m_currentTemperature = 0;
0044     int m_targetTemperature = 0;
0045     bool m_isAvailable = false;
0046     bool m_isEnabled = false;
0047     bool m_isRunning = false;
0048 };