2
0
Эх сурвалжийг харах

Changed pwmEnable to enum instead of int.

Malte Veerman 7 жил өмнө
parent
commit
d4be77a316

+ 14 - 16
import/src/pwmfan.cpp

@@ -48,7 +48,7 @@ PwmFan::PwmFan(uint index, Hwmon *parent) : Fan(index, parent),
     m_pwmStream(new QTextStream),
     m_pwmStream(new QTextStream),
     m_enableStream(new QTextStream),
     m_enableStream(new QTextStream),
     m_pwm(0),
     m_pwm(0),
-    m_pwmEnable(0),
+    m_pwmEnable(FullSpeed),
     m_temp(Q_NULLPTR),
     m_temp(Q_NULLPTR),
     m_hasTemp(false),
     m_hasTemp(false),
     m_minTemp(0),
     m_minTemp(0),
@@ -97,12 +97,12 @@ PwmFan::PwmFan(uint index, Hwmon *parent) : Fan(index, parent),
             if (pwmEnableFile->open(QFile::ReadWrite))
             if (pwmEnableFile->open(QFile::ReadWrite))
             {
             {
                 m_enableStream->setDevice(pwmEnableFile);
                 m_enableStream->setDevice(pwmEnableFile);
-                setPwmEnable(m_enableStream->readAll().toInt(), false);
+                setPwmEnable((PwmEnable)m_enableStream->readAll().toInt(), false);
             }
             }
             else if (pwmEnableFile->open(QFile::ReadOnly))
             else if (pwmEnableFile->open(QFile::ReadOnly))
             {
             {
                 m_enableStream->setDevice(pwmEnableFile);
                 m_enableStream->setDevice(pwmEnableFile);
-                setPwmEnable(m_enableStream->readAll().toInt(), false);
+                setPwmEnable((PwmEnable)m_enableStream->readAll().toInt(), false);
             }
             }
             else
             else
             {
             {
@@ -131,7 +131,7 @@ void PwmFan::update()
     setPwm(m_pwmStream->readAll().toInt(), false);
     setPwm(m_pwmStream->readAll().toInt(), false);
 
 
     m_enableStream->seek(0);
     m_enableStream->seek(0);
-    setPwmEnable(m_enableStream->readAll().toInt(), false);
+    setPwmEnable((PwmEnable)m_enableStream->readAll().toInt(), false);
 }
 }
 
 
 void PwmFan::toDefault()
 void PwmFan::toDefault()
@@ -141,7 +141,7 @@ void PwmFan::toDefault()
     setHasTemp(false);
     setHasTemp(false);
     setTemp(Q_NULLPTR);
     setTemp(Q_NULLPTR);
     setPwm(0, false);
     setPwm(0, false);
-    setPwmEnable(0, false);
+    setPwmEnable(FullSpeed, false);
     setMinTemp(0);
     setMinTemp(0);
     setMaxTemp(100);
     setMaxTemp(100);
     setMinPwm(255);
     setMinPwm(255);
@@ -189,12 +189,16 @@ void PwmFan::toDefault()
         if (pwmEnableFile->open(QFile::ReadWrite))
         if (pwmEnableFile->open(QFile::ReadWrite))
         {
         {
             m_enableStream->setDevice(pwmEnableFile);
             m_enableStream->setDevice(pwmEnableFile);
-            *m_enableStream >> m_pwmEnable;
+            int pwmEnable;
+            *m_enableStream >> pwmEnable;
+            m_pwmEnable = (PwmEnable)pwmEnable;
         }
         }
         else if (pwmEnableFile->open(QFile::ReadOnly))
         else if (pwmEnableFile->open(QFile::ReadOnly))
         {
         {
             m_enableStream->setDevice(pwmEnableFile);
             m_enableStream->setDevice(pwmEnableFile);
-            *m_enableStream >> m_pwmEnable;
+            int pwmEnable;
+            *m_enableStream >> pwmEnable;
+            m_pwmEnable = (PwmEnable)pwmEnable;
         }
         }
         else
         else
         {
         {
@@ -224,7 +228,7 @@ bool PwmFan::setPwm(int pwm, bool write)
 
 
         if (write)
         if (write)
         {
         {
-            setPwmEnable(1, true);
+            setPwmEnable(ManualControl, true);
 
 
             if (m_pwmStream->string() || (m_pwmStream->device() && m_pwmStream->device()->isWritable()))
             if (m_pwmStream->string() || (m_pwmStream->device() && m_pwmStream->device()->isWritable()))
                 *m_pwmStream << pwm;
                 *m_pwmStream << pwm;
@@ -262,14 +266,8 @@ bool PwmFan::setPwm(int pwm, bool write)
     return true;
     return true;
 }
 }
 
 
-bool PwmFan::setPwmEnable(int pwmEnable, bool write)
+bool PwmFan::setPwmEnable(PwmEnable pwmEnable, bool write)
 {
 {
-    if (pwmEnable < 0)
-    {
-        emit error(i18n("PwmEnable cannot be less than 0!"), true);
-        return false;
-    }
-
     if (m_pwmEnable != pwmEnable)
     if (m_pwmEnable != pwmEnable)
     {
     {
         m_pwmEnable = pwmEnable;
         m_pwmEnable = pwmEnable;
@@ -389,7 +387,7 @@ void PwmFan::abortTest()
         emit testStatusChanged();
         emit testStatusChanged();
 
 
         setPwm(255);
         setPwm(255);
-        setPwmEnable(0);
+        setPwmEnable(FullSpeed);
     }
     }
 }
 }
 
 

+ 12 - 4
import/src/pwmfan.h

@@ -50,7 +50,7 @@ class PwmFan : public Fan
     Q_PROPERTY(bool active READ active WRITE setActive NOTIFY activeChanged)
     Q_PROPERTY(bool active READ active WRITE setActive NOTIFY activeChanged)
     Q_PROPERTY(bool testing READ testing NOTIFY testStatusChanged)
     Q_PROPERTY(bool testing READ testing NOTIFY testStatusChanged)
     Q_PROPERTY(TestStatus testStatus READ testStatus NOTIFY testStatusChanged)
     Q_PROPERTY(TestStatus testStatus READ testStatus NOTIFY testStatusChanged)
-    Q_PROPERTY(int pwmEnable READ pwmEnable WRITE setPwmEnable NOTIFY pwmEnableChanged)
+    Q_PROPERTY(PwmEnable pwmEnable READ pwmEnable WRITE setPwmEnable NOTIFY pwmEnableChanged)
 
 
 public:
 public:
 
 
@@ -66,6 +66,14 @@ public:
     };
     };
     Q_ENUM(TestStatus)
     Q_ENUM(TestStatus)
 
 
