Solid
processor.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef SOLID_PROCESSOR_H
00021 #define SOLID_PROCESSOR_H
00022
00023 #include <solid/solid_export.h>
00024
00025 #include <solid/deviceinterface.h>
00026
00027 namespace Solid
00028 {
00029 class ProcessorPrivate;
00030 class Device;
00031
00035 class SOLID_EXPORT Processor : public DeviceInterface
00036 {
00037 Q_OBJECT
00038 Q_ENUMS(InstructionSet)
00039 Q_FLAGS(InstructionSets)
00040 Q_PROPERTY(int number READ number)
00041 Q_PROPERTY(qulonglong maxSpeed READ maxSpeed)
00042 Q_PROPERTY(bool canChangeFrequency READ canChangeFrequency)
00043 Q_PROPERTY(InstructionSets instructionSets READ instructionSets)
00044 Q_DECLARE_PRIVATE(Processor)
00045 friend class Device;
00046
00047 private:
00056 explicit Processor(QObject *backendObject);
00057
00058 public:
00063 enum InstructionSet {
00064 NoExtensions = 0x0,
00065 IntelMmx = 0x1,
00066 IntelSse = 0x2,
00067 IntelSse2 = 0x4,
00068 IntelSse3 = 0x8,
00069 IntelSse4 = 0x10,
00070 Amd3DNow = 0x20,
00071 AltiVec = 0x40
00072 };
00073
00074
00075
00076
00077 Q_DECLARE_FLAGS(InstructionSets, InstructionSet)
00078
00079
00080
00083 virtual ~Processor();
00084
00091 static Type deviceInterfaceType() { return DeviceInterface::Processor; }
00092
00098 int number() const;
00099
00105 int maxSpeed() const;
00106
00115 bool canChangeFrequency() const;
00116
00122 InstructionSets instructionSets() const;
00123 };
00124 }
00125
00126 Q_DECLARE_OPERATORS_FOR_FLAGS(Solid::Processor::InstructionSets)
00127
00128 #endif