File indexing completed on 2024-05-12 17:00:14
0001 /* 0002 SPDX-FileCopyrightText: 2020 David Redondo <kde@david-redondo.de> 0003 0004 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0005 */ 0006 0007 #ifndef LINUXCPU_H 0008 #define LINUXCPU_H 0009 0010 #include "cpu.h" 0011 #include "usagecomputer.h" 0012 0013 0014 struct sensors_chip_name; 0015 struct sensors_feature; 0016 class SensorsFeatureSensor; 0017 0018 class LinuxCpuObject : public CpuObject 0019 { 0020 public: 0021 LinuxCpuObject(const QString &id, const QString &name, double initialFrequency, KSysGuard::SensorContainer *parent); 0022 0023 void update(unsigned long long system, unsigned long long user, unsigned long long wait, unsigned long long idle); 0024 void initialize() override; 0025 void makeTemperatureSensor(const sensors_chip_name * constchipName, const sensors_feature * const feature); 0026 private: 0027 void makeSensors() override; 0028 0029 double m_initialFrequency; 0030 UsageComputer m_usageComputer; 0031 }; 0032 0033 class LinuxAllCpusObject : public AllCpusObject { 0034 public: 0035 using AllCpusObject::AllCpusObject; 0036 void update(unsigned long long system, unsigned long long user, unsigned long long wait, unsigned long long idle); 0037 private: 0038 UsageComputer m_usageComputer; 0039 }; 0040 0041 #endif