Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(24)

Side by Side Diff: ash/system/chromeos/emulator/battery_emulation_controller.h

Issue 1206733002: ChromeOs Power Emulation Impl (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef ASH_SYSTEM_CHROMEOS_EMULATOR_BATTERY_EMULATION_CONTROLLER_H_
6 #define ASH_SYSTEM_CHROMEOS_EMULATOR_BATTERY_EMULATION_CONTROLLER_H_
7
8 #include "ash/ash_export.h"
9 #include "base/command_line.h"
10 #include "base/observer_list.h"
11 #include "base/power_monitor/power_monitor_device_source.h"
12 #include "base/strings/string_number_conversions.h"
13 #include "base/strings/string_split.h"
14 #include "chromeos/chromeos_switches.h"
15 #include "chromeos/dbus/power_manager/input_event.pb.h"
16 #include "chromeos/dbus/power_manager/peripheral_battery_status.pb.h"
17 #include "chromeos/dbus/power_manager/policy.pb.h"
18 #include "chromeos/dbus/power_manager/power_supply_properties.pb.h"
19 #include "chromeos/dbus/power_manager/suspend.pb.h"
20 #include "chromeos/dbus/power_manager_client.h"
21
22 namespace ash {
23 class ASH_EXPORT BatteryEmulationController
24 : public chromeos::PowerManagerClient {
25 public:
26 BatteryEmulationController();
27
28 ~BatteryEmulationController() override;
29
30 int num_pending_suspend_readiness_callbacks() const {
31 return num_pending_suspend_readiness_callbacks_;
32 }
33
34 void Init(dbus::Bus* bus) override;
35
36 void AddObserver(Observer* observer) override;
37 void RemoveObserver(Observer* observer) override;
38 bool HasObserver(const Observer* observer) const override;
39 void SetRenderProcessManagerDelegate(
40 base::WeakPtr<RenderProcessManagerDelegate> delegate) override {}
41
42 void SetBatteryCharging(bool charge);
43 void SetBatteryPercentage(int percentage);
44 void SetBatteryFullTimeToEmpty(int time_in_hours);
45 void SetExternalPower(int power_source);
46 void SetIsCalculatingBatteryTime(bool calculating);
47
48 void DecreaseScreenBrightness(bool allow_off) override;
49 void IncreaseScreenBrightness() override;
50
51 void SetScreenBrightnessPercent(double percent, bool gradual) override;
52 void GetScreenBrightnessPercent(
53 const chromeos::GetScreenBrightnessPercentCallback& callback) override;
54
55 void DecreaseKeyboardBrightness() override;
56 void IncreaseKeyboardBrightness() override;
57
58 void RequestStatusUpdate() override;
59 void RequestSuspend() override {}
60 void RequestRestart() override {}
61 void RequestShutdown() override {}
62
63 void NotifyUserActivity(power_manager::UserActivityType type) override {}
64 void NotifyVideoActivity(bool is_fullscreen) override {}
65
66 void SetPolicy(const power_manager::PowerManagementPolicy& policy) override {}
67 void SetIsProjecting(bool is_projecting) override {}
68 base::Closure GetSuspendReadinessCallback() override;
69 int GetNumPendingSuspendReadinessCallbacks() override;
70
71 void UpdateStatus();
72
73 private:
74 void HandleSuspendReadiness();
75
76 void SetBrightness(double percent, bool user_initiated);
77
78 void ParseCommandLineSwitch();
79
80 void ParseOption(const std::string& arg0, const std::string& arg1);
81
82 base::TimeDelta power_cycle_delay_; // Time over which to cycle power state
83 bool discharging_;
84 double brightness_;
85 int battery_percentage_;
86 bool is_calculating_;
87 int power_source_;
88 base::ObserverList<Observer> observers_;
89 base::RepeatingTimer<BatteryEmulationController> update_timer_;
90 power_manager::PowerSupplyProperties props_;
91
92 int hours_to_empty_full_battery = 4 * 60 * 60; // 4 hours.
93
94 // Number of callbacks returned by GetSuspendReadinessCallback() but not yet
95 // invoked.
96 int num_pending_suspend_readiness_callbacks_;
97
98 // Note: This should remain the last member so it'll be destroyed and
99 // invalidate its weak pointers before any other members are destroyed.
100 base::WeakPtrFactory<BatteryEmulationController> weak_ptr_factory_;
101 };
102 }
103
104 #endif // ASH_SYSTEM_CHROMEOS_EMULATOR_CHROMEOS_BATTERY_EMULATION_CONTROLLER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698