summaryrefslogtreecommitdiff
path: root/library/power.cpp
Unidiff
Diffstat (limited to 'library/power.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--library/power.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/library/power.cpp b/library/power.cpp
index 990ff62..12b52ed 100644
--- a/library/power.cpp
+++ b/library/power.cpp
@@ -81,48 +81,50 @@ bool PowerStatusManager::getProcApmStatus( int &ac, int &bs, int &bf, int &pc, i
81 switch ( u ) { 81 switch ( u ) {
82 case 'm': sec *= 60; 82 case 'm': sec *= 60;
83 case 's': break; // ok 83 case 's': break; // ok
84 default: sec = -1; // unknown 84 default: sec = -1; // unknown
85 } 85 }
86 86
87 // extract data 87 // extract data
88 switch ( bs ) { 88 switch ( bs ) {
89 case 0x00: 89 case 0x00:
90 ps->bs = PowerStatus::High; 90 ps->bs = PowerStatus::High;
91 break; 91 break;
92 case 0x01: 92 case 0x01:
93 ps->bs = PowerStatus::Low; 93 ps->bs = PowerStatus::Low;
94 break; 94 break;
95 case 0x7f: 95 case 0x7f:
96 ps->bs = PowerStatus::VeryLow; 96 ps->bs = PowerStatus::VeryLow;
97 break; 97 break;
98 case 0x02: 98 case 0x02:
99 ps->bs = PowerStatus::Critical; 99 ps->bs = PowerStatus::Critical;
100 break; 100 break;
101 case 0x03: 101 case 0x03:
102 ps->bs = PowerStatus::Charging; 102 ps->bs = PowerStatus::Charging;
103 break; 103 break;
104 case 0x04: 104 case 0x04:
105 case 0xff: // 0xff is Unknown but we map to NotPresent
106 default:
105 ps->bs = PowerStatus::NotPresent; 107 ps->bs = PowerStatus::NotPresent;
106 break; 108 break;
107 } 109 }
108 110
109 switch ( ac ) { 111 switch ( ac ) {
110 case 0x00: 112 case 0x00:
111 ps->ac = PowerStatus::Offline; 113 ps->ac = PowerStatus::Offline;
112 break; 114 break;
113 case 0x01: 115 case 0x01:
114 ps->ac = PowerStatus::Online; 116 ps->ac = PowerStatus::Online;
115 break; 117 break;
116 case 0x02: 118 case 0x02:
117 ps->ac = PowerStatus::Backup; 119 ps->ac = PowerStatus::Backup;
118 break; 120 break;
119 } 121 }
120 122
121 if ( pc > 100 ) 123 if ( pc > 100 )
122 pc = -1; 124 pc = -1;
123 125
124 ps->percentRemain = pc; 126 ps->percentRemain = pc;
125 ps->secsRemain = sec; 127 ps->secsRemain = sec;
126 128
127 ok = true; 129 ok = true;
128 } 130 }