File indexing completed on 2024-05-12 05:37:20
0001 /* 0002 SPDX-FileCopyrightText: 2007 Petri Damsten <damu@iki.fi> 0003 SPDX-FileCopyrightText: 2007 Christopher Blauvelt <cblauvelt@gmail.com> 0004 0005 SPDX-License-Identifier: LGPL-2.0-only 0006 */ 0007 0008 #pragma once 0009 0010 #include <QMap> 0011 #include <QObject> 0012 #include <QString> 0013 #include <QStringList> 0014 #include <QTimer> 0015 #include <QVariant> 0016 0017 class HddTemp : public QObject 0018 { 0019 Q_OBJECT 0020 0021 public: 0022 enum DataType { 0023 Temperature = 0, 0024 Unit, 0025 }; 0026 0027 explicit HddTemp(QObject *parent = nullptr); 0028 ~HddTemp() override; 0029 QStringList sources(); 0030 QVariant data(const QString source, const DataType type) const; 0031 0032 protected: 0033 void timerEvent(QTimerEvent *event) override; 0034 0035 private: 0036 int m_failCount = 0; 0037 bool m_cacheValid = false; 0038 QMap<QString, QList<QVariant>> m_data; 0039 bool updateData(); 0040 };