Chromium Code Reviews| Index: chromeos/dbus/power_data_collector.cc |
| diff --git a/chromeos/dbus/power_data_collector.cc b/chromeos/dbus/power_data_collector.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..45ab3607090ae9ef502c6d86646d5d3ec4e8b829 |
| --- /dev/null |
| +++ b/chromeos/dbus/power_data_collector.cc |
| @@ -0,0 +1,33 @@ |
| +// Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "base/time/time.h" |
| +#include "chromeos/dbus/power_data_collector.h" |
| +#include "chromeos/dbus/power_manager/power_supply_properties.pb.h" |
| + |
| +namespace chromeos { |
| + |
| +PowerDataCollector::PowerDataCollector(PowerManagerClient* pm_client) |
| + : pm_client_(pm_client) { |
|
stevenjb
2013/12/04 00:51:47
This should just set pm_client_(DBusThreadManager:
|
| + power_supply_.reset(new std::vector<PowerSupplySnapshot>); |
| + pm_client_->AddObserver(this); |
|
stevenjb
2013/12/04 00:51:47
Probably want to call pm_client_->RequestStatusUpd
|
| +} |
| + |
| +void PowerDataCollector::PowerChanged( |
| + const power_manager::PowerSupplyProperties& prop) { |
| + base::Time now = base::Time::NowFromSystemTime(); |
| + |
| + PowerSupplySnapshot snapshot = { |
| + now.ToInternalValue(), |
| + prop.external_power() != power_manager::PowerSupplyProperties::DISCONNECTED, |
| + prop.battery_percent()}; |
| + |
| + power_supply_->push_back(snapshot); |
| +} |
| + |
| +PowerDataCollector::~PowerDataCollector() { |
|
stevenjb
2013/12/04 00:51:47
Should follow constructor
|
| + pm_client_->RemoveObserver(this); |
| +} |
| + |
| +} // namespace chromeos |