Chromium Code Reviews| Index: chromeos/dbus/power_policy_controller.h |
| diff --git a/chromeos/dbus/power_policy_controller.h b/chromeos/dbus/power_policy_controller.h |
| index 3d45769b3e8384e90f2b00b829d835466481ea69..e957456966e8cdea1b41585dc07e202134b45455 100644 |
| --- a/chromeos/dbus/power_policy_controller.h |
| +++ b/chromeos/dbus/power_policy_controller.h |
| @@ -10,7 +10,6 @@ |
| #include "base/basictypes.h" |
| #include "base/compiler_specific.h" |
| -#include "base/prefs/pref_service.h" |
| #include "chromeos/chromeos_export.h" |
| #include "chromeos/dbus/dbus_thread_manager_observer.h" |
| #include "chromeos/dbus/power_manager/policy.pb.h" |
| @@ -34,37 +33,59 @@ class CHROMEOS_EXPORT PowerPolicyController |
| ACTION_DO_NOTHING = 3, |
| }; |
| + // Values of various power-management-related preferences. |
| + struct PrefValues { |
| + PrefValues() |
| + : ac_screen_dim_delay_ms(-1), |
|
bartfab (slow)
2013/04/18 14:17:22
As discussed offline, please add a comment that ex
Daniel Erat
2013/04/18 14:37:10
Done.
|
| + ac_screen_off_delay_ms(-1), |
| + ac_screen_lock_delay_ms(-1), |
| + ac_idle_warning_delay_ms(-1), |
| + ac_idle_delay_ms(-1), |
| + battery_screen_dim_delay_ms(-1), |
| + battery_screen_off_delay_ms(-1), |
| + battery_screen_lock_delay_ms(-1), |
| + battery_idle_warning_delay_ms(-1), |
| + battery_idle_delay_ms(-1), |
| + idle_action(ACTION_SUSPEND), |
| + lid_closed_action(ACTION_SUSPEND), |
| + use_audio_activity(true), |
| + use_video_activity(true), |
| + enable_screen_lock(false), |
| + presentation_idle_delay_factor(2.0) {} |
| + |
| + int ac_screen_dim_delay_ms; |
| + int ac_screen_off_delay_ms; |
| + int ac_screen_lock_delay_ms; |
| + int ac_idle_warning_delay_ms; |
| + int ac_idle_delay_ms; |
| + int battery_screen_dim_delay_ms; |
| + int battery_screen_off_delay_ms; |
| + int battery_screen_lock_delay_ms; |
| + int battery_idle_warning_delay_ms; |
| + int battery_idle_delay_ms; |
| + Action idle_action; |
| + Action lid_closed_action; |
| + bool use_audio_activity; |
| + bool use_video_activity; |
| + bool enable_screen_lock; |
| + double presentation_idle_delay_factor; |
| + }; |
| + |
| PowerPolicyController(DBusThreadManager* manager, PowerManagerClient* client); |
| virtual ~PowerPolicyController(); |
| - // Sends an updated policy to the power manager based on the current |
| - // values of the passed-in prefs. |
| - void UpdatePolicyFromPrefs( |
| - const PrefService::Preference& ac_screen_dim_delay_ms_pref, |
| - const PrefService::Preference& ac_screen_off_delay_ms_pref, |
| - const PrefService::Preference& ac_screen_lock_delay_ms_pref, |
| - const PrefService::Preference& ac_idle_warning_delay_ms_pref, |
| - const PrefService::Preference& ac_idle_delay_ms_pref, |
| - const PrefService::Preference& battery_screen_dim_delay_ms_pref, |
| - const PrefService::Preference& battery_screen_off_delay_ms_pref, |
| - const PrefService::Preference& battery_screen_lock_delay_ms_pref, |
| - const PrefService::Preference& battery_idle_warning_delay_ms_pref, |
| - const PrefService::Preference& battery_idle_delay_ms_pref, |
| - const PrefService::Preference& idle_action_pref, |
| - const PrefService::Preference& lid_closed_action_pref, |
| - const PrefService::Preference& use_audio_activity_pref, |
| - const PrefService::Preference& use_video_activity_pref, |
| - const PrefService::Preference& presentation_idle_delay_factor_pref); |
| + // Updates |prefs_policy_| with |values| and sends an updated policy. |
| + void ApplyPrefs(const PrefValues& values); |
| // Registers a request to temporarily prevent the screen from getting |
| // dimmed or turned off or the system from suspending in response to user |
| - // inactivity. Returns a unique ID that can be passed to RemoveBlock() |
| - // later. |
| + // inactivity and sends an updated policy. Returns a unique ID that can |
| + // be passed to RemoveBlock() later. |
| int AddScreenBlock(const std::string& reason); |
| int AddSuspendBlock(const std::string& reason); |
| // Unregisters a request previously created via AddScreenBlock() or |
| - // AddSuspendBlock(). |
| + // AddSuspendBlock() and sends an updated policy. |
| void RemoveBlock(int id); |
| // DBusThreadManagerObserver implementation: |
| @@ -86,11 +107,10 @@ class CHROMEOS_EXPORT PowerPolicyController |
| DBusThreadManager* manager_; // not owned |
| PowerManagerClient* client_; // not owned |
| - // Policy specified by the prefs that were last passed to |
| - // UpdatePolicyFromPrefs(). |
| + // Policy derived from values passed to ApplyPrefs(). |
| power_manager::PowerManagementPolicy prefs_policy_; |
| - // Are one or more fields set in |prefs_policy_|? |
| + // Was ApplyPrefs() called? |
| bool prefs_were_set_; |
| // Maps from an ID representing a request to prevent the screen from |