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 #ifndef LINUXCPUPLUGIN_H
0007 #define LINUXCPUPLUGIN_H
0008 
0009 #include "cpuplugin_p.h"
0010 
0011 #include <QMultiHash>
0012 #include <QVector>
0013 struct sensors_chip_name;
0014 class LinuxCpuObject;
0015 class LinuxAllCpusObject;
0016 class LoadAverages;
0017 
0018 class LinuxCpuPluginPrivate : public CpuPluginPrivate {
0019 public:
0020     LinuxCpuPluginPrivate(CpuPlugin *q);
0021     void update() override;
0022 private:
0023     void addSensors();
0024     void addSensorsIntel(const sensors_chip_name * const chipName);
0025     void addSensorsAmd(const sensors_chip_name * const chipName);
0026 
0027     LinuxAllCpusObject *m_allCpus;
0028     QHash<int, LinuxCpuObject *> m_cpus;
0029     QMultiHash<QPair<int, int>, LinuxCpuObject * const> m_cpusBySystemIds;
0030     LoadAverages *m_loadAverages;
0031 };
0032 
0033 #endif