File indexing completed on 2024-06-09 04:00:40
0001 /* 0002 SPDX-FileCopyrightText: 2010 Rafael Fernández López <ereslibre@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 0007 #ifndef SOLID_BACKENDS_UDEV_PROCESSOR_H 0008 #define SOLID_BACKENDS_UDEV_PROCESSOR_H 0009 0010 #include "udevdeviceinterface.h" 0011 #include <solid/devices/ifaces/processor.h> 0012 0013 namespace Solid 0014 { 0015 namespace Backends 0016 { 0017 namespace UDev 0018 { 0019 class UDevDevice; 0020 0021 class Processor : public DeviceInterface, virtual public Solid::Ifaces::Processor 0022 { 0023 Q_OBJECT 0024 Q_INTERFACES(Solid::Ifaces::Processor) 0025 0026 public: 0027 Processor(UDevDevice *device); 0028 ~Processor() override; 0029 0030 int number() const override; 0031 int maxSpeed() const override; 0032 bool canChangeFrequency() const override; 0033 Solid::Processor::InstructionSets instructionSets() const override; 0034 0035 private: 0036 enum CanChangeFrequencyEnum { 0037 NotChecked, 0038 CanChangeFreq, 0039 CannotChangeFreq, 0040 }; 0041 mutable CanChangeFrequencyEnum m_canChangeFrequency; 0042 mutable int m_maxSpeed; 0043 QString prefix() const; 0044 }; 0045 } 0046 } 0047 } 0048 0049 #endif // SOLID_BACKENDS_UDEV_PROCESSOR_H