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

Unified Diff: chromeos/dbus/power_policy_controller.h

Issue 14134004: chromeos: Move default power management policy into Chrome. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: apply review feedback Created 7 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/chromeos/preferences.cc ('k') | chromeos/dbus/power_policy_controller.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..fedf26fc2bfd06be29a8e785e9b6fd3f33683b72 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,47 @@ class CHROMEOS_EXPORT PowerPolicyController
ACTION_DO_NOTHING = 3,
};
+ // Values of various power-management-related preferences.
+ struct PrefValues {
+ PrefValues();
+
+ 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;
+ };
+
+ // Returns a string describing |policy|. Useful for tests.
+ static std::string GetPolicyDebugString(
+ const power_manager::PowerManagementPolicy& policy);
+
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 +95,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
« no previous file with comments | « chrome/browser/chromeos/preferences.cc ('k') | chromeos/dbus/power_policy_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698