+    enum PwmEnable
+    {
+        FullSpeed = 0,
+        ManualControl = 1,
+        BiosControl = 2
+    };
+    Q_ENUM(PwmEnable)
+
     explicit PwmFan(uint index, Hwmon *parent = Q_NULLPTR);
     explicit PwmFan(uint index, Hwmon *parent = Q_NULLPTR);
     virtual ~PwmFan();
     virtual ~PwmFan();
 
 
@@ -78,7 +86,7 @@ public:
     int maxPwm() const { return m_maxPwm; }
     int maxPwm() const { return m_maxPwm; }
     int minStart() const { return m_minStart; }
     int minStart() const { return m_minStart; }
     int minStop() const { return m_minStop; }
     int minStop() const { return m_minStop; }
-    int pwmEnable() const { return m_pwmEnable; }
+    PwmEnable pwmEnable() const { return m_pwmEnable; }
     TestStatus testStatus() const { return m_testStatus; }
     TestStatus testStatus() const { return m_testStatus; }
     bool active() const;
     bool active() const;
     bool testing() const;
     bool testing() const;
@@ -91,7 +99,7 @@ public:
     void setMaxPwm(int maxPwm);
     void setMaxPwm(int maxPwm);
     void setMinStart(int minStart) { if (minStart != m_minStart) { m_minStart = minStart; emit minStartChanged(); } }
     void setMinStart(int minStart) { if (minStart != m_minStart) { m_minStart = minStart; emit minStartChanged(); } }
     void setMinStop(int minStop) { if (minStop != m_minStop) { m_minStop = minStop; emit minStopChanged(); } }
     void setMinStop(int minStop) { if (minStop != m_minStop) { m_minStop = minStop; emit minStopChanged(); } }
-    bool setPwmEnable(int pwmEnable, bool write = true);
+    bool setPwmEnable(PwmEnable pwmEnable, bool write = true);
     void setActive(bool active);
     void setActive(bool active);
     void toDefault() Q_DECL_OVERRIDE;
     void toDefault() Q_DECL_OVERRIDE;
     bool isValid() const Q_DECL_OVERRIDE;
     bool isValid() const Q_DECL_OVERRIDE;
@@ -130,7 +138,7 @@ protected:
 private:
 private:
 
 
     int m_pwm;
     int m_pwm;
-    int m_pwmEnable;
+    PwmEnable m_pwmEnable;
     Temp *m_temp;
     Temp *m_temp;
     bool m_hasTemp;
     bool m_hasTemp;
     int m_minTemp;
     int m_minTemp;

+ 5 - 7
import/tests/pwmfantest.cpp

@@ -97,19 +97,17 @@ void PwmFanTest::pwmTest()
 
 
 void PwmFanTest::enableTest_data()
 void PwmFanTest::enableTest_data()
 {
 {
-    QTest::addColumn<int>("value");
+    QTest::addColumn<TestPwmFan::PwmEnable>("value");
     QTest::addColumn<QString>("error");
     QTest::addColumn<QString>("error");
 
 
-    QTest::newRow("0")   <<  0  << "";
-    QTest::newRow("1")   <<  1  << "";
-    QTest::newRow("2")   <<  2  << "";
-    QTest::newRow("3")   <<  3  << "PwmEnable cannot exceed 0-2!";
-    QTest::newRow("-1")  << -1  << "PwmEnable cannot exceed 0-2!";
+    QTest::newRow("0") << TestPwmFan::FullSpeed << "";
+    QTest::newRow("1") << TestPwmFan::ManualControl << "";
+    QTest::newRow("2") << TestPwmFan::BiosControl << "";
 }
 }
 
 
 void PwmFanTest::enableTest()
 void PwmFanTest::enableTest()
 {
 {
-    QFETCH(int, value);
+    QFETCH(TestPwmFan::PwmEnable, value);
     QFETCH(QString, error);
     QFETCH(QString, error);
 
 
     QSignalSpy spy(m_fan, SIGNAL(error(QString,bool)));
     QSignalSpy spy(m_fan, SIGNAL(error(QString,bool)));