Chromium Code Reviews| Index: chromeos/dbus/fake_power_manager_client.h |
| diff --git a/chromeos/dbus/fake_power_manager_client.h b/chromeos/dbus/fake_power_manager_client.h |
| index d6cd0429f975b899ec2a64fc8f8158dce391a83d..72843fb67209a637579e4081c8d7194186ff993e 100644 |
| --- a/chromeos/dbus/fake_power_manager_client.h |
| +++ b/chromeos/dbus/fake_power_manager_client.h |
| @@ -7,10 +7,16 @@ |
| #include <string> |
|
stevenjb
2015/06/26 20:42:19
We should keep <string> since we use it (even thou
|
| -#include "base/basictypes.h" |
| -#include "base/macros.h" |
| +#include "base/command_line.h" |
| #include "base/observer_list.h" |
| +#include "base/power_monitor/power_monitor_device_source.h" |
| +#include "base/strings/string_number_conversions.h" |
| +#include "base/strings/string_split.h" |
| +#include "chromeos/chromeos_switches.h" |
| +#include "chromeos/dbus/power_manager/input_event.pb.h" |
| +#include "chromeos/dbus/power_manager/peripheral_battery_status.pb.h" |
| #include "chromeos/dbus/power_manager/policy.pb.h" |
| +#include "chromeos/dbus/power_manager/power_supply_properties.pb.h" |
|
stevenjb
2015/06/25 17:03:47
It doesn't look like we need most of these in the
|
| #include "chromeos/dbus/power_manager/suspend.pb.h" |
| #include "chromeos/dbus/power_manager_client.h" |
| @@ -67,16 +73,41 @@ class FakePowerManagerClient : public PowerManagerClient { |
| // Notifies observers that the power button has been pressed or released. |
| void SendPowerButtonEvent(bool down, const base::TimeTicks& timestamp); |
| + // Emulates the changes in various power settings. |
| + void UpdateBatteryPercentage(int percentage); |
| + void UpdateBatteryFullTimeToEmpty(int time_in_hours); |
| + void UpdateExternalPower(int external_power); |
| + void UpdateIsBatteryCharging(bool is_charging); |
| + void UpdateIsCalculatingBatteryTime(bool is_calculating); |
| + |
| + // Called once any power states are changed to notify the observer of the |
| + // change. |
| + void UpdatePowerStatus(); |
| + |
| private: |
| // Callback that will be run by asynchronous suspend delays to report |
| // readiness. |
| void HandleSuspendReadiness(); |
| + void ParseCommandLineSwitch(); |
| + |
| + void ParseOption(const std::string& arg0, const std::string& arg1); |
| + |
| base::ObserverList<Observer> observers_; |
| // Last policy passed to SetPolicy(). |
| power_manager::PowerManagementPolicy policy_; |
| + // The power properties set for for the UI. |
| + power_manager::PowerSupplyProperties props_; |
| + |
| + // Variables that handle states of the battery and power. |
| + bool is_charging_; |
| + bool is_calculating_; |
| + int battery_percentage_; |
| + int power_source_; |
| + int hours_to_empty_full_battery = 4 * 60 * 60; // 4 hours. default value. |
|
stevenjb
2015/06/25 17:03:47
We should use inline initialization for all of the
|
| + |
| // Number of times that various methods have been called. |
| int num_request_restart_calls_; |
| int num_request_shutdown_calls_; |
| @@ -92,6 +123,10 @@ class FakePowerManagerClient : public PowerManagerClient { |
| // Delegate for managing power consumption of Chrome's renderer processes. |
| base::WeakPtr<RenderProcessManagerDelegate> render_process_manager_delegate_; |
| + // Note: This should remain the last member so it'll be destroyed and |
| + // invalidate its weak pointers before any other members are destroyed. |
| + base::WeakPtrFactory<FakePowerManagerClient> weak_ptr_factory_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(FakePowerManagerClient); |
| }; |