File indexing completed on 2024-05-12 17:00:14

0001 /*
0002  * SPDX-FileCopyrightText: 2020 Arjen Hiemstra <ahiemstra@heimr.nl>
0003  *
0004  * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0005  */
0006 
0007 #include "GpuDevice.h"
0008 
0009 #include <KLocalizedString>
0010 
0011 GpuDevice::GpuDevice(const QString &id, const QString &name)
0012     : KSysGuard::SensorObject(id, name)
0013 {
0014 }
0015 
0016 void GpuDevice::initialize()
0017 {
0018     makeSensors();
0019 
0020     m_nameProperty->setName(i18nc("@title", "Name"));
0021     m_nameProperty->setPrefix(name());
0022     m_nameProperty->setValue(name());
0023 
0024     m_usageProperty->setName(i18nc("@title", "Usage"));
0025     m_usageProperty->setPrefix(name());
0026     m_usageProperty->setMin(0);
0027     m_usageProperty->setMax(100);
0028     m_usageProperty->setUnit(KSysGuard::UnitPercent);
0029 
0030     m_totalVramProperty->setName(i18nc("@title", "Total Video Memory"));
0031     m_totalVramProperty->setPrefix(name());
0032     m_totalVramProperty->setShortName(i18nc("@title Short for Total Video Memory", "Total"));
0033     m_totalVramProperty->setUnit(KSysGuard::UnitByte);
0034 
0035     m_usedVramProperty->setName(i18nc("@title", "Video Memory Used"));
0036     m_usedVramProperty->setPrefix(name());
0037     m_usedVramProperty->setShortName(i18nc("@title Short for Video Memory Used", "Used"));
0038     m_usedVramProperty->setMax(m_totalVramProperty);
0039     m_usedVramProperty->setUnit(KSysGuard::UnitByte);
0040 
0041     m_coreFrequencyProperty->setName(i18nc("@title", "Frequency"));
0042     m_coreFrequencyProperty->setPrefix(name());
0043     m_coreFrequencyProperty->setUnit(KSysGuard::UnitMegaHertz);
0044 
0045     m_memoryFrequencyProperty->setName(i18nc("@title", "Memory Frequency"));
0046     m_memoryFrequencyProperty->setPrefix(name());
0047     m_memoryFrequencyProperty->setUnit(KSysGuard::UnitMegaHertz);
0048 
0049     m_temperatureProperty->setName(i18nc("@title", "Temperature"));
0050     m_temperatureProperty->setPrefix(name());
0051     m_temperatureProperty->setUnit(KSysGuard::UnitCelsius);
0052 
0053     m_powerProperty->setName(i18nc("@title", "Power"));
0054     m_powerProperty->setPrefix(name());
0055     m_powerProperty->setUnit(KSysGuard::UnitWatt);
0056 }
0057 
0058 void GpuDevice::update()
0059 {
0060 }
0061 
0062 void GpuDevice::makeSensors()
0063 {
0064     m_nameProperty = new KSysGuard::SensorProperty(QStringLiteral("name"), this);
0065     m_usageProperty = new KSysGuard::SensorProperty(QStringLiteral("usage"), QStringLiteral("usage"), 0, this);
0066     m_totalVramProperty = new KSysGuard::SensorProperty(QStringLiteral("totalVram"), this);
0067     m_usedVramProperty = new KSysGuard::SensorProperty(QStringLiteral("usedVram"), this);
0068     m_coreFrequencyProperty = new KSysGuard::SensorProperty(QStringLiteral("coreFrequency"), QStringLiteral("coreFrequency"), 0, this);
0069     m_memoryFrequencyProperty = new KSysGuard::SensorProperty(QStringLiteral("memoryFrequency"), QStringLiteral("memoryFrequency"), 0, this);
0070     m_temperatureProperty = new KSysGuard::SensorProperty(QStringLiteral("temperature"), QStringLiteral("temperature"), 0, this);
0071     m_powerProperty = new KSysGuard::SensorProperty(QStringLiteral("power"), QStringLiteral("power"), 0, this);
0072 }