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 CPU_H 0008 #define CPU_H 0009 0010 #include <systemstats/SensorObject.h> 0011 0012 class BaseCpuObject : public KSysGuard::SensorObject { 0013 public: 0014 protected: 0015 BaseCpuObject(const QString &id, const QString &name, KSysGuard::SensorContainer *parent); 0016 0017 virtual void initialize(); 0018 virtual void makeSensors(); 0019 0020 KSysGuard::SensorProperty *m_usage = nullptr; 0021 KSysGuard::SensorProperty *m_system = nullptr; 0022 KSysGuard::SensorProperty *m_user = nullptr; 0023 KSysGuard::SensorProperty *m_wait = nullptr; 0024 }; 0025 0026 class CpuObject : public BaseCpuObject { 0027 public: 0028 CpuObject(const QString &id, const QString &name, KSysGuard::SensorContainer *parent); 0029 void initialize() override; 0030 protected: 0031 void makeSensors() override; 0032 0033 KSysGuard::SensorProperty *m_frequency = nullptr; 0034 KSysGuard::SensorProperty *m_temperature = nullptr; 0035 }; 0036 0037 class AllCpusObject : public BaseCpuObject { 0038 public: 0039 AllCpusObject(KSysGuard::SensorContainer *parent); 0040 void setCounts(unsigned int cpuCount, unsigned int coreCount); 0041 void initialize() override; 0042 protected: 0043 void makeSensors() override; 0044 0045 KSysGuard::SensorProperty *m_cpuCount = nullptr; 0046 KSysGuard::SensorProperty *m_coreCount = nullptr; 0047 }; 0048 0049 #endif