Index: chrome/browser/chromeos/policy/server_backed_device_state.cc |
diff --git a/chrome/browser/chromeos/policy/server_backed_device_state.cc b/chrome/browser/chromeos/policy/server_backed_device_state.cc |
index 6f76d7fb2d2bebdb1822f30e1bdb235684e24db3..d64a9bad183f905c71f0820cca9a593f2b2ecf0c 100644 |
--- a/chrome/browser/chromeos/policy/server_backed_device_state.cc |
+++ b/chrome/browser/chromeos/policy/server_backed_device_state.cc |
@@ -4,16 +4,43 @@ |
#include "chrome/browser/chromeos/policy/server_backed_device_state.h" |
+#include <string> |
+ |
+#include "base/logging.h" |
+#include "base/prefs/pref_service.h" |
+#include "base/values.h" |
+#include "chrome/browser/browser_process.h" |
+#include "chrome/browser/browser_process_platform_part.h" |
+#include "chrome/common/pref_names.h" |
+ |
namespace policy { |
const char kDeviceStateManagementDomain[] = "management_domain"; |
const char kDeviceStateRestoreMode[] = "device_mode"; |
-const char kDeviceStateDisabled[] = "disabled"; |
const char kDeviceStateDisabledMessage[] = "disabled_message"; |
const char kDeviceStateRestoreModeReEnrollmentRequested[] = |
"re-enrollment-requested"; |
const char kDeviceStateRestoreModeReEnrollmentEnforced[] = |
"re-enrollment-enforced"; |
+const char kDeviceStateRestoreModeDisabled[] = "disabled"; |
+ |
+RestoreMode GetRestoreMode() { |
+ std::string restore_mode; |
+ g_browser_process->local_state()->GetDictionary( |
+ prefs::kServerBackedDeviceState)->GetString(kDeviceStateRestoreMode, |
+ &restore_mode); |
+ if (restore_mode.empty()) |
+ return RESTORE_MODE_NONE; |
+ if (restore_mode == kDeviceStateRestoreModeReEnrollmentRequested) |
+ return RESTORE_MODE_REENROLLMENT_REQUESTED; |
+ if (restore_mode == kDeviceStateRestoreModeReEnrollmentEnforced) |
+ return RESTORE_MODE_REENROLLMENT_ENFORCED; |
+ if (restore_mode == kDeviceStateRestoreModeDisabled) |
+ return RESTORE_MODE_DISABLED; |
+ |
+ NOTREACHED(); |
+ return RESTORE_MODE_NONE; |
+} |
} // namespace policy |