summaryrefslogtreecommitdiffstats
path: root/chromeos
diff options
context:
space:
mode:
authorshawnn@chromium.org <shawnn@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-20 20:15:13 +0000
committershawnn@chromium.org <shawnn@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-20 20:15:13 +0000
commit2e65d204ed5ad8b8d1c26aab734f73ed37789c73 (patch)
tree09ebbcbd70d05495397c7c89a7272fe91cadcbd8 /chromeos
parente5adeb4697750cbcd3c299d1ecb1e32cdc990459 (diff)
downloadchromium_src-2e65d204ed5ad8b8d1c26aab734f73ed37789c73.zip
chromium_src-2e65d204ed5ad8b8d1c26aab734f73ed37789c73.tar.gz
chromium_src-2e65d204ed5ad8b8d1c26aab734f73ed37789c73.tar.bz2
Extract battery energy charge / discharge rate from incoming protobuf.
Extract the battery energy charge / discharge rate from incoming protobuf and store it in PowerSupplyStatus. This rate is useful for determining if the battery is not being charge for some reason despite AC being plugged. BUG=chromium:196402 TEST=Manual. Check battery_energy_rate values in VLOG. Review URL: https://chromiumcodereview.appspot.com/12918016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@189379 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chromeos')
-rw-r--r--chromeos/dbus/power_manager_client.cc1
-rw-r--r--chromeos/dbus/power_supply_status.cc6
-rw-r--r--chromeos/dbus/power_supply_status.h3
3 files changed, 9 insertions, 1 deletions
diff --git a/chromeos/dbus/power_manager_client.cc b/chromeos/dbus/power_manager_client.cc
index 26b881a..a21041d 100644
--- a/chromeos/dbus/power_manager_client.cc
+++ b/chromeos/dbus/power_manager_client.cc
@@ -456,6 +456,7 @@ class PowerManagerClientImpl : public PowerManagerClient {
status.battery_is_present = protobuf.battery_is_present();
status.battery_is_full = protobuf.battery_is_charged();
status.is_calculating_battery_time = protobuf.is_calculating_battery_time();
+ status.battery_energy_rate = protobuf.battery_energy_rate();
VLOG(1) << "Power status: " << status.ToString();
FOR_EACH_OBSERVER(Observer, observers_, PowerChanged(status));
diff --git a/chromeos/dbus/power_supply_status.cc b/chromeos/dbus/power_supply_status.cc
index 907a55e1..556e545 100644
--- a/chromeos/dbus/power_supply_status.cc
+++ b/chromeos/dbus/power_supply_status.cc
@@ -18,7 +18,8 @@ PowerSupplyStatus::PowerSupplyStatus()
averaged_battery_time_to_empty(0),
averaged_battery_time_to_full(0),
battery_percentage(0),
- is_calculating_battery_time(false) {}
+ is_calculating_battery_time(false),
+ battery_energy_rate(0) {}
std::string PowerSupplyStatus::ToString() const {
std::string result;
@@ -49,6 +50,9 @@ std::string PowerSupplyStatus::ToString() const {
base::StringAppendF(&result,
"is_calculating_battery_time = %s ",
is_calculating_battery_time ? "true" : "false");
+ base::StringAppendF(&result,
+ "battery_energy_rate = %f ",
+ battery_energy_rate);
return result;
}
diff --git a/chromeos/dbus/power_supply_status.h b/chromeos/dbus/power_supply_status.h
index 6a6b369..120df2f 100644
--- a/chromeos/dbus/power_supply_status.h
+++ b/chromeos/dbus/power_supply_status.h
@@ -28,6 +28,9 @@ struct CHROMEOS_EXPORT PowerSupplyStatus {
bool is_calculating_battery_time;
+ // Rate of charge/discharge of the battery, in W.
+ double battery_energy_rate;
+
PowerSupplyStatus();
std::string ToString() const;
};